diff --git a/previews/PR609/2014/css/juliacon.css b/previews/PR609/2014/css/juliacon.css new file mode 100644 index 000000000..feed9991c --- /dev/null +++ b/previews/PR609/2014/css/juliacon.css @@ -0,0 +1,536 @@ +/************************************************* + +JuliaCon 2014 +Author: PJ Macklin +pjmacklin.com + +*************************************************/ +/*------------------------------------ +Variables +-------------------------------------*/ +a { + -webkit-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + -moz-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + -ms-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + -o-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); } + +@keyframes flying { + 0% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + + 25% { + -webkit-transform: translate3d(0, 10px, 0); + -moz-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + -o-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -moz-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + -o-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } + +@-webkit-keyframes flying { + 0% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + + 25% { + -webkit-transform: translate3d(0, 10px, 0); + -moz-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + -o-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -moz-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + -o-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } + +@-moz-keyframes flying { + 0% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + + 25% { + -webkit-transform: translate3d(0, 10px, 0); + -moz-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + -o-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -moz-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + -o-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } + +@keyframes cloudpass { + 0% { + right: -20%; } + + 100% { + right: 100%; } } + +@-webkit-keyframes cloudpass { + 0% { + right: -20%; } + + 100% { + right: 100%; } } + +@-moz-keyframes cloudpass { + 0% { + right: -20%; } + + 100% { + right: 100%; } } + +@keyframes wavebob { + 0% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } + + 25% { + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -ms-transform: translateY(10px); + -o-transform: translateY(10px); + transform: translateY(10px); } + + 75% { + -webkit-transform: translateY(-10px); + -moz-transform: translateY(-10px); + -ms-transform: translateY(-10px); + -o-transform: translateY(-10px); + transform: translateY(-10px); } + + 100% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } } + +@-webkit-keyframes wavebob { + 0% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } + + 25% { + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -ms-transform: translateY(10px); + -o-transform: translateY(10px); + transform: translateY(10px); } + + 75% { + -webkit-transform: translateY(-10px); + -moz-transform: translateY(-10px); + -ms-transform: translateY(-10px); + -o-transform: translateY(-10px); + transform: translateY(-10px); } + + 100% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } } + +@-moz-keyframes wavebob { + 0% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } + + 25% { + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -ms-transform: translateY(10px); + -o-transform: translateY(10px); + transform: translateY(10px); } + + 75% { + -webkit-transform: translateY(-10px); + -moz-transform: translateY(-10px); + -ms-transform: translateY(-10px); + -o-transform: translateY(-10px); + transform: translateY(-10px); } + + 100% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } } + +/*------------------------------------ +Global styles +-------------------------------------*/ +* { + padding: 0; + margin: 0; + box-sizing: border-box; } + +body { + font: normal 1rem/1.5rem georgia, serif; } + +/*------------------------------------ +Typography +-------------------------------------*/ +h1, h2, h3, h4, h5, h6 { + font-family: "Helvetica Neue", helvetica, arial, sans-serif; + font-weight: 200; + margin-bottom: .5rem; } + +h1 { + font-size: 3rem; + line-height: 3.25rem; } + +h2 { + font-size: 2rem; + line-height: 2.25rem; } + +h3 { + font-size: 1.5rem; + line-height: 1.75rem; + margin-bottom: 1rem; } + +h4 { + font-size: 1.25rem; + line-height: 1.5rem; } + +h5 { + font-size: 1rem; } + +h6 { + font-size: .75rem; + line-height: 1rem; } + +p { + font-size: 1rem; + line-height: 1.5rem; + margin-bottom: 1rem; } + +.text-center { + text-align: center; } + +.border-header { + border-bottom: 1px solid #ddd; + margin-bottom: 3rem; } + .border-header span { + position: relative; + top: 1rem; + background: #fff; + padding: 1rem; } + +.button { + background: #6bab5b; + padding: .5rem 1rem; + border-radius: 4px; + color: #fff; + text-decoration: none; + box-shadow: 0 2px 0 #558c47; + display: inline-block; + margin: 1rem 0; } + .button:hover { + background: #89bc7d; } + .button:active { + box-shadow: none; + -webkit-transform: translateY(2px); + -moz-transform: translateY(2px); + -ms-transform: translateY(2px); + -o-transform: translateY(2px); + transform: translateY(2px); } + +/*------------------------------------ +Structural elements +-------------------------------------*/ +.container { + width: 40rem; + margin: 2rem auto 4rem; } + @media only screen and (max-width: 42rem) { + .container { + width: 90%; } } + +.clearfix { + clear: both; } + +.intro-container { + margin-top: 4rem; } + +#bottom-illustration { + -webkit-perspective: 300; + -moz-perspective: 300; + -ms-perspective: 300; + perspective: 300; + padding-top: 10rem; } + +.illo-container { + position: relative; + margin-bottom: 0; + -webkit-transform: translate3d(-300%, -300px, -100px); + -moz-transform: translate3d(-300%, -300px, -100px); + -ms-transform: translate3d(-300%, -300px, -100px); + -o-transform: translate3d(-300%, -300px, -100px); + transform: translate3d(-300%, -300px, -100px); + -webkit-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + -moz-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + -ms-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + -o-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + z-index: 20; } + .illo-container.enter-frame { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.round-avatar { + border-radius: 50%; + width: 8rem; + height: 8rem; + background: #6bab5b; + display: block; + margin: 1rem auto; } + +.map { + width: 100%; } + +.full-container { + position: relative; + width: 100%; + bottom: 0; + padding-top: 5rem; + overflow: hidden; + background-image: -webkit-radial-gradient(center bottom, circle cover, #bbd8f0 0%, white 70%); + /* New WebKit syntax */ + background-image: -moz-radial-gradient(center bottom, circle cover, #bbd8f0 0%, white 70%); + background-image: -ms-radial-gradient(center bottom, circle cover, #bbd8f0 0%, white 70%); + /* IE10+ */ + background-image: -o-radial-gradient(center bottom, circle cover, #bbd8f0 0%, white 70%); + /* Opera (13?) */ } + +.top-container, .middle-container { + height: 30rem; } + +.middle-container { + position: absolute; + width: 100%; + height: 100%; + bottom: 0; } + .middle-container .flag-container { + top: auto; + bottom: -5%; } + .middle-container .waving-flag { + -webkit-transform: scaleX(-1); + -moz-transform: scaleX(-1); + -ms-transform: scaleX(-1); + -o-transform: scaleX(-1); + transform: scaleX(-1); + top: auto; + bottom: 0; } + .middle-container .cloud-container .cloud1 { + top: 50%; } + .middle-container .cloud-container .cloud2 { + top: 30%; } + +.flying-viking { + -webkit-animation: flying 2s infinite linear; + -moz-animation: flying 2s infinite linear; + -ms-animation: flying 2s infinite linear; + -o-animation: flying 2s infinite linear; + animation: flying 2s infinite linear; + position: relative; + z-index: 20; } + +.viking-n-dragon { + width: 80%; + margin-left: 10%; } + +.bottom-flag { + position: absolute; + width: 38%; + right: 33.35%; + top: -45.75%; + -webkit-transform: rotate(-10deg); + -moz-transform: rotate(-10deg); + -ms-transform: rotate(-10deg); + -o-transform: rotate(-10deg); + transform: rotate(-10deg); } + +.cloud, .building { + position: absolute; + right: 100%; } + +.cloud-container.cloud-container1 { + position: relative; + z-index: 10; } +.cloud-container .cloud1, .cloud-container .cloud2 { + top: auto; } + +.cloud1 { + z-index: 100; + top: 50%; + -webkit-animation: cloudpass 6s infinite linear; + -moz-animation: cloudpass 6s infinite linear; + -ms-animation: cloudpass 6s infinite linear; + -o-animation: cloudpass 6s infinite linear; + animation: cloudpass 6s infinite linear; } + +.cloud2 { + z-index: 1; + top: 40%; + -webkit-animation: cloudpass 9s infinite linear; + -moz-animation: cloudpass 9s infinite linear; + -ms-animation: cloudpass 9s infinite linear; + -o-animation: cloudpass 9s infinite linear; + animation: cloudpass 9s infinite linear; } + +.building { + bottom: 0; + z-index: 20; } + +.building1 { + -webkit-animation: cloudpass 8s 2s infinite linear; + -moz-animation: cloudpass 8s 2s infinite linear; + -ms-animation: cloudpass 8s 2s infinite linear; + -o-animation: cloudpass 8s 2s infinite linear; + animation: cloudpass 8s 2s infinite linear; } + +.building2 { + -webkit-animation: cloudpass 7s 4s infinite linear; + -moz-animation: cloudpass 7s 4s infinite linear; + -ms-animation: cloudpass 7s 4s infinite linear; + -o-animation: cloudpass 7s 4s infinite linear; + animation: cloudpass 7s 4s infinite linear; } + +.building3 { + -webkit-animation: cloudpass 8s infinite linear; + -moz-animation: cloudpass 8s infinite linear; + -ms-animation: cloudpass 8s infinite linear; + -o-animation: cloudpass 8s infinite linear; + animation: cloudpass 8s infinite linear; } + +.building4 { + -webkit-animation: cloudpass 9s 3s infinite linear; + -moz-animation: cloudpass 9s 3s infinite linear; + -ms-animation: cloudpass 9s 3s infinite linear; + -o-animation: cloudpass 9s 3s infinite linear; + animation: cloudpass 9s 3s infinite linear; } + +.flag-container { + width: 400px; + top: 0; + margin: auto; + -webkit-perspective: 1000; + -moz-perspective: 1000; + -ms-perspective: 1000; + perspective: 1000; + z-index: 1; + position: relative; + height: 100%; + -webkit-animation: wavebob 1s linear infinite; + -moz-animation: wavebob 1s linear infinite; + -ms-animation: wavebob 1s linear infinite; + -o-animation: wavebob 1s linear infinite; + animation: wavebob 1s linear infinite; } + +.waving-flag { + width: 100%; + position: absolute; + bottom: 0; + -webkit-transform-origin: bottom center; + -moz-transform-origin: bottom center; + -ms-transform-origin: bottom center; + -o-transform-origin: bottom center; + transform-origin: bottom center; + -webkit-transform: rotate(-10deg); + -moz-transform: rotate(-10deg); + -ms-transform: rotate(-10deg); + -o-transform: rotate(-10deg); + transform: rotate(-10deg); } + +.toplayer { + position: relative; + z-index: 20; } + +.sponsor-placeholder { + width: 100%; + height: 50px; + background: #ddd; + display: block; } + +td { + padding-right: 10px; +} + +td.time { + width: 100px; +} + +/* table { table-layout: fixed; } */ + +/*------------------------------------ +Grid +-------------------------------------*/ +.row { + margin-left: -1rem; + margin-right: -1rem; } + +.column { + float: left; + margin: 0 1rem 3rem; } + +.half-column { + width: calc(50% - 2rem); } + +.quart-column { + width: calc(25% - 2rem); } diff --git a/previews/PR609/2014/images/building-3.png b/previews/PR609/2014/images/building-3.png new file mode 100644 index 000000000..0b1747e61 Binary files /dev/null and b/previews/PR609/2014/images/building-3.png differ diff --git a/previews/PR609/2014/images/building-4.png b/previews/PR609/2014/images/building-4.png new file mode 100644 index 000000000..3bdc94b75 Binary files /dev/null and b/previews/PR609/2014/images/building-4.png differ diff --git a/previews/PR609/2014/images/cloud-2.png b/previews/PR609/2014/images/cloud-2.png new file mode 100644 index 000000000..2aa0bd797 Binary files /dev/null and b/previews/PR609/2014/images/cloud-2.png differ diff --git a/previews/PR609/2014/images/cloud.png b/previews/PR609/2014/images/cloud.png new file mode 100644 index 000000000..b21a88230 Binary files /dev/null and b/previews/PR609/2014/images/cloud.png differ diff --git a/previews/PR609/2014/images/flag-bottom.gif b/previews/PR609/2014/images/flag-bottom.gif new file mode 100644 index 000000000..270cf49ff Binary files /dev/null and b/previews/PR609/2014/images/flag-bottom.gif differ diff --git a/previews/PR609/2014/images/hancock.png b/previews/PR609/2014/images/hancock.png new file mode 100644 index 000000000..51d9d938f Binary files /dev/null and b/previews/PR609/2014/images/hancock.png differ diff --git a/previews/PR609/2014/images/map-v2.png b/previews/PR609/2014/images/map-v2.png new file mode 100644 index 000000000..ca448c51c Binary files /dev/null and b/previews/PR609/2014/images/map-v2.png differ diff --git a/previews/PR609/2014/images/sears-tower.png b/previews/PR609/2014/images/sears-tower.png new file mode 100644 index 000000000..347c27e97 Binary files /dev/null and b/previews/PR609/2014/images/sears-tower.png differ diff --git a/previews/PR609/2014/images/sponsors/UofC_DCS_FINAL.png b/previews/PR609/2014/images/sponsors/UofC_DCS_FINAL.png new file mode 100644 index 000000000..58f93aa41 Binary files /dev/null and b/previews/PR609/2014/images/sponsors/UofC_DCS_FINAL.png differ diff --git a/previews/PR609/2014/images/sponsors/fblogo.jpg b/previews/PR609/2014/images/sponsors/fblogo.jpg new file mode 100644 index 000000000..bd57f675d Binary files /dev/null and b/previews/PR609/2014/images/sponsors/fblogo.jpg differ diff --git a/previews/PR609/2014/images/sponsors/forio.png b/previews/PR609/2014/images/sponsors/forio.png new file mode 100644 index 000000000..646cf458d Binary files /dev/null and b/previews/PR609/2014/images/sponsors/forio.png differ diff --git a/previews/PR609/2014/images/sponsors/intel.png b/previews/PR609/2014/images/sponsors/intel.png new file mode 100644 index 000000000..a30029bd4 Binary files /dev/null and b/previews/PR609/2014/images/sponsors/intel.png differ diff --git a/previews/PR609/2014/images/sponsors/juliacomputing.png b/previews/PR609/2014/images/sponsors/juliacomputing.png new file mode 100644 index 000000000..d947ff74b Binary files /dev/null and b/previews/PR609/2014/images/sponsors/juliacomputing.png differ diff --git a/previews/PR609/2014/images/sponsors/mandrill-cropped.png b/previews/PR609/2014/images/sponsors/mandrill-cropped.png new file mode 100644 index 000000000..5a4cbf24d Binary files /dev/null and b/previews/PR609/2014/images/sponsors/mandrill-cropped.png differ diff --git a/previews/PR609/2014/images/sponsors/smart-chicago-logo.png b/previews/PR609/2014/images/sponsors/smart-chicago-logo.png new file mode 100644 index 000000000..7bbb15f07 Binary files /dev/null and b/previews/PR609/2014/images/sponsors/smart-chicago-logo.png differ diff --git a/previews/PR609/2014/images/viking-illustration.png b/previews/PR609/2014/images/viking-illustration.png new file mode 100644 index 000000000..2e6091e71 Binary files /dev/null and b/previews/PR609/2014/images/viking-illustration.png differ diff --git a/previews/PR609/2014/images/waving-flag.gif b/previews/PR609/2014/images/waving-flag.gif new file mode 100644 index 000000000..07ab3101c Binary files /dev/null and b/previews/PR609/2014/images/waving-flag.gif differ diff --git a/previews/PR609/2014/index.html b/previews/PR609/2014/index.html new file mode 100644 index 000000000..9b5f6a92c --- /dev/null +++ b/previews/PR609/2014/index.html @@ -0,0 +1,319 @@ + + + + + + + JuliaCon 2014: June 26-27, Chicago, IL. + + + + + + + + + + + + + + +
+

JuliaCon

+ +
+ +
+
+ +
+
+ +
+
+
+

SAVE THE DATE: JuliaCon 2015 will be held at the MIT Stata Center during the dates of Wednesday, June 24 through Sunday, June 28. More details forthcoming.

+

Thank you for making the first-ever JuliaCon a smashing success! Recordings of the talks and discussion sessions are now up and linked to in the schedule below.

+

The first-ever Julia conference will take place June 26 and 27 (Thursday and Friday) at the University of Chicago Gleacher Center in Chicago, Illinois. Expect two days of cutting-edge technical talks, a chance to rub shoulders with Julia's creators, and a weekend in a city known for its beautiful lakefront and world-class architecture.

+
+
+

Schedule

+ +

Thursday, June 26th

+

+ + + + + + + + + +
8:00 AMspace opens, coffee and light breakfast
8:15 AMopening remarks
+

+

+

Scientific Applications Session
+ + + + + + + + + + + + + + + + + +
8:30 AMTim HolyImage Representation and Analysis
9:10 AMPontus StenetorpNatural Language Processing with Julia
9:50 AMbreak
10:20 AMbreakout session — speed vs. correctness (led by Arch Robison)
+

+

+

Optimization Session
+ + + + + + + + + +
11:10 AMIain Dunning / Joey HuchetteJuliaOpt - Optimization Packages for Julia
11:50 AMMadeleine UdellConvex Optimization in Julia
+

+

+ + + + + +
12:30 PMlunch
+

+

+

Statistics Session
+ + + + + + + + + + + + + + + + + + + + + +
2:00 PMDouglas BatesFitting Statistical Models with Julia
2:40 PMJohn Myles WhiteRepresenting Data in Julia
3:20 PMbreak
3:35 PMSimon ByrneDistributions.jl
4:15 PMDan WlasiukA Brief History of TimeSeries
+

+

+ + + + + +
4:25 PMbreak
+

+

+

Julia Deployment Session
+ + + + + + + + + +
4:40 PMReid AtchesonRapidly Iterating from Prototype to Near-C Performance in Julia: A Finite Element Method Case Study
5:20 PMAvik SenguptaMoving Julia into Production
+

+ +

Friday, June 27th

+ + + + + + +
8:00 AMspace opens, coffee and light breakfast
+ +

+

Core Julia Session
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
8:30 AMArch RobisonPractical Vectorization in Julia
9:10 AMJeff BezansonIntroduction to Julia Internals
9:50 AMJulia Core Team panel
10:20 AMbreak
10:40 AMLeah HansonTypeCheck: Static Analysis in Julia
11:20 AMKeno FischerThe design and implementation of the Julia Debugger
12:00 PMbreakout session — package ecosystem (led by Iain Dunning)
+

+

+ + + + + +
12:30 AMlunch
+

+

+

Graphics and Multimedia Session
+ + + + + + + + + + + + + + + + + + + + + + + + + +
2:00 PMYuri VishnevskyGenerative Art with Julia
2:10 PMMichael BeanPublishing Online Interactive Julia Models
2:50 PMDaniel C. JonesGadfly: native Julia plotting and visualization
3:30 PMbreak
3:50 PMSpencer RussellRealtime Audio in Julia with AudioIO.jl
4:30 PMbreakout session — graphics and visualization (led by Daniel C. Jones)
+

+
+
+
+ +
+
+ +
+
+
+

Call For Participation

+

JuliaCon will be a single-track conference consisting primarily of contributed talks. All users and developers of Julia are encouraged to attend and submit a talk proposal. If you're doing something interesting with the language — academic work, commercial product, open source project, whatever — we want to hear about it. Talk proposals should include a title, abstract, estimated duration, and brief speaker bio. We have a limited amount of travel funding available for those in need, please indicate on the talk submission form if you would like to be considered for a grant. Talk proposals are now closed. If you submitted a talk, expect to hear back from us soon.

+
+
+

Conference Location

+

The conference will take place at Gleacher Center, a state-of-the-art facility on the Chicago River in downtown Chicago. Gleacher Center is a short walk from Millennium Station, the Red Line, and the Loop. There are many hotels within walking distance, including the Embassy Suites, Sheraton Chicago, and Hyatt Regency.

+ +
+ +
+
+
+

Register for JuliaCon

+

Tickets are sold out. We hope to see you next year!

+

Please note that we are still releasing the last few tickets to those already on the waitlist.

+
+
+

June 28: Hyde Park Day

+

The day after the main event, hack@uchicago will host a (free) Julia Hack Day at the University of Chicago's main campus in Hyde Park. Hack Day is free but requires separate registration.

+
+ Register for Hack Day +
+
+
+

JuliaCon Sponsors

+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Contact

+

Please email us at juliacon2014@mit.edu with any questions or concerns.

+
+
+

Code of Conduct

+

All attendees, speakers, sponsors, and volunteers at our conference are required to agree with and follow the code of conduct. As this is a University of Chicago event, attendees should also respect the Policy on Unlawful Discrimination and Harassment.

+ +

JuliaCon is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, religion, or tabs vs spaces preference. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue.

+ +

Harassment includes offensive verbal comments, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Participants asked to stop any harassing behavior are expected to comply immediately.

+ +

If a participant engages in harassing behavior, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund. If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately. Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

+ +

We expect participants to follow these rules at all conference venues and conference-related social events.

+ +

If an incident occurs please contact Stefan Karpinski <stefan@karpinski.org> or Leah Hanson <astrieanna@gmail.com>.

+
+
+ + + + + + +
+
+ + +
+
+
+ + + + + + diff --git a/previews/PR609/2014/js/juliacon.js b/previews/PR609/2014/js/juliacon.js new file mode 100644 index 000000000..85f8d2ff3 --- /dev/null +++ b/previews/PR609/2014/js/juliacon.js @@ -0,0 +1,40 @@ +$(document).ready(function(){ + var midpoint = $('.middle-container').offset().top; + + $(window).on('scroll', function() { + $('.top-container .waving-flag').css({ + '-webkit-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + '-moz-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + '-o-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + '-ms-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + 'transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)' + }); + + $('.middle-container .waving-flag').css({ + '-webkit-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + '-moz-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + '-o-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + '-ms-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + 'transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)' + }); + + $('.fixed-container .cloud-container1').css({ + '-webkit-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + '-moz-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + '-o-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + '-ms-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + 'transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)' + }); + $('.fixed-container .cloud-container2').css({ + '-webkit-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + '-moz-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + '-o-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + '-ms-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + 'transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)' + }); + + if ($(window).scrollTop() >= ($('#bottom-illustration').offset().top) - $(window).height()/2) { + $('.illo-container').addClass('enter-frame'); + } + }); +}); diff --git a/previews/PR609/2015/csail-doors.png b/previews/PR609/2015/csail-doors.png new file mode 100644 index 000000000..145b6a2ef Binary files /dev/null and b/previews/PR609/2015/csail-doors.png differ diff --git a/previews/PR609/2015/css/juliacon.css b/previews/PR609/2015/css/juliacon.css new file mode 100644 index 000000000..71969c788 --- /dev/null +++ b/previews/PR609/2015/css/juliacon.css @@ -0,0 +1,566 @@ +/************************************************* + +JuliaCon 2014 +Author: PJ Macklin +pjmacklin.com + +*************************************************/ +/*------------------------------------ +Variables +-------------------------------------*/ +a { + -webkit-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + -moz-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + -ms-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + -o-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); } + +@keyframes flying { + 0% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + + 25% { + -webkit-transform: translate3d(0, 10px, 0); + -moz-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + -o-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -moz-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + -o-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } + +@-webkit-keyframes flying { + 0% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + + 25% { + -webkit-transform: translate3d(0, 10px, 0); + -moz-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + -o-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -moz-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + -o-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } + +@-moz-keyframes flying { + 0% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + + 25% { + -webkit-transform: translate3d(0, 10px, 0); + -moz-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + -o-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -moz-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + -o-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } + +@keyframes cloudpass { + 0% { + right: -20%; } + + 100% { + right: 100%; } } + +@-webkit-keyframes cloudpass { + 0% { + right: -20%; } + + 100% { + right: 100%; } } + +@-moz-keyframes cloudpass { + 0% { + right: -20%; } + + 100% { + right: 100%; } } + +@keyframes wavebob { + 0% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } + + 25% { + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -ms-transform: translateY(10px); + -o-transform: translateY(10px); + transform: translateY(10px); } + + 75% { + -webkit-transform: translateY(-10px); + -moz-transform: translateY(-10px); + -ms-transform: translateY(-10px); + -o-transform: translateY(-10px); + transform: translateY(-10px); } + + 100% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } } + +@-webkit-keyframes wavebob { + 0% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } + + 25% { + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -ms-transform: translateY(10px); + -o-transform: translateY(10px); + transform: translateY(10px); } + + 75% { + -webkit-transform: translateY(-10px); + -moz-transform: translateY(-10px); + -ms-transform: translateY(-10px); + -o-transform: translateY(-10px); + transform: translateY(-10px); } + + 100% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } } + +@-moz-keyframes wavebob { + 0% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } + + 25% { + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -ms-transform: translateY(10px); + -o-transform: translateY(10px); + transform: translateY(10px); } + + 75% { + -webkit-transform: translateY(-10px); + -moz-transform: translateY(-10px); + -ms-transform: translateY(-10px); + -o-transform: translateY(-10px); + transform: translateY(-10px); } + + 100% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } } + +/*------------------------------------ +Global styles +-------------------------------------*/ +* { + padding: 0; + margin: 0; + box-sizing: border-box; } + +body { + font: normal 1rem/1.5rem georgia, serif; } + +a:hover { + text-decoration: underline; +} +/*------------------------------------ +Typography +-------------------------------------*/ +h1, h2, h3, h4, h5, h6 { + font-family: "Helvetica Neue", helvetica, arial, sans-serif; + font-weight: 200; + margin-bottom: .5rem; } + +h1 { + font-size: 3rem; + line-height: 3.25rem; } + +h2 { + font-size: 2rem; + line-height: 2.25rem; } + +h3 { + font-size: 1.5rem; + line-height: 1.75rem; + margin-bottom: 1rem; } + +h4 { + font-size: 1.25rem; + line-height: 1.5rem; } + +h5 { + font-size: 1rem; } + +h6 { + font-size: .75rem; + line-height: 1rem; } + +p { + font-size: 1rem; + line-height: 1.5rem; + margin-bottom: 1rem; } + +.text-center { + text-align: center; } + +.border-header { + border-bottom: 1px solid #ddd; + margin-bottom: 3rem; } + .border-header span { + position: relative; + top: 1rem; + background: #fff; + padding: 1rem; } + +.button { + background: #6bab5b; + padding: .5rem 1rem; + border-radius: 4px; + color: #fff; + text-decoration: none; + box-shadow: 0 2px 0 #558c47; + display: inline-block; + margin: 1rem 0; } + .button:hover { + background: #89bc7d; } + .button:active { + box-shadow: none; + -webkit-transform: translateY(2px); + -moz-transform: translateY(2px); + -ms-transform: translateY(2px); + -o-transform: translateY(2px); + transform: translateY(2px); } + +.register-button { + display: block; + width: 20em; + margin-left: auto; + margin-right: auto; + text-align: center; + border: 10px solid #ddd; + box-shadow: none; +} + +.register-button span { + font-size: 2em; + height: 2em; + line-height: 100px; + margin-left: auto; + margin-right: auto; +} + +/*------------------------------------ +Structural elements +-------------------------------------*/ +.container { + width: 40rem; + margin: 2rem auto 4rem; } + @media only screen and (max-width: 42rem) { + .container { + width: 90%; } } + +.clearfix { + clear: both; } + +.intro-container { + margin-top: 4rem; } + +#bottom-illustration { + -webkit-perspective: 300; + -moz-perspective: 300; + -ms-perspective: 300; + perspective: 300; + padding-top: 10rem; } + +.illo-container { + position: relative; + margin-bottom: 0; + -webkit-transform: translate3d(-300%, -300px, -100px); + -moz-transform: translate3d(-300%, -300px, -100px); + -ms-transform: translate3d(-300%, -300px, -100px); + -o-transform: translate3d(-300%, -300px, -100px); + transform: translate3d(-300%, -300px, -100px); + -webkit-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + -moz-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + -ms-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + -o-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + z-index: 20; } + .illo-container.enter-frame { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.round-avatar { + border-radius: 50%; + width: 8rem; + height: 8rem; + background: #6bab5b; + display: block; + margin: 1rem auto; } + +.map { + width: 100%; } + +.full-container { + position: relative; + width: 100%; + bottom: 0; + padding-top: 5rem; + overflow: hidden; + background-image: -webkit-radial-gradient(center bottom, circle cover, #bbd8f0 0%, white 70%); + /* New WebKit syntax */ + background-image: -moz-radial-gradient(center bottom, circle cover, #bbd8f0 0%, white 70%); + background-image: -ms-radial-gradient(center bottom, circle cover, #bbd8f0 0%, white 70%); + /* IE10+ */ + background-image: -o-radial-gradient(center bottom, circle cover, #bbd8f0 0%, white 70%); + /* Opera (13?) */ } + +.top-container, .middle-container { + height: 30rem; } + +.middle-container { + position: absolute; + width: 100%; + height: 100%; + bottom: 0; } + .middle-container .flag-container { + top: auto; + bottom: -5%; } + .middle-container .waving-flag { + -webkit-transform: scaleX(-1); + -moz-transform: scaleX(-1); + -ms-transform: scaleX(-1); + -o-transform: scaleX(-1); + transform: scaleX(-1); + top: auto; + bottom: 0; } + .middle-container .cloud-container .cloud1 { + top: 50%; } + .middle-container .cloud-container .cloud2 { + top: 30%; } + +.flying-viking { + -webkit-animation: flying 2s infinite linear; + -moz-animation: flying 2s infinite linear; + -ms-animation: flying 2s infinite linear; + -o-animation: flying 2s infinite linear; + animation: flying 2s infinite linear; + position: relative; + z-index: 20; } + +.viking-n-dragon { + width: 80%; + margin-left: 10%; } + +.bottom-flag { + position: absolute; + width: 38%; + right: 33.35%; + top: -45.75%; + -webkit-transform: rotate(-10deg); + -moz-transform: rotate(-10deg); + -ms-transform: rotate(-10deg); + -o-transform: rotate(-10deg); + transform: rotate(-10deg); } + +.cloud, .building { + position: absolute; + right: 100%; } + +.cloud-container.cloud-container1 { + position: relative; + z-index: 10; } +.cloud-container .cloud1, .cloud-container .cloud2 { + top: auto; } + +.cloud1 { + z-index: 100; + top: 50%; + -webkit-animation: cloudpass 6s infinite linear; + -moz-animation: cloudpass 6s infinite linear; + -ms-animation: cloudpass 6s infinite linear; + -o-animation: cloudpass 6s infinite linear; + animation: cloudpass 6s infinite linear; } + +.cloud2 { + z-index: 1; + top: 40%; + -webkit-animation: cloudpass 9s infinite linear; + -moz-animation: cloudpass 9s infinite linear; + -ms-animation: cloudpass 9s infinite linear; + -o-animation: cloudpass 9s infinite linear; + animation: cloudpass 9s infinite linear; } + +.building { + bottom: 0; + z-index: 20; } + +.building1 { + -webkit-animation: cloudpass 8s 2s infinite linear; + -moz-animation: cloudpass 8s 2s infinite linear; + -ms-animation: cloudpass 8s 2s infinite linear; + -o-animation: cloudpass 8s 2s infinite linear; + animation: cloudpass 8s 2s infinite linear; } + +.building2 { + -webkit-animation: cloudpass 7s 4s infinite linear; + -moz-animation: cloudpass 7s 4s infinite linear; + -ms-animation: cloudpass 7s 4s infinite linear; + -o-animation: cloudpass 7s 4s infinite linear; + animation: cloudpass 7s 4s infinite linear; } + +.building3 { + -webkit-animation: cloudpass 8s infinite linear; + -moz-animation: cloudpass 8s infinite linear; + -ms-animation: cloudpass 8s infinite linear; + -o-animation: cloudpass 8s infinite linear; + animation: cloudpass 8s infinite linear; } + +.building4 { + -webkit-animation: cloudpass 9s 3s infinite linear; + -moz-animation: cloudpass 9s 3s infinite linear; + -ms-animation: cloudpass 9s 3s infinite linear; + -o-animation: cloudpass 9s 3s infinite linear; + animation: cloudpass 9s 3s infinite linear; } + +.flag-container { + width: 400px; + top: 0; + margin: auto; + -webkit-perspective: 1000; + -moz-perspective: 1000; + -ms-perspective: 1000; + perspective: 1000; + z-index: 1; + position: relative; + height: 100%; + -webkit-animation: wavebob 1s linear infinite; + -moz-animation: wavebob 1s linear infinite; + -ms-animation: wavebob 1s linear infinite; + -o-animation: wavebob 1s linear infinite; + animation: wavebob 1s linear infinite; } + +.waving-flag { + width: 100%; + position: absolute; + bottom: 0; + -webkit-transform-origin: bottom center; + -moz-transform-origin: bottom center; + -ms-transform-origin: bottom center; + -o-transform-origin: bottom center; + transform-origin: bottom center; + -webkit-transform: rotate(-10deg); + -moz-transform: rotate(-10deg); + -ms-transform: rotate(-10deg); + -o-transform: rotate(-10deg); + transform: rotate(-10deg); } + +.toplayer { + position: relative; + z-index: 20; } + +.sponsor-placeholder { + width: 100%; + height: 50px; + background: #ddd; + display: block; } + +td { + padding-right: 10px; +} + +td.time { + width: 100px; +} + +.schedule table { + white-space: nowrap; + margin-bottom: 20px; +} + +.schedule .track-title { + font-weight: bold; +} + +/* table { table-layout: fixed; } */ + +/*------------------------------------ +Grid +-------------------------------------*/ +.row { + margin-left: -1rem; + margin-right: -1rem; } + +.column { + float: left; + margin: 0 1rem 3rem; } + +.half-column { + width: calc(50% - 2rem); } + +.quart-column { + width: calc(25% - 2rem); } diff --git a/previews/PR609/2015/images/cloud-2.png b/previews/PR609/2015/images/cloud-2.png new file mode 100644 index 000000000..2aa0bd797 Binary files /dev/null and b/previews/PR609/2015/images/cloud-2.png differ diff --git a/previews/PR609/2015/images/cloud.png b/previews/PR609/2015/images/cloud.png new file mode 100644 index 000000000..b21a88230 Binary files /dev/null and b/previews/PR609/2015/images/cloud.png differ diff --git a/previews/PR609/2015/images/flag-bottom.gif b/previews/PR609/2015/images/flag-bottom.gif new file mode 100644 index 000000000..270cf49ff Binary files /dev/null and b/previews/PR609/2015/images/flag-bottom.gif differ diff --git a/previews/PR609/2015/images/juliacon2015_moss_v3.pdf b/previews/PR609/2015/images/juliacon2015_moss_v3.pdf new file mode 100644 index 000000000..9cb81a22c Binary files /dev/null and b/previews/PR609/2015/images/juliacon2015_moss_v3.pdf differ diff --git a/previews/PR609/2015/images/sponsors/ORM.jpg b/previews/PR609/2015/images/sponsors/ORM.jpg new file mode 100644 index 000000000..428075c8f Binary files /dev/null and b/previews/PR609/2015/images/sponsors/ORM.jpg differ diff --git a/previews/PR609/2015/images/sponsors/Voxel8_Orange.png b/previews/PR609/2015/images/sponsors/Voxel8_Orange.png new file mode 100644 index 000000000..fc6b86333 Binary files /dev/null and b/previews/PR609/2015/images/sponsors/Voxel8_Orange.png differ diff --git a/previews/PR609/2015/images/sponsors/blackrock.png b/previews/PR609/2015/images/sponsors/blackrock.png new file mode 100644 index 000000000..23bb55299 Binary files /dev/null and b/previews/PR609/2015/images/sponsors/blackrock.png differ diff --git a/previews/PR609/2015/images/sponsors/intel_rgb_3000.png b/previews/PR609/2015/images/sponsors/intel_rgb_3000.png new file mode 100644 index 000000000..c5cd1a57d Binary files /dev/null and b/previews/PR609/2015/images/sponsors/intel_rgb_3000.png differ diff --git a/previews/PR609/2015/images/sponsors/invenia.png b/previews/PR609/2015/images/sponsors/invenia.png new file mode 100644 index 000000000..68ea543a7 Binary files /dev/null and b/previews/PR609/2015/images/sponsors/invenia.png differ diff --git a/previews/PR609/2015/images/sponsors/jcl-logo.png b/previews/PR609/2015/images/sponsors/jcl-logo.png new file mode 100644 index 000000000..9834ede26 Binary files /dev/null and b/previews/PR609/2015/images/sponsors/jcl-logo.png differ diff --git a/previews/PR609/2015/images/sponsors/moore.png b/previews/PR609/2015/images/sponsors/moore.png new file mode 100644 index 000000000..dd41afaf7 Binary files /dev/null and b/previews/PR609/2015/images/sponsors/moore.png differ diff --git a/previews/PR609/2015/images/viking-illustration.png b/previews/PR609/2015/images/viking-illustration.png new file mode 100644 index 000000000..2e6091e71 Binary files /dev/null and b/previews/PR609/2015/images/viking-illustration.png differ diff --git a/previews/PR609/2015/images/waving-flag.gif b/previews/PR609/2015/images/waving-flag.gif new file mode 100644 index 000000000..07ab3101c Binary files /dev/null and b/previews/PR609/2015/images/waving-flag.gif differ diff --git a/previews/PR609/2015/index-2.html b/previews/PR609/2015/index-2.html new file mode 100644 index 000000000..4af7256c6 --- /dev/null +++ b/previews/PR609/2015/index-2.html @@ -0,0 +1,409 @@ + + + + + + + JuliaCon 2015: Boston, MA. + + + + + + + + + + + + + + + +
+

JuliaCon

+ +
+ +
+
+ +
+
+ +
+
+ + +
+ +

+ JuliaCon 2015 was a huge success with a packed schedule. +

+ + +

Register now!
+

Special hotel pricing available - learn more

+

+ The second Julia conference will + take place June 24th-27th, 2015 (Wednesday-Saturday) at the + Massachusetts Institute of Technology in Cambridge, Massachusetts. Expect + cutting-edge technical talks, hands-on workshops, a chance to rub + shoulders with Julia's creators, and a weekend in a city known for its + historical significance and colonial architecture. + Purchase tickets here. +

+

+

+

+ +

Not sure what to expect? Have a look at JuliaCon 2014's program and videos.

+ +
+ + +
+

Schedule

+
+

The conference will be held in the Ray and Maria Stata Center. + The registration table, where name badges should be collected, will be located + outside room 32-123 on the ground floor. Sessions are held in either 32-123, 32-141, or 32-144. + Click the dates to see talk abstracts and speaker biographies.

+ +

The doors along Vassar Street will be unlocked on Saturday

. + + + +

+ The registration table, where name badges should be collected, will be located + outside room 32-123 on the ground floor. Sessions are held in either 32-123, 32-141, or 32-144. + Click the dates to see talk abstracts and speaker biographies.

+
+

Wednesday, June 24

+
Hackathon and Intro Workshop (Room 32-144)
+ + + + + + + + +
08:00 Registration, coffee and light breakfast
08:30 Hackathon Begins
11:30 JSoC participants Lightning talks about JSoC 2015 projects
01:00
01:30 - 04:30
David P. Sanders Workshop: Invitation to Julia for scientific computing (video) (Room 32-123)
03:00 Break
06:30 Hackathon Ends
+
Dinner for speakers and organizers (7pm, RSVP)
+
+

Thursday, June 25

+ + + + +
08:15 Coffee and light breakfast
08:45 Opening Remarks
08:55 Gordon and Betty Moore Foundation
+
Scientific Applications I (Room 32-123) (Chair: Jiahao Chen)
+ + + + + + + + + +
09:00 Kyle Barbary JuliaAstro (video)
09:10 Daniel C. Jones BioJulia: A modern bioinformatics framework (video)
09:50 Spencer Lyon Methods, Models, and Moments: Julian Economics with QuantEcon.jl (video)
10:30 Break (30 Minutes)
11:00 Katharine Hyatt Quantum Statistical Simulations with Julia (video)
11:40 David Beach Introducing Julia into a Python/C++ Scientific Computing Environment (video)
11:50 Art Diky Climate classification and clustering with Julia (video)
12:00 BlackRock, Inc.  
+ + +
12:05 Lunch
+
Parallel session I: Visualization and Interactivity (Room 32-123) (Chair: Avik Sengupta)
+ + + + + + + + + + +
01:30 Simon Danisch Hypersignals, a bold vision for interactive Data Visualization (video)
02:10 Jack Minardi 3D Printing with Julia: Presenting "Euclid", a new high performance multimaterial slicer (video)
02:50 Josef Heinen GR.jl - Plotting for Julia based on GR (video)
03:00 Break (20 Minutes)
03:20 Mike Innes Building web-powered applications in Julia (video)
04:00 Zachary Yedidia SFML.jl -- A package for the Simple Fast Multimedia Library (video)
04:10 Shashi Gowda Escher.jl: A new way to make and deploy GUIs (video)
04:20 Viral B. Shah JuliaBox - Julia in your browser (video)
04:30 Sebastien Martin Taxi fleet simulation and visualization (video)
+
Parallel session II: Statistics (Room 32-141) (Chair: Douglas Bates)
+ + + + + + + +
01:30 Zenna Tavares Julia as a Probabilistic Programming Language
02:10 Chiyuan Zhang Mocha.jl - Deep Learning for Julia (video)
02:50 Simon Kornblith L1 regularized regression (video)
03:00 Break (20 Minutes)
03:20 Pontus Stenetorp Suitably Naming a Child with Multiple Nationalities using Julia (video)
04:00 John Myles White What needs to be done to move JuliaStats forward (video)
+ + +
04:40 Break
+
Ecosystem (Room 32-123) (Chair: Mike Innes)
+ + + + + + + + +
5:00 Tony Fong Lint.jl (video)
5:40 Tony Kelman How to support Windows: cross-platform installation and testing for Julia packages (video)
5:50 Isaiah Norton Automatic ccall wrapper generation with Clang.jl (video)
6:00 Iain Dunning Julia's Package Ecosystem: Past, Present, and Future (video)
6:10 Sorami Hisamoto What’s going on at JuliaTokyo? (video)
6:20 Leah Hanson Contributing to Julia (video)
6:30 Discussion: Contributing & Ecosystem
+ + +
07:00 Hang out with other Julians
+

Friday, June 26

+ + + +
08:15 Coffee and light breakfast
08:55 Julia Computing
+
Julia Internals (Room 32-123) (Chair: Isaiah Norton)
+ + + + + + + + + +
09:00 Jeff Bezanson The base language: future directions and speculations (video)
09:40 Jake Bolewski Staged Programming in Julia (video)
10:20 Westley Hennigh Who optimizes the optimizers? Can genetic algorithms help us to
+ optimize the layout of LLVM IR passes used to compile Julia code? (video)
10:30 Break (30 Minutes)
11:00 Keno Fischer Shaving the Yak: Why Julia now has one of the best C++ FFIs and what to do with it (video)
11:40 Mauro Werder Traits.jl, interfaces for Julia (video)
11:50 Jacob Quinn What Happens When: From Parse-Time to Compile-Time (video)
12:00 Douglas Bates Mixing it up: Adventures with statistical models and sparse matrices (video)
+ + +
12:10 Group photo and Lunch
+
Parallel session I: Numerical Computing (Room 32-123) (Chair: Katharine Hyatt)
+ + + + + + + + +
01:30 Jack Poulson Distributed-memory "direct" linear algebra and optimization (video)
02:10 Zhang Xianyi Introduction to OpenBLAS and BLIS (video)
02:50 Break (20 Minutes)
03:10 Viral B. Shah The present and future of sparse matrices in Julia. (video)
03:50 David P. Sanders Validated numerics in Julia (video)
04:00 Luis Benet Taylor series expansions in julia (video)
04:10 Hongbo Rong, Jongsoo Park Sparse Accelerator
+
Parallel session II: Scientific Applications II (Room 32-141) (Chair: Spencer Lyon)
+ + + + + + + + +
01:30 Robert Moss Using Julia as a Specification Language for the Next-Generation
Airborne Collision Avoidance System (slides) (video)
02:10 Lars Ruthotto
Eldad Haber
Distributed Algorithms for Full-Waveform-Inversion (FWI) (video)
02:50 Break (20 Minutes)
03:10 Iain Dunning JuliaOpt: Optimization-related projects in Julia (video)
03:50 Yee Sian Ng JuliaGeo: Working with Geospatial data in Julia
04:00 Blake Johnson Quickly building simulations of quantum systems (video)
04:10 Kevin Damazyn and Mark Tabor SLU-TMI - TextMining.jl (video)
+ + +
04:20 Break
+
Data (Room 32-123) (Chair: John Myles White)
+ + + + + + + +
04:40 Simon Kornblith JLD: Saving Julia objects to the disk in HDF5 format (video)
05:20 Avik Sengupta Serving up : A practical guide to exposing Julia APIs on the web (video)
05:30 Tanmay Mohapatra ProtoBuf.jl - + Interfacing Julia with Complex systems using Protocol Buffers (video)
05:40 Bob Carpenter Stan.jl: Statistical Modeling and Inference Made Easy (video)
05:50 Eric Davies Towards A Consistent Database Interface (video)
06:00 Discussion: Databases and Interchange
+
Parallel Computing (Room 32-141) (Chair: Viral Shah)
+ + + + + +
04:30 Amit Murthy Cluster Managers and Parallel Julia (video)
05:10 Kiran Pamnany
Ranjan Anantharaman
Multi-threading Julia (video)
05:50 Patrick Sanan Using Julia on a Cray Supercomputer (video)
06:00 Julia Yang Distilling RUM with Julia (video)
+ + +
06:10 Break
+ + +
06:20 Closing Remarks
+

Saturday, June 27

+
+ Workshops +
+ + + +
09:00-11:30
08:30-11:30
+ Iain Dunning, + Joey Huchette,
+ Miles Lubin, + Madeleine Udell
Solving optimization problems with JuliaOpt (video) (Rm. 32-123)
09:00-11:30 Avik Sengupta Julia and the world: How to work with
C/C++/Java/Python/Ruby from Julia (video) (Rm. 32-141)
+ + +
11:30-1:00 Lunch
+ + + + + + +
01:00-04:00 Arch D. Robison Introduction to Writing High Performance Julia (video) (Rm. 32-123)
01:00-02:30 Randy Zwitch Everyday Analytics and Visualization (video) (Rm. 32-141)
02:45-04:15 Jacob Quinn Managing Data in Julia: Old Tricks, New Tricks (video) (Rm. 32-141)
04:30-06:30 Viral B. Shah Parallel computing with Julia (Rm. 32-123)
04:30-06:30 Shashi Gowda Making GUIs with Escher.jl (video) (Rm. 32-141)
+
+ +
+

Lunch

+

Food trucks can be found in Carleton St.:
+

+

See also MIT's Where to eat

+
+ +
+

Thanks to our sponsors

+

Platinum Sponsors

+ + + + + + + +
+ + + + + + + + + + + +
+ +

Silver Sponsors

+ + + + + + + +
+ + + + + + + + + + + +
+ +

Media Sponsors

+ + + + + +
+ + + +
+ +
+ + +
+ +

Accommodation

+

Our host hotel for JuliaCon is nearby:

+
+ Hyatt Regency Hotel
+ 575 Memorial Dr
+ Cambridge, MA 02139
+
+ +

The hotel is within walking distance from MIT. Complimentary shuttle service will also be available. Rooms are newly renovated and with free Internet access. The guest room rates are quoted exclusive of applicable state and local taxes (which are currently 14.45%), applicable service fees, and/or hotel-specific fees in effect at the time of the event.

+ +

Rooms are available from the Hyatt's website or by calling 888-421-1442. If you have problems booking a room please contact Caitlin Hanna and also please let us know.

+ +

The Hyatt Cambridge is sold out for Wednesday, June 24, but rooms are still available for Thursday through Saturday.

+ +

Looking to share a room?

+
+ +
+

Program Committee

+

The JuliaCon program committee is composed of entirely of volunteer organizers and can be reached at juliacon@julialang.org with any questions or comments.

+

Members

+ +
+ +
+

Sponsorship

+

+ There are three tiers of sponsorship available. +

+ + +
+

Code of Conduct

+

All attendees, speakers, sponsors, and volunteers at our conference are required to agree with and follow the code of conduct. As this is a MIT Event, attendees should also respect the Policy on Harassment.

+ +

JuliaCon is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, religion, or tabs vs spaces preference. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue.

+ +

Harassment includes offensive verbal comments, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Participants asked to stop any harassing behavior are expected to comply immediately.

+ +

If a participant engages in harassing behavior, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund. If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately. Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

+ +

We expect participants to follow these rules at all conference venues and conference-related social events.

+ +

If an incident occurs please contact Stefan Karpinski <stefan@karpinski.org> or Leah Hanson <astrieanna@gmail.com>.

+
+ + +
+ + +
+
+ + +
+
+
+ + + + diff --git a/previews/PR609/2015/index.html b/previews/PR609/2015/index.html new file mode 100644 index 000000000..167fdd62a --- /dev/null +++ b/previews/PR609/2015/index.html @@ -0,0 +1,409 @@ + + + + + + + JuliaCon 2015: Boston, MA. + + + + + + + + + + + + + + + +
+

JuliaCon

+ +
+ +
+
+ +
+
+ +
+
+ + +
+ +

+ JuliaCon 2015 was a huge success with a packed schedule. +

+ + +

Register now!
+

Special hotel pricing available - learn more

+

+ The second Julia conference will + take place June 24th-27th, 2015 (Wednesday-Saturday) at the + Massachusetts Institute of Technology in Cambridge, Massachusetts. Expect + cutting-edge technical talks, hands-on workshops, a chance to rub + shoulders with Julia's creators, and a weekend in a city known for its + historical significance and colonial architecture. + Purchase tickets here. +

+

+

+

+ +

Not sure what to expect? Have a look at JuliaCon 2014's program and videos.

+ +
+ + +
+

Schedule

+
+

The conference will be held in the Ray and Maria Stata Center. + The registration table, where name badges should be collected, will be located + outside room 32-123 on the ground floor. Sessions are held in either 32-123, 32-141, or 32-144. + Click the dates to see talk abstracts and speaker biographies.

+ +

The doors along Vassar Street will be unlocked on Saturday

. + + + +

+ The registration table, where name badges should be collected, will be located + outside room 32-123 on the ground floor. Sessions are held in either 32-123, 32-141, or 32-144. + Click the dates to see talk abstracts and speaker biographies.

+
+

Wednesday, June 24

+
Hackathon and Intro Workshop (Room 32-144)
+ + + + + + + + +
08:00 Registration, coffee and light breakfast
08:30 Hackathon Begins
11:30 JSoC participants Lightning talks about JSoC 2015 projects
01:00
01:30 - 04:30
David P. Sanders Workshop: Invitation to Julia for scientific computing (video) (Room 32-123)
03:00 Break
06:30 Hackathon Ends
+
Dinner for speakers and organizers (7pm, RSVP)
+
+

Thursday, June 25

+ + + + +
08:15 Coffee and light breakfast
08:45 Opening Remarks
08:55 Gordon and Betty Moore Foundation
+
Scientific Applications I (Room 32-123) (Chair: Jiahao Chen)
+ + + + + + + + + +
09:00 Kyle Barbary JuliaAstro (video)
09:10 Daniel C. Jones BioJulia: A modern bioinformatics framework (video)
09:50 Spencer Lyon Methods, Models, and Moments: Julian Economics with QuantEcon.jl (video)
10:30 Break (30 Minutes)
11:00 Katharine Hyatt Quantum Statistical Simulations with Julia (video)
11:40 David Beach Introducing Julia into a Python/C++ Scientific Computing Environment (video)
11:50 Art Diky Climate classification and clustering with Julia (video)
12:00 BlackRock, Inc.  
+ + +
12:05 Lunch
+
Parallel session I: Visualization and Interactivity (Room 32-123) (Chair: Avik Sengupta)
+ + + + + + + + + + +
01:30 Simon Danisch Hypersignals, a bold vision for interactive Data Visualization (video)
02:10 Jack Minardi 3D Printing with Julia: Presenting "Euclid", a new high performance multimaterial slicer (video)
02:50 Josef Heinen GR.jl - Plotting for Julia based on GR (video)
03:00 Break (20 Minutes)
03:20 Mike Innes Building web-powered applications in Julia (video)
04:00 Zachary Yedidia SFML.jl -- A package for the Simple Fast Multimedia Library (video)
04:10 Shashi Gowda Escher.jl: A new way to make and deploy GUIs (video)
04:20 Viral B. Shah JuliaBox - Julia in your browser (video)
04:30 Sebastien Martin Taxi fleet simulation and visualization (video)
+
Parallel session II: Statistics (Room 32-141) (Chair: Douglas Bates)
+ + + + + + + +
01:30 Zenna Tavares Julia as a Probabilistic Programming Language
02:10 Chiyuan Zhang Mocha.jl - Deep Learning for Julia (video)
02:50 Simon Kornblith L1 regularized regression (video)
03:00 Break (20 Minutes)
03:20 Pontus Stenetorp Suitably Naming a Child with Multiple Nationalities using Julia (video)
04:00 John Myles White What needs to be done to move JuliaStats forward (video)
+ + +
04:40 Break
+
Ecosystem (Room 32-123) (Chair: Mike Innes)
+ + + + + + + + +
5:00 Tony Fong Lint.jl (video)
5:40 Tony Kelman How to support Windows: cross-platform installation and testing for Julia packages (video)
5:50 Isaiah Norton Automatic ccall wrapper generation with Clang.jl (video)
6:00 Iain Dunning Julia's Package Ecosystem: Past, Present, and Future (video)
6:10 Sorami Hisamoto What’s going on at JuliaTokyo? (video)
6:20 Leah Hanson Contributing to Julia (video)
6:30 Discussion: Contributing & Ecosystem
+ + +
07:00 Hang out with other Julians
+

Friday, June 26

+ + + +
08:15 Coffee and light breakfast
08:55 Julia Computing
+
Julia Internals (Room 32-123) (Chair: Isaiah Norton)
+ + + + + + + + + +
09:00 Jeff Bezanson The base language: future directions and speculations (video)
09:40 Jake Bolewski Staged Programming in Julia (video)
10:20 Westley Hennigh Who optimizes the optimizers? Can genetic algorithms help us to
+ optimize the layout of LLVM IR passes used to compile Julia code? (video)
10:30 Break (30 Minutes)
11:00 Keno Fischer Shaving the Yak: Why Julia now has one of the best C++ FFIs and what to do with it (video)
11:40 Mauro Werder Traits.jl, interfaces for Julia (video)
11:50 Jacob Quinn What Happens When: From Parse-Time to Compile-Time (video)
12:00 Douglas Bates Mixing it up: Adventures with statistical models and sparse matrices (video)
+ + +
12:10 Group photo and Lunch
+
Parallel session I: Numerical Computing (Room 32-123) (Chair: Katharine Hyatt)
+ + + + + + + + +
01:30 Jack Poulson Distributed-memory "direct" linear algebra and optimization (video)
02:10 Zhang Xianyi Introduction to OpenBLAS and BLIS (video)
02:50 Break (20 Minutes)
03:10 Viral B. Shah The present and future of sparse matrices in Julia. (video)
03:50 David P. Sanders Validated numerics in Julia (video)
04:00 Luis Benet Taylor series expansions in julia (video)
04:10 Hongbo Rong, Jongsoo Park Sparse Accelerator
+
Parallel session II: Scientific Applications II (Room 32-141) (Chair: Spencer Lyon)
+ + + + + + + + +
01:30 Robert Moss Using Julia as a Specification Language for the Next-Generation
Airborne Collision Avoidance System (slides) (video)
02:10 Lars Ruthotto
Eldad Haber
Distributed Algorithms for Full-Waveform-Inversion (FWI) (video)
02:50 Break (20 Minutes)
03:10 Iain Dunning JuliaOpt: Optimization-related projects in Julia (video)
03:50 Yee Sian Ng JuliaGeo: Working with Geospatial data in Julia
04:00 Blake Johnson Quickly building simulations of quantum systems (video)
04:10 Kevin Damazyn and Mark Tabor SLU-TMI - TextMining.jl (video)
+ + +
04:20 Break
+
Data (Room 32-123) (Chair: John Myles White)
+ + + + + + + +
04:40 Simon Kornblith JLD: Saving Julia objects to the disk in HDF5 format (video)
05:20 Avik Sengupta Serving up : A practical guide to exposing Julia APIs on the web (video)
05:30 Tanmay Mohapatra ProtoBuf.jl - + Interfacing Julia with Complex systems using Protocol Buffers (video)
05:40 Bob Carpenter Stan.jl: Statistical Modeling and Inference Made Easy (video)
05:50 Eric Davies Towards A Consistent Database Interface (video)
06:00 Discussion: Databases and Interchange
+
Parallel Computing (Room 32-141) (Chair: Viral Shah)
+ + + + + +
04:30 Amit Murthy Cluster Managers and Parallel Julia (video)
05:10 Kiran Pamnany
Ranjan Anantharaman
Multi-threading Julia (video)
05:50 Patrick Sanan Using Julia on a Cray Supercomputer (video)
06:00 Julia Yang Distilling RUM with Julia (video)
+ + +
06:10 Break
+ + +
06:20 Closing Remarks
+

Saturday, June 27

+
+ Workshops +
+ + + +
09:00-11:30
08:30-11:30
+ Iain Dunning, + Joey Huchette,
+ Miles Lubin, + Madeleine Udell
Solving optimization problems with JuliaOpt (video) (Rm. 32-123)
09:00-11:30 Avik Sengupta Julia and the world: How to work with
C/C++/Java/Python/Ruby from Julia (video) (Rm. 32-141)
+ + +
11:30-1:00 Lunch
+ + + + + + +
01:00-04:00 Arch D. Robison Introduction to Writing High Performance Julia (video) (Rm. 32-123)
01:00-02:30 Randy Zwitch Everyday Analytics and Visualization (video) (Rm. 32-141)
02:45-04:15 Jacob Quinn Managing Data in Julia: Old Tricks, New Tricks (video) (Rm. 32-141)
04:30-06:30 Viral B. Shah Parallel computing with Julia (Rm. 32-123)
04:30-06:30 Shashi Gowda Making GUIs with Escher.jl (video) (Rm. 32-141)
+
+ +
+

Lunch

+

Food trucks can be found in Carleton St.:
+

+

See also MIT's Where to eat

+
+ +
+

Thanks to our sponsors

+

Platinum Sponsors

+ + + + + + + +
+ + + + + + + + + + + +
+ +

Silver Sponsors

+ + + + + + + +
+ + + + + + + + + + + +
+ +

Media Sponsors

+ + + + + +
+ + + +
+ +
+ + +
+ +

Accommodation

+

Our host hotel for JuliaCon is nearby:

+
+ Hyatt Regency Hotel
+ 575 Memorial Dr
+ Cambridge, MA 02139
+
+ +

The hotel is within walking distance from MIT. Complimentary shuttle service will also be available. Rooms are newly renovated and with free Internet access. The guest room rates are quoted exclusive of applicable state and local taxes (which are currently 14.45%), applicable service fees, and/or hotel-specific fees in effect at the time of the event.

+ +

Rooms are available from the Hyatt's website or by calling 888-421-1442. If you have problems booking a room please contact Caitlin Hanna and also please let us know.

+ +

The Hyatt Cambridge is sold out for Wednesday, June 24, but rooms are still available for Thursday through Saturday.

+ +

Looking to share a room?

+
+ +
+

Program Committee

+

The JuliaCon program committee is composed of entirely of volunteer organizers and can be reached at juliacon@julialang.org with any questions or comments.

+

Members

+ +
+ +
+

Sponsorship

+

+ There are three tiers of sponsorship available. +

+ + +
+

Code of Conduct

+

All attendees, speakers, sponsors, and volunteers at our conference are required to agree with and follow the code of conduct. As this is a MIT Event, attendees should also respect the Policy on Harassment.

+ +

JuliaCon is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, religion, or tabs vs spaces preference. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue.

+ +

Harassment includes offensive verbal comments, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Participants asked to stop any harassing behavior are expected to comply immediately.

+ +

If a participant engages in harassing behavior, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund. If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately. Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

+ +

We expect participants to follow these rules at all conference venues and conference-related social events.

+ +

If an incident occurs please contact Stefan Karpinski <stefan@karpinski.org> or Leah Hanson <astrieanna@gmail.com>.

+
+ + +
+ + +
+
+ + +
+
+
+ + + + diff --git a/previews/PR609/2015/js/juliacon.js b/previews/PR609/2015/js/juliacon.js new file mode 100644 index 000000000..85f8d2ff3 --- /dev/null +++ b/previews/PR609/2015/js/juliacon.js @@ -0,0 +1,40 @@ +$(document).ready(function(){ + var midpoint = $('.middle-container').offset().top; + + $(window).on('scroll', function() { + $('.top-container .waving-flag').css({ + '-webkit-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + '-moz-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + '-o-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + '-ms-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + 'transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)' + }); + + $('.middle-container .waving-flag').css({ + '-webkit-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + '-moz-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + '-o-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + '-ms-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + 'transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)' + }); + + $('.fixed-container .cloud-container1').css({ + '-webkit-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + '-moz-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + '-o-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + '-ms-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + 'transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)' + }); + $('.fixed-container .cloud-container2').css({ + '-webkit-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + '-moz-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + '-o-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + '-ms-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + 'transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)' + }); + + if ($(window).scrollTop() >= ($('#bottom-illustration').offset().top) - $(window).height()/2) { + $('.illo-container').addClass('enter-frame'); + } + }); +}); diff --git a/previews/PR609/2015/talks.html b/previews/PR609/2015/talks.html new file mode 100644 index 000000000..4168e0c98 --- /dev/null +++ b/previews/PR609/2015/talks.html @@ -0,0 +1,706 @@ + + + + + + + JuliaCon 2015: Boston, MA. + + + + + + + + + + + + + + + + +
+

JuliaCon 2015

+

Talks

+
+
+ See main page for schedule details. +
+ +

Thursday

+ +
+

BioJulia: A modern bioinformatics framework +

+

Daniel C. Jones

+

The past decade, DNA sequencing has become dramatically cheaper, faster, and more accurate. Though a revolution for molecular biology research, the increased emphasis on deep sequencing has made bioinformatics software development increasingly inaccessible to non-expert programmers. While Perl, Python, and its ilk were ideal tools ten years ago, the avalanche of data has necessitated a new generation of highly specific standalone C/C++ tools that, while efficient, lack composability and create a high barrier to entry for contributors and reviewers.

+ +

With BioJulia we have begun building a Julia framework for computational biology research that is competitive in performance with C/C++ tools while retaining the accessibility and freedom afforded by traditional high-level languages. With a rigorous testing and code review regime, we have emphasized correctness along with speed, laying the groundwork for a vibrant ecosystem of open bioinformatics software.

+

+ +

Bio: A graduate student at the University of Washington and author of several Julia packages, most notably Gadfly.

+ +
+ +
+

Methods, Models, and Moments: Julian Economics

+

Spencer Lyon

+

There was a time when economics focused on elegant models of frictionless worlds, but it’s now well understood that in order for economic models to replicate real world data series they must include many frictions. The field of economics is in the process of moving from a pen and paper science to a highly computationally intensive science. In short, economists are a huge academic community moving into the computational sphere and starting to explore the new generation of programming tools. As such, now is a very promising time for interaction between the Julia and economics communities.

+ +

The goal of this talk is to introduce Julia users to some of the distinguishing features of computational economics. Among these are dynamic stochastic optimization, statistical inference and data analysis, and stochastic simulation. We will explore the QuantEcon.jl package and how Julia’s expressive type system and advanced compiler make Julia an excellent language for economists.

+

+ +

Bio: Spencer Lyon is a 2nd year PhD student at NYU studying economics. He has a background in physics. Spencer’s research interests are broadly contained in the subfield of macro-economics, with particular emphasis on asset pricing and international modeling. Spencer is a devoted open source hacker who hails from the Python world. He is the main author of the QuantEcon.jl package and one of the core members of the quant-econ team.

+ +
+ +
+

JuliaAstro

+

Kyle Barbary

+

I will discuss the state of Julia astronomy packages and the small but growing JuliaAstro organization. In the larger astronomy community, many have been moving towards Python over the last decade and this transition is still underway. I will give some perspective on the prospects for the adoption of Julia in astronomy.

+

+ +

Bio: I am a Cosmology Data Science Fellow at UC Berkeley and the Berkeley Institute for Data Science. I manage several JuliaAstro packages and wrote the Dierckx.jl wrapper for 1-d and 2-d splines.

+ +
+ +
+

Quantum Statistical Simulations with Julia

+

Katharine Hyatt

+

Using high-performance computing to probe quantum systems is becoming more and more common in condensed matter physics research. Many of the commonly used languages and techniques in this space are either difficult to learn or not performant. Julia has allowed us to quickly develop and test codes for a variety of commonly used algorithms, including exact diagonalization, DMRG, and quantum Monte Carlo. Its parallel features, including MPI and GPGPU integration, make it particularly attractive for many quantum simulations. I’ll discuss what features of Julia have been most useful for us when working on these simulations and the developments we’re most excited about.

+

+ +
+ +
+

Introducing Julia into a Python/C++ Scientific Computing Environment

+

David Beach

+

Numerica’s Space Situational Awareness (SSA) team develops advanced software for tracking satellites. Most of our software is written in Python, C++, or a hybrid of these. We have become accustomed to making trade-offs between ease of development and performance. In this talk, I will highlight some reasons why Julia could be a game-changer for us, with examples involving problems related to satellite tracking.

+

+ +

Bio: David Beach has over 15 years of experience developing scientific software, primarily in the finance and defense sectors, and currently designs simulation and target tracking software for the SSA team at Numerica. Over the past year, he's started using Julia for some small projects, and is turning into a staunch advocate.

+ +
+ +
+

Climate classification and clustering with Julia

+

Art Diky

+

We investigate an objective approach to classifying world climate. We compare linear manifold and K-means clustering methods to derive a classification of climate types using long-term monthly climate data sets. Climate clusters are compared to the Köppen-Geiger climate classification system and analyzed where climate class boundaries change.
+Julia language was a main tool used to perform climate data analysis, clustering and reporting. We used Julia to implement the linear manifold (LM) clustering algorithm, LMCLUS.jl, which performs a stochastic search to determine a best location of a bounded LM surrounded by a cluster. Julia provided an outstanding matrix multiplication performance and a parallel computation paradigm which we used in search of a best cluster subspace, along with computationally intensive sensitivity and validation analysis of the clustering results. In our research, we used NetCDF.jl for a data management, Clustering.jl for other clustering methods, Gadfly.jl and RCall.jl for visualizations.
+This is a joint work of NASA Goddard Institute for Space Studies (GISS) and Graduate Center City University manifoldof New York.

+

+ +

Bio: I am a PhD student in Computer Science at City University of New York (CUNY). My research interests are in the areas of machine learning, in particular unsupervised learning and pattern recognition, distributed computation and reinforcement learning. I am vivid Julia enthusiast. I wrote several Julia packages, including ManifoldLearning.jl and Evolutionary.jl, and contributed in testing and error fixing to many other packages.

+ +
+ +
+

Hypersignals, a bold vision for interactive Data Visualization

+

Simon Danisch

+

How can Julia + LLVM + Vulkan(OpenGL 5.0) completely change how we program and interact with data?
+This is a talk about how a signal based event system can implement bold visions like visual debugging of large data sets, or interactive data visualization like envisioned by Bret Victor.
+I will introduce the problems that arise from interactive, high performance visualizations and how they can be solved with state of the art technology.

+

+ +

Bio: I develop infrastructure for Julia's 3D Graphic stack, which I want to utilize for interactive, visual programming. + +I've created the following packages for that purpose: +Romeo, +GLPlot, +GLAbstraction, +GLDraw, +GLText, +GLWindow, +ModernGL, +FixedSizeArrays

+ +
+ +
+

3D Printing with Julia: Presenting "Euclid", a new high performance multimaterial slicer

+

Jack Minardi

+

Euclid is a high performance multimaterial slicer written in Julia. At Voxel8 we have developed the first multimaterial 3D printer capable of producing fully functional electronics, and we needed a new slicer to drive it. Julia is used in production at Voxel8 to convert 3D models into a toolpath the printer executes to build up the model in a process known as “slicing”. Euclid is a command line application at its core, but we have put it in a Docker container and written a RESTful front-end to interact with it.

+ +

This talk will cover our experiences using Julia in production, using Cxx.jl to interface with C++ libraries, as well as some more general 3D printing concepts like:

+ + +

+ +

Bio: Jack Minardi is Co-Founder at Voxel8, where he leads the software team. Voxel8 has created the world’s first multi-material 3D printer for fabricating embedded electronics and other novel devices. Prior to working at Voxel8 Jack was a researcher in the Lewis Lab at Harvard University where he developed software for 3D printing. Jack earned a B.S. in electrical engineering from Vanderbilt University.

+ +
+ +
+

GR.jl - Plotting for Julia based on GR

+

Josef Heinen

+

Julia is an accepted high-level scripting language for scientific computing and visualization, not least because of the proliferation of libraries such as Gadfly and PyPlot. However, when processing large amounts of data, in particular in combination with three-dimensional plotting (OpenGL), the existing graphics packages are too application-specific or seem to be reaching their limits. In particular, large amounts of data or the visualization of three-dimensional scenes may overwhelm the system.

+ +

This presentation shows how visualization applications with special performance requirements can be designed on the basis of GR, a high-performance visualization library for Linux, OS X and Windows. The lecture also introduces a new graphics backend for PyPlot based on the GR framework. By combining the power of those libraries the responsiveness of animated visualization applications and their resulting frame rates can be improved significantly. This in turn allows the use of PyPlot in real-time environments, for example in the area of signal processing.

+ +

Using concrete examples, the presentation will demonstrate the benefits of the GR framework for high-performance graphics or as a companion module for PyPlot. Based on selected applications, the suitability of the GR framework will be highlighted especially in environments where time is critical. The system’s performance capabilities will be illustrated using demanding live applications. In addition, the special abilities of the GR framework are emphasized in terms of interoperability with OpenGL, which opens up new possibilities for existing applications.

+

+ +

Bio: Josef Heinen is the head of the group "Scientific IT-Systems" at the Peter Grünberg Institute / Jülich Centre for Neutron Science, both institutes at Forschungszentrum Jülich, a leading research centre in Germany. The design and development of visualization systems have been an essential part of his activities over the last twenty years. He is involved in several Open Source projects like GLI or GKS. Most recently his team is engaged with the further development of a universal framework for cross-platform visualization applications (GR Framework).

+ +
+ +
+

Building web-powered applications in Julia

+

Mike Innes

+

I’ll talk about a path less traveled by most Julia developers: making desktop and web applications. Using the nascent Blink.jl library, I’ll demonstrate just what it’s capable of via some of the graphical developer tools I’ve been working on, and I’ll show you how quick and easy it is to make user-friendly interfaces for your own applications by building some live from scratch. Finally, we should get a chance to talk about the Julia tools we want to build next, taking advantage of this technology.

+

+ +

Bio: I'm a Physics student from the UK who mostly works on Julia when I should be studying. I have a few more-or-less useful projects but the most popular is Juno, a Julia environment I started work on as part as Google Summer of Code, and which now has thousands of users. Recently I've also worked on bringing a much-needed documentation system to Julia 0.4.

+ +
+ +
+

SFML.jl -- A package for the Simple Fast Multimedia Library

+

Zachary Yedidia

+

The SFML library is often used for game development by small companies or hobbyists, but it can also be used to create demonstrations and animations for scientific algorithms. SFML has modules for graphics, audio, and networking. The SFML.jl package I am working on should let Julia users take advantage of SFML to create compelling games and demos easily.

+

+ +

Bio: Zachary Yedidia is a sophomore at Concord Academy High School. He is currently working on a Julia wrapper of SFML (the "Simple Fast Multimedia Library").

+ +
+ +
+

Escher.jl: A new way to make and deploy GUIs

+

Shashi Gowda

+

TBC

+

+ +

Bio: I make UI tools for Julia and JuliaBox users.I brought @manipulate to your IJulia notebooks. :)

+ +
+ +
+

JuliaBox - Julia in your browser

+

Viral Shah

+

We will introduce JuliaBox, its architecture, the things people are using it for, automatic grading in classrooms, and a roadmap for building and serving Julia applications through JuliaBox.

+ +

We will describe a roadmap of how complete applications with a web UI (Canvas) and a computational backend can be built effortlessly in Julia and deployed with a single click on JuliaBox.

+

+ +

Bio: https://in.linkedin.com/in/viralbshah

+ +
+ +
+

Taxi fleet simulation and visualization

+

Sebastien Martin

+

We are considering taxis in a city (represented using LightGraphs.jl) with customers ready to be picked up at different times and locations. We are using JuliaOpt packages to find the best actions of our taxi fleet and maximize their revenues. We then use OpenStreetMap.jl and SFML.jl to visualize the results of the simulations.

+

+ +

Bio: Sebastien Martin is a PhD student in Operations Research at MIT. His research focuses on Online Optimization and Transportation. The visualization part of the project was also done with the help of Brandon Zeng, sophomore in Computer Sciences at MIT.

+ +
+ +
+

Julia as a Probabilistic Programming Language

+

Zenna Tavares

+

There has been much debate over Julia’s prospects as a viable language for statistical computing. In this talk I will offer a more exciting possibility: that Julia is uniquely well positioned for probabilistic programming. I will present Sigma.jl, a Julia package in which you can specify arbitrarily complex probabilistic models as normal Julia programs; general probabilistic inference procedures then attempt to answer any statistical question you pose about the model.

+ +

Researchers typically invent entirely new languages for probabilistic programming. I will describe how we implement Sigma.jl purely as a package by exploiting Julia’s introspection and multimethod dispatch capabilities to perform static analyses, dynamically. This allows us, for instance, to use Julia’s existing linear algebra routines over random matrices. I will also outline our algorithmic approach to probabilistic inference, which combines methods from statistics, program analysis and constraint solving, and when combined with Julia enables us to address new classes of probabilistic inference problems.

+

+ +

Bio: Zenna Tavares is a Ph.D candidate at CSAIL of MIT in the Computer Aided Programming group. Motivated by problems in both human and artificial intelligence, he studies probabilistic programming languages, inference algorithms and the automated synthesis of programs. + +He has worked on two Julia packages: Sigma.jl for probabilistic programming, and Lens.jl, a simple package to analyse runtime behaviour of algorithms.

+ +
+ +
+

Mocha.jl - Deep Learning for Julia

+

Chiyuan Zhang

+

Mocha.jl is a a flexible and efficient deep neural network library supporting multiple backends (CPU and GPU). In this talk, I will present the basic design and architecture of this library and demonstrate how to train a deep convolutional neural network in Julia.

+

+ +

Bio: Chiyuan Zhang is a PhD student at CSAIL, MIT. His research focus on machine learning, speech recognition, and computational neuroscience. He is the author of Mocha.jl, a flexible, feature complete and efficient deep neural network library for Julia.

+ +
+ +
+

L1 regularized regression

+

Simon Kornblith

+

L1 regularized regression, or the Lasso, is a popular technique for building linear and generalized linear models that selects only a subset of predictors and allows fitting models with more predictors than data points. Modern statistical theory provides a way to determine which of these predictors make significant contributions to the model. I will describe three packages I’ve created that implement L1 regularized regression in Julia: Lasso.jl, LARS.jl, and GLMNet.jl, and compare their approaches and performance.

+

+ +

Bio: Simon Kornblith is a graduate student in Brain and Cognitive Sciences at MIT. He has used Julia in his work since 2013. He contributes to several Julia packages, including HDF5, MAT, DSP, and DataArrays, as well as to Julia itself.

+ +
+ +
+

Suitably Naming a Child with Multiple Nationalities using Julia

+

Pontus Stenetorp

+

Naming a child is never easy, and for parents that have different native languages it poses further problems. Ideally, the name should be equally suitable for both of their native tongues, but how can one find such a name? In this talk we will take a computational approach and attempt to model the suitability of a name using approaches from Natural Language Processing and Machine Learning, and, of course, our language of choice, Julia. We will cover data collection/processing, mapping strings to phonemes, differences in languages, and the machine learning techniques necessary to modelling the suitability of a name.

+

+ +

Bio: Pontus is a research associate at University College London, that spends +most of his research time on Natural Language Processing and Machine Learning. He has been using Julia since 2014 due to a need for rapid prototyping and computational performance. When it comes to Julia contributions, he tends to contribute small occasional patches to the standard library.

+ +
+ +
+

What needs to be done to move JuliaStats forward?

+

John Myles White

+

At present, the core JuliaStats libraries, DataArrays and DataFrames, have little to offer that would incentivize statisticians to switch away from R. In this talk, I’ll outline a proposal for what the Julia community needs to do to convince a statistician with little-to-no engineering experience to switch languages.

+

+ +

Bio: Developer of many JuliaStats packages.

+ +
+ +
+

Lint

+

Tony Fong

+

A static code analysis package Lint.jl will be showcased and discussed. I’ll contrast this with other amazing tools such as code_warntype, Typecheck.jl. Some useful tips and tricks around the tool will be presented, such as lint-time printing and version-dependent linting.

+

+ +

Bio: Tony Fong is the author of Lint.jl and TermWin.jl, and a contributor to Formatting.jl and Traits.jl. His background is in physics and finance. Tony's primary reason of using Julia is modeling of lower dimension electronic systems.

+ +
+ +
+

How to support Windows: cross-platform installation and testing for Julia packages

+

Tony Kelman

+

A quick walk through the challenges in making Julia packages, specifically those that rely on binary dependencies, available and properly tested for Windows users. The talk will summarize some of the differences in compilers and build environments that are relevant for building scientific software, and some approaches for dealing with them, even for package developers who never use Windows themselves.

+ +

Will specifically discuss and show examples of how to cross-compile common libraries, and how to use the openSUSE build service, the WinRPM.jl and BinDeps.jl Julia packages, and AppVeyor continuous integration testing.

+

+ +

Bio: Helped get Julia 0.3 to pass its unit tests on Windows, and keep them that way by setting up AppVeyor continuous integration for Julia. Contributor to various packages, especially in JuliaOpt.

+ +
+ +
+

Automatic ccall wrapper generation with Clang.jl

+

Isaiah Norton

+

Clang.jl is a Julia binding to the C interface to the Clang compiler (libclang), providing access to C, C++, and Objective-C parse trees and associated information. Clang.jl provides a framework for automatic generation of Julia bindings from library headers and has been used to build packages including VideoIO.jl, and Gtk.jl. I will give a brief overview of the wrapped libclang API, the wrapper-generation system, and a wrapper generation example for a new library.

+

+ +

Bio: I wrote the Clang.jl package, used to generate Julia bindings for several large (C) libraries, and have contributed to a number of other packages. I am also an active contributor to base Julia.

+ +
+ +
+

Julia's Package Ecosystem: Past, Present, and Future

+

Iain Dunning

+

A language can live or die depending on the strength of its package ecosystem. I’ll present a brief history of how Julia’s package ecosystem has grown over the past 3 years. I’ll then describe the current situation, including the PackageEvaluator system and pkg.julialang.org. Finally I’ll share some thoughts on future work in the area.

+

+ +

Bio: I've been working with Julia for over two years, and have contributed mostly packages: JuliaOpt, Coverage.jl, FactCheck.jl, Humanize.jl, GraphLayout.jl, as well as countless patches to other packages and to Julia itself. My other main contribution is the development of pkg.julialang.org and the PackageEvaluator.jl package ecosystem testing service.

+ +
+ +
+

What’s going on at JuliaTokyo?

+

Sorami Hisamoto

+

JuliaTokyo is a community / meetup for Julia enthusiasts in Japan.

+ +

From basic tutorial to macros & parallel computing, Deep Learning to
+AI Japanese chess, and even an unofficial anime character, we are
+having a variety of activities at JuliaTokyo.

+ +

In this presentation I would like to introduce how Julia is gaining
+its popularity in Japan, what we’ve been doing at JuliaTokyo, and how
+we want to interact with the rest of the world in the future.

+

+ +

Bio: Sorami Hisamoto is yet another Julia enthusiast in Tokyo, Japan. He +works as a data analyst, mainly in the marketing area. Prior to that +he was doing researches in the field of Natural Language Processing.

+ +
+ +
+

Contributing to Julia

+

Leah Hanson

+

+

+ +
+ + +

Friday

+ +
+

The base language: future directions and speculations

+

Jeff Bezanson

+

Aside from day-to-day bug fixing and feature development, a significant amount of work goes in to exploratory side projects and thinking about how Julia could be better. In this talk I will try to bring some of this into view, presenting ideas (at varying stages of development) about the future of the language and system. Topics include the type system, higher-order programming, static analysis, and miscellaneous others.

+

+ +

Bio: Jeff is one of the co-creators of Julia. He recently finished a PhD at MIT and is now helping to build Julia Computing.

+ +
+ +
+

Work towards a pure Julia compiler frontend

+

Jake Bolewski

+

Julia’s compiler is implemented in three different programming languages, Scheme, Julia, and C/C++. This separation is an issue as it reduces modularity in the compiler and makes implementing new language features and optimizations difficult. As Julia begins to mature, I argue that now is the right time to start thinking about replacing parts of the compiler with Julia code. The most natural place to start is the compiler frontend which is currently written in Scheme. I will demo some work towards rewriting parts of the frontend in pure Julia. I hope to demonstrate that a pure Julia frontend will be beneficial in terms of features, performance, and opportunities for tool integration.

+

+ +

Bio: Jake Bolewski has been using Julia for about a year and a half and currently works in the Julia group at MIT. In a past life he was a biologist working in the area of super-resolution / single molecule microscopy.

+ +
+ +
+

Who optimizes the optimizers? Can genetic algorithms help us to optimize the layout of llvm IR passes used to compile Julia code?

+

Westley Hennigh

+

I’ve started a project which configures Julia to load IR passes dynamically and runs a genetic algorithm that features synapsing variable length crossover. We’ll discuss the challenges involved in measuring the performance of IR pass layouts, the algorithm, and the results so far.

+

+ +

Bio: Westley Hennigh has been working with Julia since late 2012. He built a system for running models written in Julia across machines in my butt, has contributed to the language, and maintains a variety of packages.

+ +
+ +
+

Shaving the Yak: Why Julia now has one of the best C++ FFIs and what to do with it

+

Keno Fischer

+

At last years JuliaCon, I presented two highly experimental projects I was working on the Julia C++ FFI, Cxx.jl and an LLDB-based debugger for Julia. Since last year, the C++ FFI has been completely
+rewritten based on staged functions, has gained an interactive C++ REPL mode and has reached a
+point where it has become useful, not only as a toy research project but has become usable for real
+applications. In this follow-on talk, I will demonstrate these new capabilities and explain how to use
+them to interact with C++ libraries. Additionally, I will given an update on the (still experimental, but improved) LLDB-based debugger, discussing what features are ready, what problems exist and what the future holds.

+

+ +

Bio: Originally from Germany, Keno Fischer is currently finishing is Master's and Bachelor's degrees in Physics and Mathematics at Harvard University. Keno has contributed to Julia core development for more than three years, contributing such features as the Windows port, the improved REPL as well as numerous other bug fixes and minor improvements. Additionally, he is the author of a large variety of Julia packages, including SIUnits.jl, BinDeps.jl and Cxx.jl. Since last year, Keno has also been working with Julia Computing, aiming to make Julia viable not just in research, but in industry as well.

+ +
+ +
+

Traits.jl, interfaces for Julia

+

Mauro Werder

+

Traits.jl is an experimental package which brings interface/trait/type-class based programming to Julia. Traits.jl implements two main features: (1) to group types, or tuples of types, into sets (traits) disconnected from the type hierarchy; and (2) to define methods which dispatch on those traits. The grouping is achieved by specifying certain constraints which a type has to fulfill, typically implementing certain functions but other constraints are allowed too. For example, a trait Plus{X,Y} could be defined as the set of all type tuples (X,Y) such that a method +(::X,::Y) exists. Note that this set is (automatically) expanded as new methods to + are added. The dispatch on traits is implemented on top of the normal type-dispatch. For example, foo{X, Y; Plus{X,Y}}(x::X, y::Y) = ... would define a method which is dispatched to for all (X,Y) ∈ Plus{X,Y}.

+ +

I will present the following: a simple example on how Traits.jl works and can be useful; its inner workings; and use-cases in Base and for packages. I hope to have a discussion on features, roadblocks, a more stable implementation, and whether something like this would be useful for Base.

+

+ +

Bio: I am a glaciologist, specializing in simulations of water flow at the base of glaciers. In the Julia community, I am probably mostly known for my experimental package Traits.jl which brings interface/trait/type-class based programming to Julia.

+ +
+ +
+

What Happens When: From Parse-Time to Compile-Time

+

Jacob Quinn

+

Anyone who has poked around the Julia manual has come across a variety of terms and quick descriptions of what happens when code gets compiled. Quips of ‘macro this’, and ‘staged function that’, parse-time, compile-time, code lowering, type inference, aggressive specialization, and the list goes on.

+ +

Finally, the entire process is all brought together and made sensible; fear the JIT no more.

+

+ +

Bio: Currently a technical consultant at Domo in Utah. Just graduated from Carnegie Mellon in Pittsburgh. Developing Julia for about 3 years now, and own/maintain the ODBC, SQLite, SuffixArrays, TimeZones, Dates, and Yelp packages, as well as the Sublime-IJulia package for Sublime Text. Also been involved in several significant projects involve Base Julia functionality.

+ +
+ +
+

Mixing it up: Adventures with statistical models and sparse matrices

+

Douglas Bates

+

+

Estimating the parameters in a ‘mixed-effects’ model (also called
+‘variance components’ or ‘hierarchical’ or ‘multilevel’) requires
+optimizing a log-likelihood. Until recently it was not possible to
+fit models with multiple non-nested sources of variability such as
+‘subject’ and ‘item’ or longitudinal data on ‘student’, ‘classroom’,
+‘school’, ‘district’, etc. The introduction of sparse matrix
+representations and some clever re-arrangement of terms in the
+log-likelihood made it possible to evaluate the log-likelihood by
+solving a large, sparse penalized least square problem. But current
+implementations can still take days to optimize this criterion for
+complicated models fit to large data sets, because the sparse matrix
+methods can’t take advantage of the special structure in the problem.
+Because Julia combines the flexibility of a high-level language with
+the capability of achieving high performance, it is possible to
+exploit these special structures, in many cases reducing the time to
+fit a model by one or two orders of magnitude. User-defined types,
+multiple dispatch, in-place evaluation, and devectorization are key
+characteristics of Julia for this application.

+

+ +

Bio: U. of Wisconsin - Madison

+ +
+ +
+

Distributed-memory "direct" linear algebra and optimization

+

Jack Poulson

+

This talk will give a broad overview of recent algorithmic developments within the C++11/MPI library Elemental and ongoing efforts to expose interfaces to external languages (i.e., C, Python, and Julia). In particular, the talk will discuss recent advancements in Elemental’s distributed a priori regularized quasi-semidefinite sparse-direct solvers, their application to sparse Interior Point Methods and sparse generalized least squares problems, and progress towards interactive interfaces on large-scale machines.

+

+ +

Bio: Jack Poulson is the lead developer of Elemental, a distributed-memory library for direct linear algebra and optimization, and an Assistant Professor of Mathematics and Member of the Institute for Computational and Mathematical Engineering at Stanford University. He has contributed a native Julia multifrontal Cholesky (MultiFrontalCholesky.jl) and is a contributor to Elemental.jl, which will provide distributed-memory dense linear algebra, sparse-direct solvers, and Interior Point Methods to Julia.

+ +
+ +
+

Introduction to OpenBLAS and BLIS

+

Zhang Xianyi

+

The BLAS (Basic Linear Algebra Subprograms) is a fundamental interface in scientific computing. In this talk, I will introduce the OpenBLAS and BLIS projects. OpenBLAS is an optimized open source BLAS implementation based on GotoBLAS2, and the default BLAS library used in Julia. OpenBLAS supports modern Intel, AMD, and ARM processors. By hand-written or automatically generated (via the AUGEM) assembly kernels, we can achieve competitive performance with vendor BLAS libraries.

+ +

BLIS is a portable framework for instantiating BLAS-like libraries. The framework was designed to isolate essential kernels of computation that, when optimized, immediately enable optimized implementations of most of its commonly used and computationally intensive operations.

+

+ +
+ +
+

The present and future of sparse matrices in Julia.

+

Viral

+

In this talk, I will describe the current status of sparse matrices in Julia. About half the talk will focus on walking the audience through the current design, and feature set. The other half will focus on tensions in the current design, what different people want from sparse matrices, and a discussion on how to take this forward.

+

+ +

Bio: https://in.linkedin.com/in/viralbshah

+ +
+ +
+

Validated numerics in Julia

+

David P. Sanders

+

We will present features of the ValidatedNumerics.jl package, which provides tools for rigorous numerical calculations in Julia via interval arithmetic, and its application to validated computation in dynamical systems.

+ +

In particular, in combination with the BilliardModels.jl package, we will show how to solve one of the “hundred-dollar, hundred-digit challenge” problems [1,2] by computing a guaranteed trajectory of a billiard model to arbitrary precision.

+ +

[1] http://people.maths.ox.ac.uk/trefethen/hundred.html
+[2] https://www.siam.org/pdf/news/388.pdf

+

+ +

Bio: I am an associate professor of computational physics in the Department of Physics, Faculty of Sciences, National University of Mexico (UNAM). I first heard about Julia in the summer of 2013 at SciPy, but did not really discover it until the beginning of 2014. Since then I have switched to using it full time for both teaching and research. I am an author of the `ValidatedNumerics.jl` and `BilliardModels.jl` packages. At SciPy 2014, I gave a 4-hour Julia tutorial, listed on the Learning section of the Julia web-page, which has over 20,000 views.

+ +
+ +
+

Taylor series expansions in Julia

+

Luis Benet

+

I will describe some of the design and use of TaylorSeries.jl, which is a package to manipulate Taylor expansions in one or more independent variables. Results on integrations on a three-body problem will be presented.

+

+ +

Bio: I am Associate Professor at the Instituto de Ciencias Físicas of the National University of Mexico (UNAM). My main fields of interest are classical and quantum chaos, random matrix theory and dynamical astronomy. Regarding Julia, I spotted a buggy behavior of `binomial` (#6154). Together with David Sanders, we develop and maintain `TaylorSeries.jl` and `ValidatedNumerics.jl`. I also use Julia to implement members of the so-called k-body gaussian embedded ensemble of random matrices. We are using Julia in our lectures.

+ +
+ +
+

Sparse Accelerator

+

Hongbo Rong

+

High-performance computing (HPC) on sparse data structures like graphs is becoming increasingly important in computational biology, web search, and knowledge discovery, etc. Unlike traditional HPC applications that deal with regular data structures, sparse computation has unique challenges: its performance is often bound by the memory bandwidth,and its parallelism is dependent on the specific input data. It is a very time-consuming process to speedup such workloads, usually taking an expert several months or years to achieve close-to-peak performance for a new architecture.

+ +

We propose an external Julia package, called Sparse Accelerator, to automatically optimizes sparse applications. It co-designs compiler, library and runtime to exploit the potential.

+

+ +

Bio: A researcher at Programming Systems Lab in Intel. Worked on software pipelining, binary translation, and recently HPC. +Before that, a developer in Microsoft Visual Studio. Engineered local scheduler and tree register allocator in Phoenix compiler, and the C++ type system in Visual Studio 2011. +Best Paper Awards at CGO 2004 and 2014. +Developed an initial version of Julia2C. Developing a Julia package, Sparse Accelerator.

+ +
+ +
+

Using Julia as a Specification Language for the Next-Generation Airborne Collision Avoidance System

+

Robert Moss

+

This talk outlines how the FAA and the international safety community are using Julia in the development and specification of the next generation aircraft collision avoidance system. Historically, pseudocode was used with separate implementations for the validation of the system. Today, we utilize Julia to auto generate our specification document and replaced pseudocode in favor of an executable specification written in Julia.

+

+ +

Bio: Robert Moss is an assistant staff member at Lincoln Laboratory in the Surveillance Systems Group. He joined Lincoln Laboratory as a co-op while receiving his bachelor's degree in computer science from Wentworth Institute of Technology in 2014, where his research included modeling the rotation curve of galaxies in Julia. At Lincoln Laboratory, his research focuses on development and analysis of the next-generation airborne collision avoidance system.

+ +
+ +
+

Distributed Algorithms for Full-Waveform-Inversion (FWI)

+

Lars Ruthotto and Eldad Haber

+

Full waveform inversion (FWI) is commonly used in geophysical explorations. The goal of FWI is to estimate a model (velocity) of the subsurface from measurements of the ground’s responses to seismic vibrations. FWI is known to be a challenging inverse problem that contains many local minima and can be ill-posed.

+ +

FWI is computationally demanding: estimating a model that accurately predicts the measurements requires a large number of simulations each of which is obtained from solving the Helmholtz equation over many sources and frequencies.

+ +

This three hours hands-on workshop provides a brief introduction into FWI and the main cornerstones of inversion codes, including:
+1. Finite Volume discretization of Helmholtz equation
+1. Numerical optimization methods for solving the inverse problem.
+1. Parallelization of the optimization problem

+ +

We will show how to design an inversion code that can work well for small to medium size problems and can be scaled up to large scale problems. Special emphasis will be put on Julia’s potential to distribute the PDE solves amongst all available workers.

+

+ +

Bio: Lars Ruthotto is an assistant professor in the Department of Mathematics and Computer Science at Emory University. Eldad Haber is a professor at the Department of Earth and Ocean Sciences at UBC in Vancouver and NSERC Industrial Research Chair in Computational Geoscience. + +Lars and Eldad are interested in scientific computing for inverse problems, especially electromagnetic imaging in geophysical applications. They both use Julia for teaching but mostly in their research. They contributed to Julia a wrapper for MUMPS and a few iterative solvers for large linear systems.

+ +
+ +
+

JuliaOpt: Optimization-related projects in Julia

+

Iain Dunning

+

In this talk we will present the JuliaOpt suite of packages for optimization in Julia. In particular, we will focus on how these packages interact and can be composed to solve a variety of problems.

+ +

We will begin with a discussion of two different modeling systems, JuMP and Convex.jl, and how they can be used to model different types of problems. We then move to describing the MathProgBase interface, which provides a rich abstraction over a variety of solvers (both pure Julia and external commercial and open-source libraries). Finally we will discuss how the JuliaOpt stack enables both rapid development of models and solvers, and outline future plans for JuliaOpt.

+

+ +

Bio: I've been working with Julia for over two years, and have contributed mostly packages: JuliaOpt, Coverage.jl, FactCheck.jl, Humanize.jl, GraphLayout.jl, as well as countless patches to other packages and to Julia itself. My other main contribution is the development of pkg.julialang.org and the PackageEvaluator.jl package ecosystem testing service.

+ +
+ +
+

JuliaGeo: Working with Geospatial data in Julia

+

Yee Sian Ng

+

Traditionally, the workflow for geographic information systems (GIS) requires the storage of geospatial data within databases, that are specially indexed for performing fast spatial queries. Nonetheless, the development of libraries for high-level languages like Python, R, and Javascript has made it a lot easier to work with geospatial data through programming languages, outside of a RDBMS. I will touch on the common types of spatial operations that we care about in practice, talk about the current state of packages for working with geospatial data in Julia, and discuss what remains to be done to move development for JuliaGeo forward.

+

+ +

Bio: Yee Sian is a PhD student at MIT in the Operations Research Center (MIT ORC).

+ +
+ +
+

Quickly building simulations of quantum systems

+

Blake Johnson

+

Powerful simulation tools are essential to early explorations of small quantum devices. I will introduce QSimulator.jl, a package to facilitate such simulations with a straightforward algebraic syntax to compose systems and interactions from a common toolbox. The package takes advantage of Julia’s parallel processing capabilities to distribute parameter sweeps across many nodes, greatly accelerating common workflows.

+

+ +

Bio: Blake Johnson is a physicist working on building small quantum processors with superconducting qubits. He contributed to some of the first quantum algorithm demonstrations, and has extensive experience building FPGA-based hardware for controlling quantum systems. This custom hardware enables a new class of quantum feedback experiments requiring sub-microsecond measurement-to-control latency. + +Blake is helping to build a growing set of packages relevant to quantum information processing, including Cliffords.jl for efficient simulation of a certain class of quantum circuits.

+ +
+ +
+

SLU-TMI - TextMining.jl

+

Kevin Damazyn and Mark Tabor

+

The SL Text Mining Initiative is an interdisciplinary project between the Computer Science and English departments. The initial focus is the construction of open source tools, in Julia, to facilitate text mining research. The project will then use these large-scale, computational tools to explore whether common delimiters of time period (namely, the concept of literary generations) operate at the level of lexical, linguistic, or stylistic patterns. Using this information, natural language processing models will be constructed to classify unseen texts into these literary generations.

+

+ +

Bio: Kevin: Recent SLU Computer Science (BS) graduate who currently works at Asynchrony Solutions in St. Louis. + Mark: Mark Tabor graduated from Saint Louis University with a BS in Computer Science. He is a former Marine and Iraq war veteran. His research interests involve Machine Learning and NLP.

+ +
+ +
+

JLD: Saving Julia objects to the disk in HDF5 format

+

Simon Kornblith

+

The JLD module, included in HDF5.jl, provides a way to save and read any Julia data structure using the hierarchical data format HDF5. JLD maps Julia types and immutables directly to HDF5 compound types, providing efficient and structured on-disk storage that is robust to changes in code and in Julia itself. I will give an overview of how this mapping works, its strengths, and its pitfalls.

+

+ +

Bio: Simon Kornblith is a graduate student in Brain and Cognitive Sciences at MIT. He has used Julia in his work since 2013. He contributes to several Julia packages, including HDF5, MAT, DSP, and DataArrays, as well as to Julia itself.

+ +
+ +
+

Serving up : A practical guide to exposing Julia APIs on the web

+

Avik Sengupta

+

The ability to expose Julia code on the internet, via HTTP, can be useful in many circumstances. In this lightning talk, we will see a practical demonstration of how to create a REST API from any Julia code, both in a pure Julia environment, as well as within a hybrid infrastructure. We will look at some the security and stability requirements for this functionality, and the options for deployment.

+

+ +

Bio: Avik Sengupta has built risk and trading systems in Java for investment banks for over a decade. Three years ago he discovered Julia, and hasn't looked back since. He is a Julia contributor and the maintainer of a few Julia packages. + +

+ +
+ +
+

ProtoBuf.jl - Interfacing Julia with Complex systems using Protocol Buffers

+

Tanmay Mohapatra

+

Protocol buffers are a language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more.

+ +

ProtoBuf.jl is a Julia implementation for protocol buffers which makes it possible for Julia applications communicate with other applications in a distributed, heterogeneous environment. For example, the Elly.jl package uses ProtoBuf extensively to integrate with HDFS and Yarn. However the use cases are many more.

+

+ +

Bio: https://www.linkedin.com/in/tanmaykm

+ +
+ +
+

Stan.jl: Statistical Modeling and Inference Made Easy

+

Bob Carpenter

+

Stan.jl is the Julia interface to Stan, an open-source, imperative
+probabilistic programming language. Stan allows you to express a
+customized statistical model and conditioned on data, perform optimization
+for classical penalized maximum likelihood estimation or sampling for
+full Bayesian inference.

+

+ +

Bio: Bob Carpenter is a research scientist in computational statistics +(Columbia University). He designed the Stan probabilistic programming +language and is one of the Stan core developers. + +Bob has a Ph.D. in cognitive and computer science (University of +Edinburgh), worked as a professor of computational linguistics +(Carnegie Mellon University), an industrial researcher and programmer +in speech recognition and natural language processing (Bell Labs, +SpeechWorks, LingPipe). In addition to working on Stan, he's written +two books on computational linguistics, many papers, and the widely +used LingPipe natural language processing toolkit.

+ +
+ +
+

Towards A Consistent Database Interface

+

Eric Davies

+

This talk will compare and demonstrate the two proposed Julia database interfaces DBI.jl and DBAPI.jl and solicit feedback on the community’s desired direction.

+

+ +

Bio: Eric works in R&D at Invenia Technical Computing: a small, cutting-edge startup targeting inefficiencies in electrical grids. His interests lie in machine learning but his contributions to the Julia community have been database-related: Eric wrote and maintains PostgreSQL.jl and DBAPI.jl, and contributed to DBI.jl.

+ +
+ +
+

Cluster Managers and Parallel Julia

+

Amit Murthy

+

This presentation will cover
+- a short introduction to parallel Julia internals
+- writing a custom cluster manager
+- demo of a cluster manager using ZeroMQ for transport

+

+ +
+ +
+

Multi-threading Julia

+

Kiran Pamnany and Ranjan Anantharaman

+

Shared memory parallelism is essential for high performance on today’s multi- and many-core architectures. We will present the threading infrastructure built into Julia, the programming model presented, and discuss design choices and alternatives.

+ +

We will then present our experiences with, and the results of, applying this infrastructure to scale a number of different workloads written in Julia; often demonstrating performance comparable with C.

+

+ +

Bio: Kiran works at Intel's Parallel Computing Lab, on enabling HPC application scaling on large IA-based clusters. His primary research focus is parallel programming models, and the underlying low-overhead, high performance software stacks required. + +Together with the core Julia developers, Kiran has built a multi-threading infrastructure for Julia -- the ``threading`` branch on Github. + +Ranjan is completing his internship at Intel Labs, on his way to earning his undergraduate degree in computer science from BITS-Pilani, Hyderabad. He has built and analyzed some of the first multi-threaded Julia programs.

+ +
+ +
+

Using Julia on a Cray Supercomputer

+

Patrick Sanan

+

Julia can now be used on a Cray supercomputer! We detail how, relying on recent upgrades by Amit Murty to the MPI ClusterManager. To work with Cray’s paradigm of hiding details of the compute nodes from the user, all communication is done through MPI, and master and worker threads are uniformly launched as Julia processes running on compute nodes. This has the advantage of simplicity, and takes advantage of Cray’s optimized MPI implementation. This procedure allows for extremely portable code which can use any Julia ClusterManager implementation, allowing for development on a laptop and deployment on the largest supercomputers.

+

+ +

Bio: Patrick Sanan is a postdoctoral researcher at USI, Lugano, working on the GeoPC PASC project to advance the state of the art of preconditioners within large geophysics simulations. He is interested in the use of Julia for HPC.

+ +
+ +
+

Sparse Accelerator

+

Hongbo Rong

+

High-performance computing (HPC) on sparse data structures like graphs is becoming increasingly important in computational biology, web search, and knowledge discovery, etc. Unlike traditional HPC applications that deal with regular data structures, sparse computation has unique challenges: its performance is often bound by the memory bandwidth,and its parallelism is dependent on the specific input data. It is a very time-consuming process to speedup such workloads, usually taking an expert several months or years to achieve close-to-peak performance for a new architecture.

+ +

We propose an external Julia package, called Sparse Accelerator, to automatically optimizes sparse applications. It co-designs compiler, library and runtime to exploit the potential.

+

+ +

Bio: A researcher at Programming Systems Lab in Intel. Worked on software pipelining, binary translation, and recently HPC. +Before that, a developer in Microsoft Visual Studio. Engineered local scheduler and tree register allocator in Phoenix compiler, and the C++ type system in Visual Studio 2011. +Best Paper Awards at CGO 2004 and 2014. +Developed an initial version of Julia2C. Developing a Julia package, Sparse Accelerator.

+ +
+ + +
+ Return to main page. +
+ + + + + + + diff --git a/previews/PR609/2015/workshops.html b/previews/PR609/2015/workshops.html new file mode 100644 index 000000000..45243d138 --- /dev/null +++ b/previews/PR609/2015/workshops.html @@ -0,0 +1,140 @@ + + + + + + + JuliaCon 2015: Boston, MA. + + + + + + + + + + + + + + + + +
+

JuliaCon 2015

+

Workshops

+
+
+ See main page for schedule details. +
+ +

Wednesday

+ +
+

Introduction to Julia for Scientific Computing

+

David P. Sanders

+

A tutorial introduction to Julia for scientific computing, aimed at people who already know a scientific computing language but are new to Julia.

+ +

This will be an improved and streamlined version of my SciPy 2014 tutorial listed at julialang.org/learning, based around Jupyter notebooks.

+

+

Bio: I am an associate professor of computational physics in the Department of Physics, Faculty of Sciences, National University of Mexico (UNAM). I first heard about Julia in the summer of 2013 at SciPy, but did not really discover it until the beginning of 2014. Since then I have switched to using it full time for both teaching and research. I am an author of the `ValidatedNumerics.jl` and `BilliardModels.jl` packages. At SciPy 2014, I gave a 4-hour Julia tutorial, listed on the Learning section of the Julia web-page, which has over 20,000 views.

+
+ + +

Saturday

+ +
+

Solving Optimization Problems with JuliaOpt

+

Iain Dunning, Joey Huchette, Miles Lubin, Madeleine Udell

+

Optimization provides a powerful framework for decision making: from path planning, to resource allocation, to data fitting, and everything in between. There are a variety of powerful open-source and commercial packages for solving structured mathematical optimization problems, but identifying the right framework for a given problem can be tricky. This workshop will introduce JuMP and Convex.jl, two modeling languages under the JuliaOpt organization that allow users to easily express linear, mixed-integer, conic, semidefinite, and nonlinear optimization problems in Julia. So easily, in fact, that the user may not even need to know what these problem types are. These models can then be solved using any package in the JuliaOpt ecosystem that supports the problem type. We will introduce basic syntax, provide an overview of the complementary capabilities of both JuMP and Convex.jl, and walk through a number of hands-on examples using Jupyter notebooks.

+

+

Bio: Iain Dunning, Joey Huchette, and Miles Lubin are PhD candidates at the Operations Research Center at MIT. They are early adopters of Julia and developers of JuMP. +Madeleine Udell, a developer of Convex.jl, is a postdoctoral fellow at the Center for the Mathematics of Information at Caltech. She recently received a PhD in Computational and Mathematical Engineering at Stanford, and will be joining Cornell as an assistant professor in Operations Research and Information Engineering in 2016. All four are members of the JuliaOpt organization, which curates high quality optimization software in Julia.

+
+ +
+

Julia and the World: How to Work with C / C++ / Java / Python / Ruby from Julia.

+

Avik Sengupta

+

From the very beginning, Julia has had first class support for calling native C code. On top of this functionality, language interop with other languages such as Python, Java and Ruby have been developed.

+ +

This workshop will offer a hands on tutorial on using external libraries written in C, C++, Java, Python and Ruby from within Julia

+ +

We will focus first and foremost on calling C libraries. We will describe how types are mapped, and see how to pass structs and callback functions. We will then take an indepth look at calling Python and Java code via the PyCall and JavaCall packages. Finally, time permitting, we will briefly touch upon the ability to call Ruby and C++ libraries.

+

+

Bio: Avik Sengupta has built risk and trading systems in Java for investment banks for over a decade. Three years ago he discovered Julia, and hasn't looked back since. He is a Julia contributor and the maintainer of a few Julia packages. + +

+
+ +
+

Introduction to Writing High Performance Julia +

+

Arch D. Robison

+

This workshop is an introduction to writing high performance code in Julia. We’ll start with a high level view of the hardware and Julia, and how Julia semantics differ from languages such as C/C++/Fortran. Next we’ll dive into how Julia compiles your program, all the way from your source text to the machine instructions. A focus will be on the compiler’s type-inference engine and how to make it work for you instead of against you. Another focus will be how to cater to the hardware. We’ll also look at “deals with the devil” annotations (@inbounds, @fastmath, @simd) so that you understand what kind of trade you make with those annotations. Finally, we’ll look the art of writing vectorizable code, which brings many of the topics into play.

+ +

Attendees are encouraged to bring a computer with Julia installed on it so that they can try exercises that involve speeding up slow examples.

+

+

Bio: Arch was the lead developer for KAI C++, and the original architect of Intel Threading Building Blocks. He contributed type-based alias analysis and vectorization support to Julia. Arch took 2nd place in Al Zimmerman’s “Delacorte Numbers” programming contest using Julia exclusively. His Erdös number is 3.

+
+ +
+

Everyday Analytics and Visualization

+

Randy Zwitch

+

With its initial focus on high-performance and scientific computing, the Julia language can be intimidating for newer users. However, using Julia is not just about being a speed demon; with a clean syntax and rapidly growing package eco-system, Julia can be used for “everyday” tasks as summary statistics, accessing web APIs and databases and interactive data visualization.

+ +

Randy will demonstrate an end-to-end example of a data analysis workflow, from downloading publicly available data to loading data into Julia, creating summaries and answering business questions using visualization (Gadfly/Plot.ly).

+ +

+

Bio: Randy Zwitch is a Senior Data Scientist/Data Engineer at Comcast, studying how customers consume the its product offerings using Hadoop and related big data technologies. + +Randy has contributed mostly unit tests to the main Julia project. He has also created several packages (UAParser, Twitter, OAuth, LogParser) and actively participates in the JuliaWeb organization.

+
+ +
+

Managing Data in Julia: Old Tricks, New Tricks

+

Jacob Quinn

+

Managing data in any language can be a hassle. Varying file formats, data layouts, character sets, compression techniques, not to mention the actual code for manipulating data.

+ +

In this talk, some old standards (ODBC, SQLite) are revisited for their on-going usefulness and stability in managing data, while some new methods are also explored that leverage the power of Julia and novel user interfaces.

+

+

Bio: Currently a technical consultant at Domo in Utah. Just graduated from Carnegie Mellon in Pittsburgh. Developing Julia for about 3 years now, and own/maintain the ODBC, SQLite, SuffixArrays, TimeZones, Dates, and Yelp packages, as well as the Sublime-IJulia package for Sublime Text. Also been involved in several significant projects involve Base Julia functionality.

+
+ +
+

Parallel Computing with Julia

+

Viral

+

This is a workshop conducted by the folks who have been working on various aspects of parallel computing in Julia - Andreas Noack Jensen, Amit Murthy, Tanmay Mohapatra, Jiahao Chen, Jake Bolewski, Alan Edelman.

+ +

This workshop will provide an overview of parallel computing in Julia. It will start with an introduction to using built-in Julia primitives for parallel processing, such as pmap, @parallel, remotecall, spawn, fetch, etc. Based on this low-level primitives, shared arrays and distributed arrays have been built. Finally we will try some Parallel Linear Algebra using packages such as ScaLapack along with some MPI programming. We will also look at the possibilities of data processing with data loaded from the Hadoop file system (HDFS) and/or S3. We will also preview the upcoming multi-threading capabilities in Julia. For some of the examples, the workshop will use additional compute resources through AWS or MIT.

+

+

Bio: Viral is one of the co-creators of Julia. Please see the LinkedIn page for more details: https://in.linkedin.com/in/viralbshah

+
+ +
+

Making GUIs with Escher.jl

+

Shashi

+

In this workshop, I will introduce Escher’s end-user API to Julians. Participants will install Escher and build some cool web apps in a hands-on session. These will include:

+ + +

+

Bio: I make UI tools for Julia and JuliaBox users. I brought @manipulate to your IJulia notebooks. :)

+
+ + +
+ Return to main page. +
+ + + + + + + diff --git a/previews/PR609/2016/abstracts.html b/previews/PR609/2016/abstracts.html new file mode 100644 index 000000000..27835f67c --- /dev/null +++ b/previews/PR609/2016/abstracts.html @@ -0,0 +1,583 @@ + + + + + + + JuliaCon 2016: Boston, MA. + + + + + + + + + + + + + + + +
+

JuliaCon 2016

+ +
+ +
+
+ +
+
+ +
+
+ + +
+

Talks (Regular and Lightning)

+ +
+

Gallium

+ Keno Fischer (Julia Computing, Inc.) +

A debugger for Julia

+
+ +
+

Juno, a Julia IDE

+ Mike Innes +

Juno is an effort by the Julia community to provide tooling for the language and build a state of the art programming environment. As well as the various necessities, like evaluation, debugging and plotting, we aim to raise the bar for dynamic tooling in areas like interactivity, visualisation and dynamic analysis. +Juno is an effort by the Julia community to provide tooling for the language and build a state of the art programming environment. As well as the various necessities, like evaluation, debugging and plotting, we aim to raise the bar for dynamic tooling in areas like interactivity, visualisation and dynamic analysis.

+
+ +
+

Julia for data science: current progress and future plans

+ Simon Byrne (Julia Computing, Inc.) +

This talk will give an overview of the current Julia data manipulation and modelling ecosystem, highlight the areas that still need work, and sketch out our future plans. + +This work is supported by a grant from the Moore Foundation.

+
+ +
+

TypedTables: type-safe data containers

+ Andy Ferris (Fugro Roames) +

Julia's dynamic-yet-statically-compilable type system is extremely powerful, but presents some challenges to creating generic storage containers, like tables of data where each column of the table might have different types. This package attempts to present a fully-typed `Table` container, where elements (rows, columns, cells, etc) can be extracted with their correct type annotation at zero additional run-time overhead. The resulting data can then be manipulated without any unboxing penalty, or the need to introduce unseemly function barriers, unlike existing approaches like the popular DataFrames.jl package. + +The main caveat of this approach is the extra layer of complexity for the compiler and programmer introduced by including this information in the type parameters of objects. This talk will explore how additional Julia 0.5 features such as pure functions will significantly simplify both the interface and the implementation of DataTables.

+
+ +
+

Music Information Retrieval in Julia

+ Jong Wook Kim (New York University) +

Music Information Retrieval (MIR) is an exciting field of research with many successful real-world applications, such as automatic audio source separation, instrument recognition, chord recognition, automatic transcription and music recommender systems. In this lightning talk, I will briefly introduce MIR as a research topic, and show how Julia can be used to perform various music analysis and processing required in MIR research. The presentation will also include a demo of audio visualization and instrument classification, based on a music analysis library written in Julia that is planned to be open sourced by JuliaCon 2016.

+
+ +
+

Using Julia as a Quick and Dirty Code Generator

+ Arch D. Robison (Intel Corporation) +

For a rewrite of Frequon Invaders, I needed a high performance SIMD kernel for a program written in Go, which lacks SIMD support, but does have a bare-bones assembler. Julia to the rescue! Julia turns out to be a nice language for writing a quick and dirty assembly-code generator. Subtyping and multiple dispatch enabled concisely describing instruction selection. Julia being a full programming language enabled some automatic register allocation. The exercise shows the power of Julia to quickly hack a limited “one off” program to generate code.

+
+ +
+

Automatic differentiation techniques used in JuMP

+ Miles Lubin (MIT) +

I will review the basics of automatic differentiation and discuss how they are implemented in JuMP to efficiently compute derivatives of user-provided closed-form expressions and "black box" functions. I will discuss the data structures we designed in order to avoid the wrath of Julia's garbage collector and will present benchmarks comparing JuMP with competing commercial tools.

+
+ +
+

Current state of GLVisualize

+ Simon Danisch +

GLVisualize is a 2D/3D graphics library entirely written in Julia. It uses OpenGL to offer state of the art rendering speeds even for animated data. This Talk will show you what the strength and weaknesses of GLVisualize are, and what you can expect from it in the future.

+
+ +
+

ForwardDiff.jl: Fast Derivatives Made Easy

+ Jarrett Revels (MIT) +

Automatic differentiation (AD), a collection of methodologies for computing exact derivatives of programs, is essential for modern scientific computing. In spite of growing awareness of AD, non-expert users face substantial barriers when applying these techniques in practice. These barriers are generally attributable to limitations of the available tools: AD tools developed in low-level languages are difficult to use, and AD tools developed in high-level languages are slow. This talk presents ForwardDiff.jl, a Julia implementation of forward-mode AD that bridges the traditional gap between usability and speed by offering performance competitive with similar C++ implementations. The package leverages Julia's novel performance model to support unique features like black-box function differentiation, simultaneous directional derivative calculation, efficient composability with user-defined types, and experimental parallelism via SIMD/multithreading. The talk will walk the audience through the package's implementation and usage, as well as highlight common AD pitfalls users should avoid.

+
+ +
+

Introduction to Vulkan

+ Simon Danisch +

Vulkan is the successor of OpenGL and OpenCL and offers a lot of interesting new features to do graphics and general compute on the GPU. In this talk I will give a short introduction to Vulkan and why it will matter to Julia.

+
+ +
+

ThreeJS.jl: Interactive 3D Graphics in the Browser using Julia

+ Rohit Varkey Thankachan +

ThreeJS.jl is a Julia wrapper around the very popular threejs library for rendering 3D scenes in browsers using JavaScript. This allows the user to create 3D graphics which can be viewed in a browser using just Julia and no HTML or JS. The package can be used along with Escher, IJulia notebooks or from the REPL using Blink.jl. It supports interactivity in Escher, allowing for nice UI’s to interactively update and interact with 3D scenes and also create animations! The talk will demo a few examples to showcase these features and demonstrate the ease of use and presentation quality of web based 3D graphics. ThreeJS.jl was created as part of a JSoC 2015 project mentored by Shashi Gowda and Simon Danisch.

+
+ +
+

NetworkViz.jl - A Julia interface to visualize graphs using ThreeJS.jl.

+ Abhijith Anilkumar (NITK Surathkal) +

NetworkViz.jl is a graph visualization package that uses ThreeJS.jl and Escher.jl to render graphs. It can be used to create interactive graph visualization applications. Eg. : 1. https://www.youtube.com/watch?v=qd8LmY2XBHg 2. https://www.youtube.com/watch?v=Ac3cneCRTZo. The package is tightly integrated with LightGraphs.jl and can be used to visualize graph operations using LightGraphs as shown in example 2. The package works decently fast for graphs with nearly 10000. I'm working on optimizing the performance to make it work with larger graphs.

+
+ +
+

Enabling reverse communication solvers and embedding Julia

+ Andy Greenwell (Julia Computing, Inc.) +

This talk provides an overview of a consulting project that had two primary goals: 1. Enable the modification of various forward communication root finding and optimization solvers available in the Julia ecosystem to be used as reverse communication solvers, wherein any objective, gradient, or Hessian functions can be evaluated external to the solver itself. 2. Allow for embedding of the Julia solver within a C/C++ application where the objective, gradient and Hessian functions are defined as part of a large pre-existing codebase. This talk will walk through the specific Julia functionality necessary to enable a variety of forward communication solvers available in different Julia packages to be called in a reverse communication manner, and show how this functionality can be embedded within a C/C++ application.

+
+ +
+

State of the GR framework

+ Josef Heinen (Forschungszentrum Jülich GmbH) +

GR is a plotting package for the creation of two- and three-dimensional graphics in Julia, offering basic MATLAB-like plotting functions to visualize static or dynamic data with minimal overhead. In addition, GR can be used as a backend for other plotting interfaces or wrappers, such as PyPlot or Plots. This presentation shows how visualization applications with special performance requirements can be designed on the basis of simple and easy-to-use functions as known from the MATLAB plotting library. The lecture also introduces how to use GR as a backend for Plots, a new plotting interface and wrapper for several Julia graphics packages. By combining the power of those packages the responsiveness of visualization applications can be improved significantly. Using quick practical examples, this talk is going to present the special features and capabilities provided by the GR framework for high-performance graphics or as a backend for Plots, in particular when being used in interactive notebooks.

+
+ +
+

Iterative Methods for Sparse Linear Systems in Julia: A Quick Overview

+ Lars Ruthotto (Emory University) +

Efficient iterative methods for sparse linear systems are crucial in many research and industrial applications, for example, for solving partial differential equations (PDEs). There are different Julia packages that provide implementations of many state-of-the-art linear methods. In this lightning talk, I will give an overview about some of the packages and highlight similarities and differences in coding philosophy. I will also give a detailed comparison of their computational efficiency of using examples from numerical PDEs. The main goal of the talk is to start a discussion about the inevitable trade-offs between computational efficiency, ease of use and readability of the code.

+
+ +
+

Patterns for building web apps with Escher.jl

+ Shashi Gowda +

The talk is about component architecture in Escher.jl. I aim to describe how to build arbitrarily complex web apps from smaller components using a model-view-update pattern.

+
+ +
+

Finding Julia Bugs Automatically

+ Robert Feldt (Blekinge Inst of Technology) +

The ability to thoroughly, but easily, test Julia code and packages is vital if they are to maintain their high quality. The Base.Test framework provides a great set of constructs to help automatically execute test cases and avoid bugs. Recently we have extended this framework with award-winning techniques from our software testing research. Together, these packages enable not only the automated execution but also the automated creation of test cases. This can help you explore the actual behavior of your Julia code to find bugs earlier and increase coverage. In this talk we give an overview of the techniques our extensions provide, and show, with examples, how they have helped us find bugs in Julia code. + +Our extensions combine the novel capabilities of a number of different testing frameworks, programming languages and research studies. The BaseTestAuto package provides the basis by extending the Base.Test implementation in Julia 0.5-dev to support repeated execution of test sets and to allow predicates that ensure not only a single but that a whole set of values have a certain property. Another package allows generators for values of any type and structure to be described; this allows for both random and targetted creation of test data. On top of this we can then build a library of generators and combinators to create data that exercises a large part of the Julia type hierarchy. Together these packages extend the type of testing that can now be done in Julia, and in our presentation we will demonstrate random testing, property-based testing, parameterized unit testing, adaptive test execution, and search-based testing for increased coverage and test diversity. Our talk is hands-on and shows the use of these techniques on real Julia code but also outlines future additions that we are working on. Our mission is to make testing in Julia as fun and powerful as possible and we hope to get support from the community in achieving this.

+
+ +
+

Unums 2.0: Implementing projective intervals and sets in Julia

+ Jason Merrill (Desmos) +

In 2015, John L. Gustafson proposed a new computational representation for sets and intervals of rational numbers called Unums. This proposal provoked both excitement and criticism in the Julia community. Gustafson has recently presented an updated proposal that is a ground-up rethink of how to represent sets and intervals: Unums 2.0. I will discuss a prototype implementation of (some of) this proposal in Julia, and compare it to both the original proposal and other systems of point and interval arithmetic. Two of the most important features of the new proposal are working with the projective rationals (i.e. including a single point at infinity), and making the system of numbers closed under reciprocation (1/x). Working projectively allows including intervals that span the point at infinity, and reciprocal closure means that division can be efficiently implemented as a composition of reciprocation and multiplication. The combination of these allows a simple representation of the reciprocal of intervals that span 0, which is unusual for interval arithmetic. I will also attempt to provide a critical perspective: despite attractive properties, neither proposal is a silver bullet for numerical computing.

+
+ +
+

Julia and R: Can't we have both?

+ Douglas Bates (U. of Wisconsin - Madison) +

The RCall package allows a Julia user to run an embedded R instance and to communicate with it. Thus the Julia user has instant access to all the data sets available in R packages and to the data manipulation facilities of R. For those working on statistical methods in Julia, RCall allows for easy checking of results in Julia against those from R functions. I will illustrate how I was able to use it in developing the MixedModels package.

+
+ +
+

The design and use of extended precision floats

+ Jeffrey Sarnoff (Diadem Special Projects LLC) +

I would like to give a talk on Float-like types that extend mathematical accuracy and help to assure mathematical veracity. The talk introduces errorfree transformations and compensated arithmetic for ~128 bit precision and good options for higher precision. Aspects of design and use are explained using a few elaborated types I have written.

+
+ +
+

CppWrapper: Write Julia modules in C++

+ Bart Janssens (Royal Military Academy of Belgium) +

The CppWrapper package helps to expose C++ libraries as a Julia module. The main difference with Cxx.jl is that the wrappers are in C++ and loaded into Julia as a shared library. This can be useful for large libraries, where the wrapping library can be precompiled. The wrapper can be bundled with the library, automatically ensuring it compiles when updating the C++ library. + +In this talk, first the use of the package will be illustrated with a simple example. Next, some aspects of the implementation will be highlighted. The package is based on a combination of ccall and embedded use of the Julia C interface, so this will be explained in detail. On the Julia side, some metaprogramming techniques -used to generate methods- will be shown. + +In summary, this talk is targeted at people who are interested in wrapping C++ libraries, want to use the Julia C interface (embedding) or see an example of metaprogramming to define new methods.

+
+ +
+

APL at Julia's speed

+ Shashi Gowda +

A look at why Julia is the best language to implement APL and how the JIT fares in the face of adversities. (https://github.com/shashi/APL.jl) + +- parsing examples https://github.com/shashi/APL.jl/blob/master/src/parser.jl +- eval-apply https://github.com/shashi/APL.jl/blob/master/src/eval.jl +- what's inside a function? +- some @code_llvm samples + +see this gist for a demo https://gist.github.com/shashi/9ad9de91d1aa12f006c4

+
+ +
+

Building the Julia community in India

+ Zainab Bawa (Director, HasGeek Learning Pvt Ltd) +

This talk presents a picture of the data science landscape in India, tools and technologies that data scientists use widely, and how Julia language is positioned in this landscape. From here, I explain how and why JuliaCon India edition has to stay relevant and ahead of its time, and why this approach is necessary for building and sustaining the community.

+
+ +
+

Bounded Integers with Type-Level Constants

+ David Hossack (Analog Devices) +

I will describe the implementation of a bounded integer type in Julia, where the bounds are encoded as type level constants. All the usual arithmetic operations on integers are implemented with the result bounds being determined once at (JIT) compile time. For example adding bounded integers with types BInt{-10,8} and BInt{-100, 20} will yield a bounded integer with type BInt {-110, 28}. + +The bounds can be any constant integer, and large bounds are automatically converted to a tuple format that allows extremely large (effectively unbounded) integers to be represented at the type level despite Julia’s current limitation that the type parameter be a “bits type”. The appropriate value type is determined from the bounds - this can be Int32, Int64, Int128 or BigInt as required. + +The implementation exploits @generated functions to make the type level decisions. + +The original motivation arose in digital hardware system modeling, but the concept is very general. The bounded integer “BInt” numeric type behaves like BigInt in that arithmetic on BInt values will never overflow, but without the runtime and storage overhead of BigInt when it can be determined that a fixed width type is sufficient.

+
+ +
+

Julia 1.0

+ Stefan Karpinski (Julia Computing, Inc.) +

Discussion of Julia 1.0 roadmap

+
+ +
+

Autonomous driving for RC cars with ROS and Julia

+ Jon Gonzales (University of California Berkeley) +

Our research focuses on control algorithms for automotive applications. We use model predictive control (MPC) as a mathematical tool to design these algorithms, and then use Julia and Python to implement these algorithms. For experimentation, we have launched an open-source platform called Berkeley Autonomous Race Car (BARC), which is a 1/10th scale RC car equipped with hardware for autonomous driving. [ http://www.barc-project.com/ ].

+
+ +
+

Minecraft and LEDs : Julia on the Raspberry Pi

+ Avik Sengupta (Algocircle Ltd) +

The Raspberry Pi is a $35 computer designed to help teach computing to kids. It has also turned out to be very popular among hobbyists and digital makers. Powered by a ARM processor, it now runs Julia well enough to enable some fun educational projects. This talk will demonstrate the most common activities that kids can do with a Raspberry Pi -- control Minecraft via its API, and perform physical computing via its GPIO pins to control external components. It will showcase the Julia packages used for this purpose, and discuss ways in which these can be used to teach maths, science and programming.

+
+ +
+

Overview of the new JuliaBox

+ Nishanth Kottary (Julia Computing, Inc.) +

JuliaBox is currently hosted on AWS but will be hosted on Google cloud in the future. This talk gives the necessary information needed for users to migrate their data. The new features available for free/paid users and the road map for future development will also be presented.

+
+ +
+

HPAT.jl - Easy and Fast Big Data Analytics

+ Ehsan Totoni (Intel Labs) +

High Performance Analytics Toolkit (HPAT.jl) is a framework for big data analytics on clusters that automatically parallelizes Julia-based analytics programs, and generates efficient MPI/C++ code. HPAT is orders of magnitude faster than systems like Apache Spark. For example, HPAT is 53x faster for Spark’s front-page logistic regression example (200 iterations, 2 billion 10-feature samples) on a 64 nodes (2048 core) system. HPAT is compiler based; it uses Julia’s metaprogramming and ParallelAccelerator under the hoods to apply many optimizations. + +I will describe how Julia programmers can take advantage of HPAT,jl and what Julia codes are handled. We’ll then compare the syntax and performance of HPAT.jl with Spark using examples and discuss how it works internally.

+
+ +
+

Julia and Partial Differential Equations: Being Faster than M*TL*B

+ Clemens Heitzinger (TU Vienna) +

We have been developing Julia programs to solve various numerical +problems arising in the areas of deterministic and stochastic partial +differential equations as well as related multiscale problems. One of +our codes is already available as the Julia package EllipticFEM and +provides a finite-element solver for elliptic partial differential +equations that is faster than MATLAB. Being faster than the mature +MATLAB implementation underlines the advantages of Julia as a system +combining a native-code compiler with access to state-of-the-art +numerical libraries. + +Furthermore, we are using Julia to solve the drift-diffusion-Poisson +system and the Maxwell equations. These codes will also be published +as Julia packages. These programs are part of our work to develop new +algorithms for stochastic partial differential equations with +applications in nanotechnology and metamaterials. + +The author acknowledges support by the FWF (Austrian Science Fund) +START project no. Y660 "PDE Models for Nanotechnology".

+
+ +
+

OnlineStats.jl: Statistics for Streaming and Big Data

+ Josh Day (NC State University) +

Statistical algorithms are typically based around data fixed in size. Adapting methods to data which is streaming or too large to fit in memory is often nontrivial. OnlineStats.jl provides a state of the art toolkit for performing statistical analysis in these situations. All algorithms use O(1) memory and stochastic approximations are used where analytical solutions are not possible. The methods provided by OnlineStats.jl include summary statistics, density estimation, statistical learning, and more.

+
+ +
+

Finite Element Analysis in Julia

+ Kristoffer Carlsson (Chalmers University of Technology) +

Writing a Finite Element Analysis (FEA) code requires many components. We typically need a dense and sparse matrix library, linear solvers for both type of matrices, visualizations of the resulting fields on meshes etc. A typical undergraduate course in FEA will therefore use MATLAB as the programming language in which assignments are written. Since students learn FEA in MATLAB this is also what they are likely to use in an eventual PhD project. + +I will make the case that Julia can provide an alternative to MATLAB, both when it comes to teaching FEA and implementing FEA codes in a PhD project. We will look at a handful of packages that together with the base Julia library can make writing FEA codes as simple as it would be in MATLAB.

+
+ +
+

DataStreams: Workflows for Data Processing Tasks

+ Jacob Quinn (Domo) +

Julia's core language performance has attracted developers for years. In terms of standardized data processing tasks, however, Julia has lagged peer tools in terms of functionality and convenience. The DataStreams package and framework aims to bring foundational tools and workflows to Julia that encourage interface consistency and automatic leveraging of Julia's built-in performance levers. The CSV, SQLite, and ODBC packages currently implement the DataStreams framework to provide foundational data processing tools for Julia data mungers.

+
+ +
+

Astrodynamics.jl: Modern Spaceflight Dynamics in Julia

+ Helge Eichhorn (Technische Universität Darmstadt, Germany) +

The motion of a spacecraft is governed by non-linear equations which makes numerical software tools indispensable for the development and operations of a space mission. Since the beginning of computational astrodynamics Fortran has been the language of choice due to the numerical performance requirements. Because Fortran is not exactly flexible and easy to work with many astrodynamicists use Matlab for prototyping algorithms. This has led to the familiar pattern of software tools being implemented twice, first in Matlab then in Fortran, or interfacing Matlab and Fortran through MEX-files and hundreds of lines of glue code. + +In this talk I will present the Astrodynamics.jl library and explore how Julia’s unique feature set enables fast and easy modeling of complex space missions while not requiring expensive licenses or juggling multiple programming languages. With Julia it is possible to seamlessly move from simple approximations to parallel high-fidelity simulations which makes it an excellent choice for designing future space missions.

+
+ +
+

Least Squares with high dimensional variables

+ Matthieu Gomez (Princeton University) +

I will show how to estimate least squares models with high dimensional categorical variables. These models are useful in social sciences because they allow to control for unobserved heterogeneity at a granular level. However, these models are hard to estimate because they typically include a large number of variables. +I will start with linear models with fixed effects. These models require to solve least squares problems on sparse matrices. I will present a new package to estimate such models in Julia, FixedEffectModels.jl. +I will then discuss linear models with *interacted* fixed effects.These models require to estimate PCAs on sparse matrices. I will present a new package to estimate such models in Julia, SparseFactorModels.jl. +Finally, I will present a package to solve general high-dimensional least squares problem, LeastSquaresOptim.jl. This package, inspired by the Ceres-solver, is the backend for the two previous packages.

+
+ +
+

Precise and rigorous calculations for dynamical systems

+ David P. Sanders & Luis Benet (Department of Physics, Faculty of Sciences, National Autonomous University of Mexico (UNAM)) +

We will discuss why Julia is an excellent environment for developing new +numerical types, using as examples the TaylorSeries.jl and ValidatedNumerics.jl +packages that we have developed. + +TaylorSeries.jl calculates Taylor series expansions of functions +around a point in one or more variables by a recursive evaluation of higher derivatives (an extension of automatic differentiation), and, in particular, leads to high-order integrators for ordinary differential equations (ODEs). + +ValidatedNumerics.jl provides a means to perform *rigorous* calculations using +floating-point arithmetic, with a guarantee of correctness, by calculating with +*sets* instead of numbers, in particular with intervals, and boxes that are Cartesian products of intervals in higher dimensions, that contain the correct result. We can also enclose sets that solve systems of equations and inequalities. + +We will show how these ideas can be used to obtain precise and rigorous results for dynamical systems, including iterated maps and ODEs.

+
+ +
+

VinDsl.jl: Fast and furious statistical modeling

+ John Pearson (Duke Institute for Brain Sciences) +

Variational inference is a fast, scalable method for fitting complex statistical models to large and high-dimensional datasets. The repertoire of available algorithms and techniques is expanding rapidly, but most models are still coded by hand. The few automated implementations (e.g., in Stan) face a dual-language problem, and so are less suited to rapid development of new ideas. VinDsl.jl aims to provide a variational inference domain-specific language -- a set of data structures and macros for defining models -- in pure Julia. As a result, existing methods can be mixed and matched and new ones prototyped quickly, creating a thoroughly hackable toolbox for machine learning researchers. In this talk, I'll give an introduction to variational inference and sketch the philosophy and features of VinDsl, ending with applications to some problems in neuroscience.

+
+ +
+

A novel algorithm for model selection in genome-wide association studies

+ Kevin L. Keys (University of California, Los Angeles) +

Genome-wide association studies (GWASes) examines phenotypic variation in a sample of patients genotyped at several places on the genome. Since GWASes were introduced in 2005, researchers have performed GWASes for hundreds of traits on thousands of individuals. GWASes produce massive quantities of data that present computational and model selection challenges to their analysis. Prevalent among GWAS analyses is a noticeable failure to explain substantial portions of the observed phenotypic variance. We exploit iterative hard thresholding (IHT) to effectively select genetic markers informative for continuous traits. Preliminary tests suggest that our implementation effectively controls type I errors better than both LASSO- and MCP-penalized linear regression. Our scalable implementation enables GWAS analysis on both desktop machines and computing clusters.

+
+ +
+

Towards a nonparametric belief solution for factor graphs

+ Dehann Fourie (MIT/WHOI Joint Program) +

We relax parametric inference to a non-parametric representation over the Bayes tree, towards more general factor graph solutions. We use Gaussian Mixture models to represent a wider class of constraint beliefs, including multi-hypothesis inference. The Bayes tree factorization maximally exploits the structure of the true joint posterior, thereby minimizing computation. We use approximate non-parametric belief propagation over the cliques of the Bayes tree to reduce the computational complexity. Robotic navigation and mapping is our focused application. Our implementation has been written entirely in the Julia language, exploiting high performance and parallel computing.

+
+ +
+

OpenMendel Project

+ Hua Zhou (UCLA) +

Mendel (https://www.genetics.ucla.edu/software/mendel) is a comprehensive statistical genetic analysis program, developed by biomathematician Kenneth Lange (http://people.healthsciences.ucla.edu/institution/personnel?personnel_id=45702) and his colleagues at UCLA. The current version of Mendel consists of more than 75,000 lines of dense Fortran 2008 code. Documentation exceeds 300 pages. Software development in statistical genetics is currently chaotic, and some consolidation is inevitable. The challenge is to accomplish this in a manner that enhances rather than stifles creativity. OpenMendel is an open source project that rewrites Mendel using the elegant and efficient language Julia. Its code base will serve as a platform for the truly large genetics studies now being launched and enables researchers to quickly tailor it to their specific needs. This talk outlines the vision and status of the OpenMendel project.

+
+ +
+

Lora: a framework for Monte Carlo methods in Julia

+ Theodore Papamarkou +

Lora is a package for Monte Carlo methods in Julia. The package has been supporting geometric MCMC algorithms for the last two years. It has been refactored over the last six months to allow more efficient memory management and execution time by allocating necessary resources at the beginning of the simulation thus avoiding unnecessary reallocations and by using meta-programming to tailor methods to user-defined simulation settings. Furthermore, graphs are used for model specification, Gibbs sampling has been accommodated, output management has been improved and forward as well as reverse mode automatic differentiation capabilities have been added to MCMC samplers. + +The roadmap of Lora includes adding documentation for existing functionality, capabilities for state of the art Monte Carlo integration, sequential and variational Monte Carlo algorithms, and other parallel-based MCMC sampling schemes. The overarching goal is to turn Lora into a powerful framework that can be used for tackling challenging applied problems. Along these lines, a contract has been signed with Springer to author a book on Monte Carlo methods with Julia (using Lora), and a collaboration with NASA has been set up for using MCMC inference for exoplanet discovery. Such collaboration will be particularly useful because it entails complex models with constrained parameters, so it will provide further feedback to help Lora meet the challenges of non-trivial applications.

+
+ +
+

DSGE.jl – Using Julia for Economic Modeling at the Federal Reserve Bank of New York

+ Erica Moszkowski (Federal Reserve Bank of New York) +

This talk will describe how researchers in the Federal Reserve Bank of New York’s DSGE Team use Julia for macroeconomic modeling. In collaboration with the QuantEcon team, we ported our code for solving dynamic stochastic general equilibrium (DSGE) models to Julia, releasing the source code in the DSGE.jl package in December. DSGE models describe how economic agents behave, given some assumptions about the underlying environment, including fiscal and monetary policy regimes, price rigidities, credit frictions, and various economic shocks. The FRBNY model is a relatively large model of the U.S. economy, has been used for research on the dynamics of inflation during the great recession, the effects of forward guidance, and much more. + +The DSGE.jl package facilitates the solution and Bayesian estimation of DSGE models. We provide the FRBNY model as one example, but give details on how users can define completely different models. In this talk, I will give a brief overview of the model and our experience porting the code from MATLAB to Julia (including perspective on using Julia in a "production" setting at a public policy institution). Finally, I will touch on the Julia features our team has found most useful for economic modeling

+
+ +
+

BioJulia: Towards Bioinformatics in the Real World

+ Kenta Sato (GSOC student) +

BioJulia is a collaborative and open source project to make an infrastructure for bioinformatics. Although we have developed many features, we still lack common tools that are indispensable in the real world. In the project this year, we will implement new tools including online sequence search, data structure for reference genomes, BAM and CRAM parsers, VCF and GFF3 parsers, and integration with genome browsers and biological databases. These things will enable you to use the Julia language in your bioinformatics work and will make it much easier to develop new algorithms and softwares. In this talk, I will present what happened in the recent BioJulia project and what will happen in it for the next months.

+
+ +
+

The Two Cultures of Programming

+ Joshua Ballanco +

In 1959 C.P. Snow's famous lecture, "The Two Cultures", decried the failure of educated people in the sciences and humanities to work together. Today we have a similar divide opening between those who write software for science and those who write it for "everything else". In this talk, we'll review the current state of affairs and look at what Julia might do to remedy the situation. The hope is that Julia can be a great programming language not just for science, but for programmers everywhere.

+
+ +
+

Backend Agnostic GraphLayout.jl

+ Abhijith Anilkumar (GSOC student) +

Graph visualization is one of the fundamental parts of many modern applications like network analysis. Currently, many packages are available in Julia that can be used for visualizing graphs. But all these packages are tailored to work with a specific backend and it is tedious to write separate code for each package as the requirement changes. To tackle this issue, in this project, we will extend GraphLayout.jl (an existing graph visualization package that uses Compose.jl) to be backend-agnostic. The result will facilitate many applications to use the package and switch between backends used to visualize graphs with minimal changes in the code used. GraphLayout.jl will be modified to generate an intermediate Geometric Type, similar to what is discussed in this issue in GeometryTypes.jl using StructsOfArrays. Therefore, any backend that supports this type can be used to render graphs. Completion of this project will eliminate the redundant code present in visualization packages created for different backends.

+
+ +
+

Parallelized graph processing in Julia

+ Pranav Thulasiram Bhat (GSOC student) +

I hope to develop a package, ParallelGraphs, that enables the analysis and manipulation of massive graphs in a distributed environment. The package will support vertex and edge properties through N-Dimensional sparse arrays. The package will be integrated with LighGraphs.jl and ComputeFramework for the serial and parallel execution of graph algorithms. I hope to also incorporate a query model that will let data scientists issue SQL like queries on the graph structure.

+
+ +
+

Cross-platform vectorization using Accelerate, Yeppp! and VML

+ Remy Prechelt (GSOC student) +

Apple's Accelerate, Yeppp!, and Intel's VML provide high-performance implementations of many common vector functions and operations. Traditionally, use of these libraries required specific intervention by the programmer, and familiarity with Julia's C interface. By taking advantage of Julia's LLVM backend, and detailed benchmarking on package install, I aim to dynamically map Julia functions to the fastest vectorized equivalents available on a specific Julia installation. By building a common interface to these libraries, the same code that was written on OS X linking against Accelerate, can automatically be run without change on Windows linking against VML, and can automatically be run without change on Linux linking against Yeppp!.

+
+ +
+

Implementing HTTP/2 for Julia

+ Wei Tang (GSOC student) +

This project is about implementing HTTP/2 for HTTPServer.jl and Requests.jl, as well as implementing a heuristic for Mux.jl for HTTP/2’s “server push”. In the end, It is expected that Mux.jl, HTTPServer.jl and Request.jl users can seamlessly transit to HTTP/2 with little changes on their sides.

+
+ +
+

Julia Interactive Tutorial System

+ Matthew Lake (via video) (GSOC student) +

A short talk about my Google Summer of Code project to create a Julia program for completing interactive tutorials, being available in the REPL and in Juno, with a webpage interface as a stretch goal. Paired with this will be a tool for creating these lessons, and a central repository from which students can download tutorials and to which tutorial creators can upload.

+
+ +
+

Documenting Julia packages

+ Morten Piibeleht (GSOC student) +

Documenting packages with JuliaDocs/Documenter.jl -- what it can do for you and an overview of the latest developments.

+
+ +
+

Machine Code

+ Jameson Nash (Julia Computing, Inc.) +

An algorithmic sampling of getting Julia to run fast + +Possible subtopics include: type-inference, high-level optimizations, call devirtualization, caching, static compilation, llvm translation, "exotic" hardware runtime, future development plans

+
+ +
+

Support for complex-domain optimization problems in Convex.jl

+ Ayush Pandey (GSOC student) +

Many problems in applied sciences are posed as optimization problems over the complex field such as phase retrieval from sparse signals, designing an FIR filter given desired frequency response, optimization problems in AC power systems, frequency domain analysis in signal processing and control theory. +The present approach is to manually convert the complex-domain problems to real-domain problems and pass to solvers. This process can be time-consuming and non-intuitive sometimes. The correct approach to such problem would be to make existing packages deal with complex-domain optimization hence making it easier for the optimization community to deal with complex-domain optimization problem. I am extending the above functionality in Convex.jl (a julia package for disciplined convex programming).

+
+ +
+

Presolve Routines for Optimization Problems

+ Ramchandran M (GSOC student) +

Pre-solving is the process of detecting redundancy in the optimization problem and removing them so that optimization problems that are fed to solvers are properly formulated. The reduced optimization problem is now solved by the solver. This has the two-fold benefit of speeding up the optimization process and +also higher accuracy in solutions. Since smaller problems are fed to the solver (eg. SCS) , the bottleneck call to the solver has now become faster

+
+ +
+

A Review of a Recently Implemented Implicit and Adaptive ODE Solver based on Adam-Bashforth-Multon Methods

+ Joseph Obiajulu (GSOC student) +

ODE.jl is an ever increasing store house of numerical solvers of ordinary differential equations available to Julia users. While many solvers are in ODE.jl, there are still well-known and well-performing solvers which are awaiting a native Julia implementation (especially implicit solvers for stiff ODEs). Here we review an implicit and adaptive step-size solver based on the Adam-Bashforth-Multon method which we have implemented in the Julia Language. Although development is still ongoing and final revisions are necessary before merging into ODE.jl, we present preliminary performance results of the solver using the ever expanding IVPTestSuite.jl package. + +EDIT

+
+ +
+

Exposure Correction and Feature Extraction with Images.jl

+ Anchit Navelkar (GSOC student) +

The ideal keypoint detector finds salient image regions such that they are repeatably detected despite change of viewpoint and more generally it is robust to all possible image transformations. Similarly, the ideal keypoint descriptor captures the most important and distinctive information content enclosed in the detected salient regions, such that the same structure can be recognized if encountered. The primary aim of my GSoC project is to develop ImageFeatures.jl, a package for keypoint extraction. I am also working on the exposure correction functions of Images.jl.

+
+ +
+

When is my calculation done? Programmatic query for the status of long calculations

+ Juan Antonio López Mendoza (GSOC student) +

Linear equations and linear algebra in general have a wide range of applications, some of them even critical, for this and other cases really good approximations are required and using the ‘\’ operator is not an option. For this situations iterative solver packages are the way to go, these contain a collection of methods which could be configured to accomplish better and more reliable approximations. + +Nevertheless, there isn’t yet a clear common API for these packages in Julia. In some cases when solving equations you would like to have just the approximation, in other cases however you would like more information about the convergence of the iterative process, like the residual norm of each iteration. + +There is one last case not present in most linear algebra packages, the ability to query information out of a running method, this would prove most useful when the calculation takes a long time, if it is bound to end at all. This could make the user to feel confused about what is going on and tempting him to end the execution. + +Here I show the current work and ideas aimed improve the usability of the IterativeSolvers.jl.

+
+ +
+

Pkg3: Julia Environments

+ Art Diky (GSOC student) +

A Julia environment that introduces a new approach to configuration of a Julia project structure and dependency management. + +The Julia language comes with a global language dependency management functionality. We introduce an environment structure which will allow organizing dependencies on a local level (i.e. directory). The environment will provide developers with a project-level dependency management which guarantees a precisely reproducible self-contained project source tree. + +This work is the part of the larger effort to redesign the package dependency management for the Julia language.

+
+ +
+

ComputeFramework.jl - A framework and scheduler for parallel computing

+ Shashi Gowda +

ComputeFramework is a package that has a scheduler similar to that of Dask (dask.pydata.org) which minimizes memory footprint in parallel programs allowing processing of huge amounts of data even on a single machine with limited RAM.

+
+ +
+

Accurate 3D mapping with Geodesy and Proj4

+ Chris Foster (Fugro Roames) +

Airborne laser scanning provides a good way to create accurate, high resolution, three dimensional maps of large areas. The most basic data product is generally a swath of point sampled geometry below the aircraft, containing a million 3D point samples or so per second of flight. Absolute accuracy and consistency between overlapping flights depends on accurate positioning, with point cloud errors on the order of several centimeters for a typical high end GPS and inertial navigation system. + +Accuracy can be further improved by matching point clouds from distinct scans in overlapping areas, using these to infer an improved position solution via a large scale optimization. We have built and contributed to several Julia modules while tackling this problem, including Proj4, Geodesy, and others which we hope to release in the future. + +In this talk I present our work on an improved API for Geodesy, showing how Julia’s highly parameterizable types ease the difficulty of working in multiple geospatial coordinate systems. A minimal traits-based system allows users to define their own point types and transform them with Geodesy in a non-intrusive way. As a concrete use case, I’ll present our results from running large scale trajectory optimizations, and demonstrate the improvements with visualizations of some interesting laser scans.

+
+ +
+

A tour of ParallelAccelerator.jl

+ Lindsey Kuper (Intel Labs) +

Did you know that your Julia programs could be running much, much faster than they do now? Recently, the High Performance Scripting team at Intel Labs released ParallelAccelerator.jl, a Julia package that leverages parallel compute resources (such as the multicore computer you probably already have on your desk) and compile-time and run-time optimizations to drastically speed up Julia programs, especially those that do lots of numeric array operations. + +In this talk, we'll see some examples of how to use the ParallelAccelerator package, see what kind of speedups are possible, and then take a look at what ParallelAccelerator is doing under the hood. Finally, we'll step back and discuss the future of parallelism in Julia. + +This talk will be of interest to people interested in compilers, macros, parallel computing, array- or vector-style programming, and anyone interested in making their Julia code run faster!

+
+ +
+

How to combine efficiently discrete-event and continuous-time simulations in Julia?

+ Ben Lauwens (Royal Military Academy (Belgium)) +

Combined simulations, i.e. solving a mixture of discrete-events (implemented as processes or agents) and continuous-time models (systems of differential equations), is a challenging topic. The two paradigms are almost orthogonal and most simulation software is written with one specific purpose in mind. In this talk, I will show how both can fit naturally in the SimJulia.jl package. The differential equations are efficiently integrated with a quantized state system solver. The pitfall of the mainstream ODE solvers, the time discretization, is replaced by a state discretization. The resulting discrete state-machine can easily be implemented as an event-driven model. This allows to make and solve sophisticated models, eg. a pilot ejection system, which are otherwise very hard to do. Julia has some unique features that ease the coding of both the discrete-event kernel and the state quantizer.

+
+ +
+

A functional approach to High Performance Computing

+ Erik Schnetter (Perimeter Institute for Theoretical Physics) +

High performance computing (HPC) on large distributed memory systems is today an irreplaceable tool in computational physics. To solve complex systems of partial differential equations (PDEs) such as e.g. the Einstein equations, today's discretization methods employ irregular grids and adaptive methods that are difficult to map onto modern HPC architectures in an efficient manner. + +FunHPC (Functional High Performance Computing) is both a promising proof of concept as well as an existing Julia package for scalable distributed computing. It is based on a partitioned global address spaces, latency hiding, ephemeral threads, and lightweight synchronization primitives. + +FunHPC targets PDE discretization methods with irregular, hierarchical data structures. I will describe the ideas behind and demonstrate an implementation of this approach via examples.

+
+ +
+

QuDynamics - Framework for solving Dynamical Quantum Equations.

+ Amit Jamadagni +

QuDynamics is a Julia package which provides a framework for solving dynamical equations arising in Quantum Mechanics. The current version includes support for solving Schrodinger equations, Liouville von Neumann equations and Lindblad master equations with methods which have been integrated from various other Julia packages like ODE.jl, ExpmV.jl, Expokit.jl. The aim of the talk is to introduce QuDynamics with some examples, and focus on ongoing work to equip QuDynamics with additional features such as Monte-Carlo parallelization, addition of new solvers among many others. + +The repo is being maintained at + +https://github.com/JuliaQuantum/QuDynamics.jl.

+
+ +
+

Bounds check elimination in Julia v0.5

+ Blake Johnson (Raytheon BBN Technologies) +

Consistent with Julia's philosophy of having *both* performance and safety, it is important to have bounds checks on array accesses by default, as well as a means to eliminate such checks when the compiler or user can prove that they are unnecessary. Julia v0.5 introduces a new mechanism for user-extensible bounds checking and elimination via simple call-site decoration. In this talk, I will discuss the design approach and show off some of the internals of the implementation. Finally, I will show how to take advantage of this new feature for custom array types.

+
+ +
+

Network Algorithms Research in Julia

+ Huda Nassar (Purdue University) +

Datasets in many research disciplines involve large networks; examples include biological datasets, transportation networks, and social media networks. In this talk, we will describe how we are using Julia in our research into new network algorithms and why we created the MatrixNetworks.jl package to bridge between the linear algebra routines in Julia and the network algorithms. We will discuss algorithms that we have recently created for graph diffusions and network alignment methods where having methods that interface between these representations is essential.

+
+ +
+

High Performance Vectorized Computations with Yeppp!

+ Robert Guthrie (Georgia Institute of Technology) +

In this talk, we present Yeppp!, a high-performance mathematical library providing vectorized elementary operations and transcendental functions. We compare the performance of Yeppp! with libraries such as Intel MKL and code generated by the optimizing compilers LLVM and GCC. We demonstrate that the SIMD-vectorization and software pipelining techniques used in Yeppp! permit higher throughput compared to similar offerings, and we directly compare implementations of element-wise floating point addition in unoptimized assembly, code generated by LLVM and GCC, and Yeppp!. The experiments reveal that Yeppp!’s implementation outperforms alternative implementations.

+
+ +
+

Swifter.jl : Scripting, REPL for iOS App development

+ WooKyoung Noh +

Julia has the beautiful REPL, and adapting it easily to all kinds of system. +Demonstrate how can interactive debugging, scripting with Julia for iOS App development.

+
+ +
+

PETSc.jl: Interfacing an enormous C sparse-matrix library

+ Jared Crean (Rensselaer Polytechnic Institute) +

There exist many well-establish scientific libraries written C and Fortran which, taken together, form a software stack that supports high performance applications. This talk describes the wrapping of the Portable Extensible Toolkit for Scientific Computation (PETSc), a library for solving sparse linear and non-linear problems, such as those that arise from discretizing partial differential equations, on distributed memory systems. With 3,674 functions defined in its header files, wrapping the library is a significant challenge. The Clang.jl package is used to generate Julia Exprs for the C functions, which are then modified by a re-writer function to a more Julian form. In order to support matrices containing real and complex data, the package builds and links to 3 versions of PETSc simultaneously. To present the user with a unified interface, new Vector and Matrix types are defined that present the AbstractArray interface and contain additional functionality such as control over assembly of distributed-memory data structures and mapping local indices to global indices. Similarly, the iterative solver interface supports default usage as an A \ b solver, but also contains a wide variety of options for pre-conditioning and the choice of Krylov method. An overview of the present state of the wrappers and future work will be given.

+
+ +
+

jInv - A Flexible Julia Package for Parallel PDE Constrained Optimization

+ Lars Ruthotto (Emory University) +

jInv is a Julia framework for the solution of large-scale PDE constrained optimization problems. It supports linear and nonlinear PDE constraints and provides many commonly used tools in inverse problems such as different misfit functions, regularizers, and efficient methods for numerical optimization. Also, it provides easy access to both iterative and direct linear solvers for solving linear PDEs. A main feature of jInv is the provided easy access to parallel and distributed computation supporting a variety of computational architectures: from a single laptop to large clusters of cloud computing engines. Being written in the high-level dynamic language Julia, it is easily extendable and yet fast. I will outline jInv's potential using examples from geophysical imaging with both linear and nonlinear PDE forward models.

+
+ +
+

Accelerating Julia Kernels with ArrayFire

+ Ranjan Anantharaman +

Accelerated computing has become increasingly popular in the scientific community over the past few years. However, a common challenge is the dearth of easy high-level APIs. This talk is about using the package ArrayFire.jl to write accelerated kernels in Julia with easy Julian APIs. It is designed to mimic Base Julia in its versatility and ease of use, and allows you to switch between three backends: CPU, OpenCL and CUDA, without changing any code. This talk would demonstrate those capabilities and interesting applications using ArrayFire.

+
+ + +
+ + +
JuliaCon 2016 Home Page
+ + +
+ + +
+
+ + +
+
+
+ + + + diff --git a/previews/PR609/2016/css/juliacon.css b/previews/PR609/2016/css/juliacon.css new file mode 100644 index 000000000..e4af218f8 --- /dev/null +++ b/previews/PR609/2016/css/juliacon.css @@ -0,0 +1,569 @@ +/************************************************* + +JuliaCon 2014 +Author: PJ Macklin +pjmacklin.com + +*************************************************/ +/*------------------------------------ +Variables +-------------------------------------*/ +a { + -webkit-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + -moz-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + -ms-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + -o-transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: all 250ms cubic-bezier(0.55, 0.055, 0.675, 0.19); } + +@keyframes flying { + 0% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + 25% { + -webkit-transform: translate3d(0, 10px, 0); + -moz-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + -o-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); } + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -moz-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + -o-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); } + 100% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } +@-webkit-keyframes flying { + 0% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + 25% { + -webkit-transform: translate3d(0, 10px, 0); + -moz-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + -o-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); } + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -moz-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + -o-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); } + 100% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } +@-moz-keyframes flying { + 0% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + 25% { + -webkit-transform: translate3d(0, 10px, 0); + -moz-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + -o-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); } + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -moz-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + -o-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); } + 100% { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } +@keyframes cloudpass { + 0% { + right: -20%; } + 100% { + right: 100%; } } +@-webkit-keyframes cloudpass { + 0% { + right: -20%; } + 100% { + right: 100%; } } +@-moz-keyframes cloudpass { + 0% { + right: -20%; } + 100% { + right: 100%; } } +@keyframes wavebob { + 0% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } + 25% { + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -ms-transform: translateY(10px); + -o-transform: translateY(10px); + transform: translateY(10px); } + 75% { + -webkit-transform: translateY(-10px); + -moz-transform: translateY(-10px); + -ms-transform: translateY(-10px); + -o-transform: translateY(-10px); + transform: translateY(-10px); } + 100% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } } +@-webkit-keyframes wavebob { + 0% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } + 25% { + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -ms-transform: translateY(10px); + -o-transform: translateY(10px); + transform: translateY(10px); } + 75% { + -webkit-transform: translateY(-10px); + -moz-transform: translateY(-10px); + -ms-transform: translateY(-10px); + -o-transform: translateY(-10px); + transform: translateY(-10px); } + 100% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } } +@-moz-keyframes wavebob { + 0% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } + 25% { + -webkit-transform: translateY(10px); + -moz-transform: translateY(10px); + -ms-transform: translateY(10px); + -o-transform: translateY(10px); + transform: translateY(10px); } + 75% { + -webkit-transform: translateY(-10px); + -moz-transform: translateY(-10px); + -ms-transform: translateY(-10px); + -o-transform: translateY(-10px); + transform: translateY(-10px); } + 100% { + -webkit-transform: translateY(0%); + -moz-transform: translateY(0%); + -ms-transform: translateY(0%); + -o-transform: translateY(0%); + transform: translateY(0%); } } +/*------------------------------------ +Global styles +-------------------------------------*/ +* { + padding: 0; + margin: 0; + box-sizing: border-box; } + +body { + font: normal 1rem/1.5rem georgia, serif; + background-color: white; } + +/*------------------------------------ +Typography +-------------------------------------*/ +h1, h2, h3, h4, h5, h6 { + font-family: "Helvetica Neue", helvetica, arial, sans-serif; + font-weight: 200; + margin-bottom: .5rem; } + +h1 { + font-size: 3rem; + line-height: 3.25rem; } + +h2 { + font-size: 2rem; + line-height: 2.25rem; } + +h3 { + font-size: 1.5rem; + line-height: 1.75rem; + margin-bottom: 1rem; } + +h4 { + font-size: 1.25rem; + line-height: 1.5rem; } + +h5 { + font-size: 1rem; } + +h6 { + font-size: .75rem; + line-height: 1rem; } + +p { + font-size: 1rem; + line-height: 1.5rem; + margin-bottom: 1rem; } + +.text-center { + text-align: center; } + +.border-header { + border-bottom: 1px solid #ddd; + margin-bottom: 3rem; } + .border-header span { + position: relative; + top: 1rem; + background: #fff; + padding: 1rem; } + +.button { + background: #6BAB5B; + padding: .5rem 1rem; + border-radius: 4px; + color: #fff; + text-decoration: none; + box-shadow: 0 2px 0 #558c47; + display: inline-block; + margin: 1rem 0; } + .button:hover { + background: #89bc7d; } + .button:active { + box-shadow: none; + -webkit-transform: translateY(2px); + -moz-transform: translateY(2px); + -ms-transform: translateY(2px); + -o-transform: translateY(2px); + transform: translateY(2px); } + +/*------------------------------------ +Structural elements +-------------------------------------*/ +.container { + width: 40rem; + margin: 1rem auto 1rem; } + @media only screen and (max-width: 42rem) { + .container { + width: 90%; } } + +.clearfix { + clear: both; } + +.intro-container { + margin-top: 4rem; } + +#bottom-illustration { + -webkit-perspective: 300; + -moz-perspective: 300; + -ms-perspective: 300; + perspective: 300; + padding-top: 10rem; } + +.illo-container { + position: relative; + margin-bottom: 0; + -webkit-transform: translate3d(-300%, -300px, -100px); + -moz-transform: translate3d(-300%, -300px, -100px); + -ms-transform: translate3d(-300%, -300px, -100px); + -o-transform: translate3d(-300%, -300px, -100px); + transform: translate3d(-300%, -300px, -100px); + -webkit-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + -moz-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + -ms-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + -o-transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: all 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); + z-index: 20; } + .illo-container.enter-frame { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.round-avatar { + border-radius: 50%; + width: 8rem; + height: 8rem; + background: #6BAB5B; + display: block; + margin: 1rem auto; } + +.map { + width: 100%; } + +.full-container { + position: relative; + width: 100%; + bottom: 0; + padding-top: 5rem; + overflow: hidden; + background-image: -webkit-radial-gradient(center bottom, circle cover, #BBD8F0 0%, #fff 70%); + /* New WebKit syntax */ + background-image: -moz-radial-gradient(center bottom, circle cover, #BBD8F0 0%, #fff 70%); + background-image: -ms-radial-gradient(center bottom, circle cover, #BBD8F0 0%, #fff 70%); + /* IE10+ */ + background-image: -o-radial-gradient(center bottom, circle cover, #BBD8F0 0%, #fff 70%); + /* Opera (13?) */ } + +.top-container, .middle-container { + height: 30rem; } + +.middle-container { + position: absolute; + width: 100%; + height: 100%; + bottom: 0; } + .middle-container .flag-container { + top: auto; + bottom: -10%; } + .middle-container .waving-flag { + -webkit-transform: scaleX(-1); + -moz-transform: scaleX(-1); + -ms-transform: scaleX(-1); + -o-transform: scaleX(-1); + transform: scaleX(-1); + top: auto; + bottom: 0; } + .middle-container .cloud-container .cloud1 { + top: 50%; } + .middle-container .cloud-container .cloud2 { + top: 30%; } + +.flying-viking { + -webkit-animation: flying 2s infinite linear; + -moz-animation: flying 2s infinite linear; + -ms-animation: flying 2s infinite linear; + -o-animation: flying 2s infinite linear; + animation: flying 2s infinite linear; + position: relative; + z-index: 20; } + +.viking-n-dragon { + width: 80%; + margin-left: 10%; } + +.bottom-flag { + position: absolute; + width: 38%; + right: 33.35%; + top: -45.75%; + -webkit-transform: rotate(-10deg); + -moz-transform: rotate(-10deg); + -ms-transform: rotate(-10deg); + -o-transform: rotate(-10deg); + transform: rotate(-10deg); } + +.cloud, .building { + position: absolute; + right: 100%; } + +.cloud-container.cloud-container1 { + position: relative; + z-index: 10; } +.cloud-container .cloud1, .cloud-container .cloud2 { + top: auto; } + +.cloud1 { + z-index: 100; + top: 50%; + -webkit-animation: cloudpass 6s infinite linear; + -moz-animation: cloudpass 6s infinite linear; + -ms-animation: cloudpass 6s infinite linear; + -o-animation: cloudpass 6s infinite linear; + animation: cloudpass 6s infinite linear; } + +.cloud2 { + z-index: 1; + top: 40%; + -webkit-animation: cloudpass 9s infinite linear; + -moz-animation: cloudpass 9s infinite linear; + -ms-animation: cloudpass 9s infinite linear; + -o-animation: cloudpass 9s infinite linear; + animation: cloudpass 9s infinite linear; } + +.building { + bottom: 0; + z-index: 20; } + +.building1 { + -webkit-animation: cloudpass 8s 2s infinite linear; + -moz-animation: cloudpass 8s 2s infinite linear; + -ms-animation: cloudpass 8s 2s infinite linear; + -o-animation: cloudpass 8s 2s infinite linear; + animation: cloudpass 8s 2s infinite linear; } + +.building2 { + -webkit-animation: cloudpass 7s 4s infinite linear; + -moz-animation: cloudpass 7s 4s infinite linear; + -ms-animation: cloudpass 7s 4s infinite linear; + -o-animation: cloudpass 7s 4s infinite linear; + animation: cloudpass 7s 4s infinite linear; } + +.building3 { + -webkit-animation: cloudpass 8s infinite linear; + -moz-animation: cloudpass 8s infinite linear; + -ms-animation: cloudpass 8s infinite linear; + -o-animation: cloudpass 8s infinite linear; + animation: cloudpass 8s infinite linear; } + +.building4 { + -webkit-animation: cloudpass 9s 3s infinite linear; + -moz-animation: cloudpass 9s 3s infinite linear; + -ms-animation: cloudpass 9s 3s infinite linear; + -o-animation: cloudpass 9s 3s infinite linear; + animation: cloudpass 9s 3s infinite linear; } + +.flag-container { + width: 400px; + top: 0; + margin: auto; + -webkit-perspective: 1000; + -moz-perspective: 1000; + -ms-perspective: 1000; + perspective: 1000; + z-index: 1; + position: relative; + height: 100%; + -webkit-animation: wavebob 1s linear infinite; + -moz-animation: wavebob 1s linear infinite; + -ms-animation: wavebob 1s linear infinite; + -o-animation: wavebob 1s linear infinite; + animation: wavebob 1s linear infinite; } + +.waving-flag { + width: 100%; + position: absolute; + bottom: 0; + -webkit-transform-origin: bottom center; + -moz-transform-origin: bottom center; + -ms-transform-origin: bottom center; + -o-transform-origin: bottom center; + transform-origin: bottom center; + -webkit-transform: rotate(-10deg); + -moz-transform: rotate(-10deg); + -ms-transform: rotate(-10deg); + -o-transform: rotate(-10deg); + transform: rotate(-10deg); } + +.toplayer { + position: relative; + z-index: 20; } + +.sponsor-placeholder { + width: 100%; + height: 50px; + background: #ddd; + display: block; } + +.abstrac { + width: 40rem; + margin: 1rem auto 2rem; + border-top: 1px solid #ddd; + padding-top: 2rem; } + @media only screen and (max-width: 42rem) { + .abstrac { + width: 90%; } } + +.workshop-toc-container { + width: 40rem; + margin: 2rem auto 2.5rem; } + @media only screen and (max-width: 42rem) { + .workshop-toc-container { + width: 90%; } } + +/*------------------------------------ +Navigation Bar +-------------------------------------*/ +/* This implementation is a tweaked version of http://www.w3schools.com/howto/howto_js_topnav.asp */ +ul.topnav { + list-style-type: none; + position: fixed; + width: 100%; + z-index: 9999; + top: 0; + margin: 0; + padding: 0; + overflow: hidden; + background-color: white; } + +ul.topnav li { + float: left; } + +ul.topnav li a { + display: inline-block; + color: #a0a0a0; + text-align: center; + padding: 14px 16px; + text-decoration: none; + transition: 0.3s; + font-size: 17px; } + +ul.topnav li a:hover { + color: black; } + +ul.topnav li.icon { + display: none; } + +@media screen and (max-width: 1000px) { + ul.topnav li:not(:first-child) { + display: none; } + + ul.topnav li.icon { + float: right; + display: inline-block; } + + ul.topnav.responsive { + position: fixed; } + + ul.topnav.responsive li.icon { + position: absolute; + right: 0; + top: 0; } + + ul.topnav.responsive li { + float: none; + display: inline; } + + ul.topnav.responsive li a { + text-align: left; + width: 100%; } } +/*------------------------------------ +Grid +-------------------------------------*/ +.row { + margin-left: -1rem; + margin-right: -1rem; } + +.column { + float: left; + margin: 0 1rem 3rem; } + +.half-column { + width: calc(50% - 2rem); } + +.quart-column { + width: calc(25% - 2rem); } diff --git a/previews/PR609/2016/images/cloud-2.png b/previews/PR609/2016/images/cloud-2.png new file mode 100644 index 000000000..2aa0bd797 Binary files /dev/null and b/previews/PR609/2016/images/cloud-2.png differ diff --git a/previews/PR609/2016/images/cloud.png b/previews/PR609/2016/images/cloud.png new file mode 100644 index 000000000..b21a88230 Binary files /dev/null and b/previews/PR609/2016/images/cloud.png differ diff --git a/previews/PR609/2016/images/conning-logo.png b/previews/PR609/2016/images/conning-logo.png new file mode 100644 index 000000000..a443607ec Binary files /dev/null and b/previews/PR609/2016/images/conning-logo.png differ diff --git a/previews/PR609/2016/images/conning-logo.svg b/previews/PR609/2016/images/conning-logo.svg new file mode 100644 index 000000000..89f94e83b --- /dev/null +++ b/previews/PR609/2016/images/conning-logo.svg @@ -0,0 +1,55 @@ + + + +]> + + + + + + + + + + + + + + + diff --git a/previews/PR609/2016/images/csail-doors.png b/previews/PR609/2016/images/csail-doors.png new file mode 100644 index 000000000..145b6a2ef Binary files /dev/null and b/previews/PR609/2016/images/csail-doors.png differ diff --git a/previews/PR609/2016/images/flag-bottom.gif b/previews/PR609/2016/images/flag-bottom.gif new file mode 100644 index 000000000..270cf49ff Binary files /dev/null and b/previews/PR609/2016/images/flag-bottom.gif differ diff --git a/previews/PR609/2016/images/holy.jpg b/previews/PR609/2016/images/holy.jpg new file mode 100644 index 000000000..e5c46cd58 Binary files /dev/null and b/previews/PR609/2016/images/holy.jpg differ diff --git a/previews/PR609/2016/images/intel.png b/previews/PR609/2016/images/intel.png new file mode 100644 index 000000000..a30029bd4 Binary files /dev/null and b/previews/PR609/2016/images/intel.png differ diff --git a/previews/PR609/2016/images/invenia.png b/previews/PR609/2016/images/invenia.png new file mode 100644 index 000000000..68ea543a7 Binary files /dev/null and b/previews/PR609/2016/images/invenia.png differ diff --git a/previews/PR609/2016/images/juliacomputing.png b/previews/PR609/2016/images/juliacomputing.png new file mode 100644 index 000000000..9834ede26 Binary files /dev/null and b/previews/PR609/2016/images/juliacomputing.png differ diff --git a/previews/PR609/2016/images/juliacon2016poster3-thumbnail.png b/previews/PR609/2016/images/juliacon2016poster3-thumbnail.png new file mode 100644 index 000000000..63bfe0190 Binary files /dev/null and b/previews/PR609/2016/images/juliacon2016poster3-thumbnail.png differ diff --git a/previews/PR609/2016/images/moore.png b/previews/PR609/2016/images/moore.png new file mode 100644 index 000000000..dd41afaf7 Binary files /dev/null and b/previews/PR609/2016/images/moore.png differ diff --git a/previews/PR609/2016/images/sargent.jpg b/previews/PR609/2016/images/sargent.jpg new file mode 100644 index 000000000..76fb8977f Binary files /dev/null and b/previews/PR609/2016/images/sargent.jpg differ diff --git a/previews/PR609/2016/images/steele.jpg b/previews/PR609/2016/images/steele.jpg new file mode 100644 index 000000000..3a31d8adb Binary files /dev/null and b/previews/PR609/2016/images/steele.jpg differ diff --git a/previews/PR609/2016/images/viking-illustration.png b/previews/PR609/2016/images/viking-illustration.png new file mode 100644 index 000000000..2e6091e71 Binary files /dev/null and b/previews/PR609/2016/images/viking-illustration.png differ diff --git a/previews/PR609/2016/images/waving-flag.gif b/previews/PR609/2016/images/waving-flag.gif new file mode 100644 index 000000000..ae44c1551 Binary files /dev/null and b/previews/PR609/2016/images/waving-flag.gif differ diff --git a/previews/PR609/2016/index-2.html b/previews/PR609/2016/index-2.html new file mode 100644 index 000000000..1dfa06b3f --- /dev/null +++ b/previews/PR609/2016/index-2.html @@ -0,0 +1,285 @@ + + + + + + + JuliaCon 2016: Boston, MA. + + + + + + + + + + + + + + +
+

JuliaCon 2016

+ +
+ +
+
+ +
+
+ +
+
+ + + + +
+The Third Annual JuliaCon, held at MIT, was a huge success with over 50 presenters and 250 participants. The JuliaCon 2016 videos are now online.
+
+ +
+

The third Julia conference will take place June 21st-25th, 2016 at the + Massachusetts Institute of Technology in Cambridge, Massachusetts. + Expect cutting-edge technical talks, hands-on workshops, a chance to rub + shoulders with Julia's creators, and a weekend in a city known for its + historical significance and colonial architecture. + Looking forward to seeing you there!

+ +
+ Eventbrite - JuliaCon 2016 +

+ + Get the official poster for the conference here! +

+ +
+
+
+ +
+
+
+
+

Schedule

+ + + + +
Tuesday, June 21 Workshops
Wednesday-Friday, June 22-24 Talks
Saturday, June 25 Hackathon
+
+
+ +
+
+
+

Keynote Speakers

+ +

The JuliaCon 2016 committee is happy to announce the following keynote speakers:

+ +

Timothy E. Holy is Associate Professor of Neuroscience at Washington University in St. Louis. In 2009 he received the NIH Director’s Pioneer award for innovations in optics and microscopy. His research interests include imaging of neuronal activity and his lab was probably one of the first to adopt Julia for scientific research. He is a long time Julia contributor and a lead developer of Julia’s multidimensional array capabilities as well as the author of far too many Julia packages.

+

Thomas J. Sargent is Professor of Economics at New York University and Senior Fellow at the Hoover Institution. In 2011 the Royal Swedish Academy of Sciences awarded him the Nobel Memorial Prize in Economic Sciences for his work on macroeconomics. Together with John Stachurski he founded quant-econ.net, a Julia and Python based learning platform for quantitative economics focusing on algorithms and numerical methods for studying economic problems as well as coding skills.

+

Guy L. Steele Jr. is a Software Architect for Oracle Labs and Principal Investigator of the Programming Language Research project. The Association for Computing Machinery awarded him the 1988 Grace Murray Hopper award. He has co-designed the programming language Scheme, which has greatly influenced the design of Julia, as well as languages such as Fortress and Java.

+ +

Talks in previous years tackled problems in such diverse fields as bioinformatics, economics, numerical optimization, parallel computing, web development, and more. For an example of what to expect, check out this random talk from last year's JuliaCon:

+
+
+ +
+
+ +
+
+
+

Location

+

The conference will be held in the Stata Center in rooms 123, 141, and 144.

+ +

The arrows below point to the entrances that will be unlocked for the hackathon on Saturday:

+

+
+ +
+
+
+

Committee

+ +


The JuliaCon committee is composed entirely of volunteer organizers + and can be reached at juliacon@julialang.org + with any questions or comments.

+
+ +
+
+
+

Accommodations

+

Accommodations for the conference can be found on MIT's + Where To Stay and + Bed and Breakfast pages. + If none of the locations on these pages suit you, here are a few additional B&B-style locations:

+ +
+ +
+
+
+

Sponsorship

+

Want to be a JuliaCon 2016 sponsor? Three different sponsorship tiers are available: +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
SponsorshipTierComplimentary TicketsSpeaking Slot
$15000Platinum3 tickets (Conference + Workshop)15 minutes
$5000Gold2 tickets (Conference + Workshop)10 minutes
$2000Silver1 ticket (Conference + Workshop)5 minutes
+
+

+

For further details on sponsorship, please contact the JuliaCon committee.

+

JuliaCon 2016 Platinum sponsors: +

+ Gordon and Betty Moore Foundation +
+

+

JuliaCon 2016 Gold sponsors: +

+ Intel Corporation +
+

+

JuliaCon 2016 Silver sponsors: +

+ Conning & Company + Julia Computing, Inc. + Invenia Technical Computing Corporation +
+

+

...along with a generous personal donation from Jeffrey Sarnoff.

+
+ +
+
+
+

Past JuliaCons

+

With 100+ attendees for JuliaCon 2014 and JuliaCon India, and 200+ attendees for last + year's JuliaCon at MIT, we hope that this year we'll be able to meet even more of you and + further grow our awesome community of scientists, hackers and engineers. Come join us!

+

In the meantime, feel free to check out previous JuliaCons by following the links below:

+ +
+
+ + + +
+

Code of Conduct

+

All attendees, speakers, sponsors, and volunteers at our conference are required to agree with and follow the code of conduct. As this is a MIT Event, attendees should also respect the Policy on Harassment.

+ +

JuliaCon is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, religion, or tabs vs spaces preference. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue.

+ +

Harassment includes offensive verbal comments, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Participants asked to stop any harassing behavior are expected to comply immediately.

+ +

If a participant engages in harassing behavior, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund. If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately. Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

+ +

We expect participants to follow these rules at all conference venues and conference-related social events.

+ +

If an incident occurs please contact Stefan Karpinski <stefan@karpinski.org> or Katharine Hyatt <kslimes@gmail.com>.

+
+ + +
+ + +
+
+ + +
+
+
+ + + + diff --git a/previews/PR609/2016/index.html b/previews/PR609/2016/index.html new file mode 100644 index 000000000..d5e699c9e --- /dev/null +++ b/previews/PR609/2016/index.html @@ -0,0 +1,285 @@ + + + + + + + JuliaCon 2016: Boston, MA. + + + + + + + + + + + + + + +
+

JuliaCon 2016

+ +
+ +
+
+ +
+
+ +
+
+ + + + +
+The Third Annual JuliaCon, held at MIT, was a huge success with over 50 presenters and 250 participants. The JuliaCon 2016 videos are now online.
+
+ +
+

The third Julia conference will take place June 21st-25th, 2016 at the + Massachusetts Institute of Technology in Cambridge, Massachusetts. + Expect cutting-edge technical talks, hands-on workshops, a chance to rub + shoulders with Julia's creators, and a weekend in a city known for its + historical significance and colonial architecture. + Looking forward to seeing you there!

+ +
+ Eventbrite - JuliaCon 2016 +

+ + Get the official poster for the conference here! +

+ +
+
+
+ +
+
+
+
+

Schedule

+ + + + +
Tuesday, June 21 Workshops
Wednesday-Friday, June 22-24 Talks
Saturday, June 25 Hackathon
+
+
+ +
+
+
+

Keynote Speakers

+ +

The JuliaCon 2016 committee is happy to announce the following keynote speakers:

+ +

Timothy E. Holy is Associate Professor of Neuroscience at Washington University in St. Louis. In 2009 he received the NIH Director’s Pioneer award for innovations in optics and microscopy. His research interests include imaging of neuronal activity and his lab was probably one of the first to adopt Julia for scientific research. He is a long time Julia contributor and a lead developer of Julia’s multidimensional array capabilities as well as the author of far too many Julia packages.

+

Thomas J. Sargent is Professor of Economics at New York University and Senior Fellow at the Hoover Institution. In 2011 the Royal Swedish Academy of Sciences awarded him the Nobel Memorial Prize in Economic Sciences for his work on macroeconomics. Together with John Stachurski he founded quant-econ.net, a Julia and Python based learning platform for quantitative economics focusing on algorithms and numerical methods for studying economic problems as well as coding skills.

+

Guy L. Steele Jr. is a Software Architect for Oracle Labs and Principal Investigator of the Programming Language Research project. The Association for Computing Machinery awarded him the 1988 Grace Murray Hopper award. He has co-designed the programming language Scheme, which has greatly influenced the design of Julia, as well as languages such as Fortress and Java.

+ +

Talks in previous years tackled problems in such diverse fields as bioinformatics, economics, numerical optimization, parallel computing, web development, and more. For an example of what to expect, check out this random talk from last year's JuliaCon:

+
+
+ +
+
+ +
+
+
+

Location

+

The conference will be held in the Stata Center in rooms 123, 141, and 144.

+ +

The arrows below point to the entrances that will be unlocked for the hackathon on Saturday:

+

+
+ +
+
+
+

Committee

+ +


The JuliaCon committee is composed entirely of volunteer organizers + and can be reached at juliacon@julialang.org + with any questions or comments.

+
+ +
+
+
+

Accommodations

+

Accommodations for the conference can be found on MIT's + Where To Stay and + Bed and Breakfast pages. + If none of the locations on these pages suit you, here are a few additional B&B-style locations:

+ +
+ +
+
+
+

Sponsorship

+

Want to be a JuliaCon 2016 sponsor? Three different sponsorship tiers are available: +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
SponsorshipTierComplimentary TicketsSpeaking Slot
$15000Platinum3 tickets (Conference + Workshop)15 minutes
$5000Gold2 tickets (Conference + Workshop)10 minutes
$2000Silver1 ticket (Conference + Workshop)5 minutes
+
+

+

For further details on sponsorship, please contact the JuliaCon committee.

+

JuliaCon 2016 Platinum sponsors: +

+ Gordon and Betty Moore Foundation +
+

+

JuliaCon 2016 Gold sponsors: +

+ Intel Corporation +
+

+

JuliaCon 2016 Silver sponsors: +

+ Conning & Company + Julia Computing, Inc. + Invenia Technical Computing Corporation +
+

+

...along with a generous personal donation from Jeffrey Sarnoff.

+
+ +
+
+
+

Past JuliaCons

+

With 100+ attendees for JuliaCon 2014 and JuliaCon India, and 200+ attendees for last + year's JuliaCon at MIT, we hope that this year we'll be able to meet even more of you and + further grow our awesome community of scientists, hackers and engineers. Come join us!

+

In the meantime, feel free to check out previous JuliaCons by following the links below:

+ +
+
+ + + +
+

Code of Conduct

+

All attendees, speakers, sponsors, and volunteers at our conference are required to agree with and follow the code of conduct. As this is a MIT Event, attendees should also respect the Policy on Harassment.

+ +

JuliaCon is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, religion, or tabs vs spaces preference. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue.

+ +

Harassment includes offensive verbal comments, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Participants asked to stop any harassing behavior are expected to comply immediately.

+ +

If a participant engages in harassing behavior, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund. If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately. Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

+ +

We expect participants to follow these rules at all conference venues and conference-related social events.

+ +

If an incident occurs please contact Stefan Karpinski <stefan@karpinski.org> or Katharine Hyatt <kslimes@gmail.com>.

+
+ + +
+ + +
+
+ + +
+
+
+ + + + diff --git a/previews/PR609/2016/js/juliacon.js b/previews/PR609/2016/js/juliacon.js new file mode 100644 index 000000000..85f8d2ff3 --- /dev/null +++ b/previews/PR609/2016/js/juliacon.js @@ -0,0 +1,40 @@ +$(document).ready(function(){ + var midpoint = $('.middle-container').offset().top; + + $(window).on('scroll', function() { + $('.top-container .waving-flag').css({ + '-webkit-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + '-moz-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + '-o-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + '-ms-transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)', + 'transform': 'translate3d(' + $(window).scrollTop() + 'px, ' + $(window).scrollTop()*0.05 + 'px, ' + $(window).scrollTop()*-1 + 'px) rotate(-10deg)' + }); + + $('.middle-container .waving-flag').css({ + '-webkit-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + '-moz-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + '-o-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + '-ms-transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)', + 'transform': 'translate3d(' + -1*($(window).scrollTop()-midpoint - $(window).width()/2) + 'px, ' + ($(window).scrollTop()-(midpoint*1.5))*.1 + 'px, ' + ($(window).scrollTop()-midpoint)*.07 + 'px) rotate(10deg) scaleX(-1)' + }); + + $('.fixed-container .cloud-container1').css({ + '-webkit-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + '-moz-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + '-o-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + '-ms-transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)', + 'transform': 'translateY(' + $(window).scrollTop()*0.4 + 'px)' + }); + $('.fixed-container .cloud-container2').css({ + '-webkit-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + '-moz-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + '-o-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + '-ms-transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)', + 'transform': 'translateY(' + $(window).scrollTop()*0.2 + 'px)' + }); + + if ($(window).scrollTop() >= ($('#bottom-illustration').offset().top) - $(window).height()/2) { + $('.illo-container').addClass('enter-frame'); + } + }); +}); diff --git a/previews/PR609/2016/pdf/juliacon2016poster3.pdf b/previews/PR609/2016/pdf/juliacon2016poster3.pdf new file mode 100644 index 000000000..e9e389c88 Binary files /dev/null and b/previews/PR609/2016/pdf/juliacon2016poster3.pdf differ diff --git a/previews/PR609/2016/schedule.html b/previews/PR609/2016/schedule.html new file mode 100644 index 000000000..c497b8f06 --- /dev/null +++ b/previews/PR609/2016/schedule.html @@ -0,0 +1,324 @@ + + + + + + + JuliaCon 2016: Boston, MA. + + + + + + + + + + + + + + + +
+

JuliaCon 2016

+ +
+ +
+
+ +
+
+ +
+
+ + +
+

Talk Schedule

+

Please see here for Tuesday workshop schedule.

+ +

Most talks are 30 minutes long (plus 5 minutes for questions).

+

⚡ denotes a lightning talk. These talks are 8 minutes long (plus 2 minutes for questions).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
WednesdayTrack 1 - Room 123Track 2 - Room 141
8:00LIGHT BREAKFAST
8:30Opening remarks
8:40Invited Talk: Fortress Features and Lessons Learned
Guy Steele
9:30Gallium
Keno Fischer
10:00⚡ Juno, a Julia IDE
Mike Innes
10:10MORNING BREAK
10:40Julia for data science: current progress and future plans
Simon Byrne
11:17⚡ TypedTables: type-safe data containers
Andy Ferris
11:30⚡ Music Information Retrieval in Julia
Jong Wook Kim
11:42⚡ Using Julia as a Quick and Dirty Code Generator
Arch D. Robison
11:55A word from sponsors (Intel, Invenia)
12:10LUNCH
13:30Automatic differentiation techniques used in JuMP
Miles Lubin
Current state of GLVisualize
Simon Danisch
14:07ForwardDiff.jl: Fast Derivatives Made Easy
Jarrett Revels
⚡ Introduction to Vulkan
Simon Danisch
⚡ ThreeJS.jl: Interactive 3D Graphics in the Browser using Julia
Rohit Varkey Thankachan
⚡ NetworkViz.jl - A Julia interface to visualize graphs using ThreeJS.jl.
Abhijith Anilkumar
14:45⚡ Enabling reverse communication solvers and embedding Julia
Andy Greenwell
⚡ State of the GR framework
Josef Heinen
⚡ Iterative Methods for Sparse Linear Systems in Julia: A Quick Overview
Lars Ruthotto
⚡ Patterns for building web apps with Escher.jl
Shashi Gowda
15:10AFTERNOON BREAK (W/COFFEE)
15:40Finding Julia Bugs Automatically
Robert Feldt
Unums 2.0: Implementing projective intervals and sets in Julia
Jason Merrill
16:17⚡ Julia and R: Can't we have both?
Douglas Bates
The design and use of extended precision floats
Jeffrey Sarnoff
⚡ CppWrapper: Write Julia modules in C++
Bart Janssens
⚡ APL at Julia's speed
Shashi Gowda
16:55⚡ Building the Julia community in India
Zainab Bawa
⚡ Bounded Integers with Type-Level Constants
David Hossack
17:05
ThursdayTrack 1 - Room 123Track 2 - Room 141
8:00LIGHT BREAKFAST
8:45Invited Talk: To the curious incident of the CPU in the run-time: an overview of arrays and iteration in Julia
Tim Holy
9:35Julia 1.0
Stefan Karpinski
10:10MORNING BREAK
10:40⚡ Autonomous driving for RC cars with ROS and Julia
Jon Gonzales
Minecraft and LEDs : Julia on the Raspberry Pi
Avik Sengupta
11:30⚡ Overview of the new JuliaBox
Nishanth Kottary
11:42A word from sponsors (Moore, Julia Computing)
12:02LUNCH
13:30HPAT.jl - Easy and Fast Big Data Analytics
Ehsan Totoni
Julia and Partial Differential Equations: Being Faster than M*TL*B
Clemens Heitzinger
OnlineStats.jl: Statistics for Streaming and Big Data
Josh Day
Finite Element Analysis in Julia
Kristoffer Carlsson
14:45DataStreams: Workflows for Data Processing Tasks
Jacob Quinn
Astrodynamics.jl: Modern Spaceflight Dynamics in Julia
Helge Eichhorn
15:20AFTERNOON BREAK (W/COFFEE)
15:40Least Squares with high dimensional variables
Matthieu Gomez
Precise and rigorous calculations for dynamical systems
David P. Sanders & Luis Benet
VinDsl.jl: Fast and furious statistical modeling
John Pearson
A novel algorithm for model selection in genome-wide association studies
Kevin L. Keys
16:55⚡ Towards a nonparametric belief solution for factor graphs
Dehann Fourie
⚡ OpenMendel Project
Hua Zhou
17:07⚡ Lora: a framework for Monte Carlo methods in Julia
Theodore Papamarkou
17:20
FridayTrack 1 - Room 123Track 2 - Room 141
8:00LIGHT BREAKFAST
8:45Invited Talk: Quantitative Macroeconomics
Tom Sargent
9:35DSGE.jl – Using Julia for Economic Modeling at the Federal Reserve Bank of New York
Erica Moszkowski
10:10MORNING BREAK
10:40BioJulia: Towards Bioinformatics in the Real World
Kenta Sato
The Two Cultures of Programming
Joshua Ballanco
10:46Backend Agnostic GraphLayout.jl
Abhijith Anilkumar
10:52Parallelized graph processing in Julia
Pranav Thulasiram Bhat
10:58Cross-platform vectorization using Accelerate, Yeppp! and VML
Remy Prechelt
11:04Implementing HTTP/2 for Julia
Wei Tang
11:10Julia Interactive Tutorial System
Matthew Lake (via video)
11:16Documenting Julia packages
Morten Piibeleht
Machine Code
Jameson Nash
11:22Support for complex-domain optimization problems in Convex.jl
Ayush Pandey
11:28Presolve Routines for Optimization Problems
Ramchandran M
11:34A Review of a Recently Implemented Implicit and Adaptive ODE Solver based on Adam-Bashforth-Multon Methods
Joseph Obiajulu
11:40Exposure Correction and Feature Extraction with Images.jl
Anchit Navelkar
11:46When is my calculation done? Programmatic query for the status of long calculations
Juan Antonio López Mendoza
11:52Pkg3: Julia Environments
Art Diky
12:00A word from sponsors (Conning, Jeffrey Sarnoff)
12:15LUNCH
13:30ComputeFramework.jl - A framework and scheduler for parallel computing
Shashi Gowda
Accurate 3D mapping with Geodesy and Proj4
Chris Foster
14:07A tour of ParallelAccelerator.jl
Lindsey Kuper
How to combine efficiently discrete-event and continuous-time simulations in Julia?
Ben Lauwens
14:45⚡ A functional approach to High Performance Computing
Erik Schnetter
⚡ QuDynamics - Framework for solving Dynamical Quantum Equations.
Amit Jamadagni
⚡ Bounds check elimination in Julia v0.5
Blake Johnson
⚡ Network Algorithms Research in Julia
Huda Nassar
15:10AFTERNOON BREAK (W/COFFEE)
15:40High Performance Vectorized Computations with Yeppp!
Robert Guthrie
⚡ Swifter.jl : Scripting, REPL for iOS App development
WooKyoung Noh
⚡ PETSc.jl: Interfacing an enormous C sparse-matrix library
Jared Crean
⚡ jInv - A Flexible Julia Package for Parallel PDE Constrained Optimization
Lars Ruthotto
16:17Accelerating Julia Kernels with ArrayFire
Ranjan Anantharaman
17:00Closing remarks
17:10
+ + +
+ +
JuliaCon 2016 Home Page
+ + +
+ + +
+
+ + +
+
+
+ + + + diff --git a/previews/PR609/2016/workshops.html b/previews/PR609/2016/workshops.html new file mode 100644 index 000000000..e67e6c04a --- /dev/null +++ b/previews/PR609/2016/workshops.html @@ -0,0 +1,273 @@ + + + + + + + JuliaCon 2016: Boston, MA. + + + + + + + + + + + + + + + +
+

JuliaCon 2016

+ +
+ +
+
+ +
+
+ +
+
+ + +
+

Workshops

+
+ + + + + + + + + +
Track 1 - Room 32-123Track 2 - Room 32-141
8:30 LIGHT BREAKFAST
9:00 Invitation to Intermediate-Level JuliaIntroduction to Writing High Performance Julia
12:00 LUNCH
13:30 Plots with PlotsCreating, Distributing, and Testing Julia Packages with Binary Dependencies
15:00 AFTERNOON BREAK (W/COFFEE)
15:15 Parallel computing with Julia
17:15 END
+
+
+ +
+

Invitation to Intermediate-Level Julia

+ David P. Sanders ( + Department of Physics, Faculty of Sciences, + National Autonomous University of Mexico [UNAM] & Julia group, MIT) +

+

This is a tutorial workshop on intermediate-level Julia, suitable for + anybody who has some programming experience and knows basic Julia syntax. The GitHub + repository containing the workshop materials can be found here: + + +
https://github.com/dpsanders/invitation_to_julia(workshop materials)
+

+

+ It follows on from the basic Invitation to Julia tutorial from JuliaCon 2015. + It is recommended that you browse through that material before attending this tutorial, + available at: + + +
https://www.youtube.com/watch?v=gQ1y5NUD_RI (video)
https://github.com/dpsanders/invitation_to_julia(IJulia notebooks)
+

+

+ We will cover material from the following topics: +

+

+ +

Bio: David P. Sanders + is an associate professor of computational physics in the Department of Physics, + Faculty of Sciences, National University of Mexico (UNAM), + and is on sabbatical in the Julia group at MIT during 2016. + David discovered Julia at the start of 2014 and now uses it exclusively in both + teaching and research. He is an author of the ValidatedNumerics.jl package for + rigorous numerics, and has given tutorials on Julia at SciPy 2014 and JuliaCon 2015 + (see here), + with collectively nearly 50,000 views on YouTube. +

+
+ +
+

Introduction to Writing High Performance Julia

+

Arch D. Robison, Intel Corporation

+

This workshop is an introduction to writing high performance code in Julia. + We'll start with a high level view of the hardware and Julia, + and how Julia semantics differ from languages such as C/C++/Fortran. + Next we'll cover how Julia compiles your program, from your source text down to the machine instructions. + The key is to make Julia's type-inference work for you instead of against you, and cater to the hardware. + We'll also look at "deals with the devil" annotations (@inbounds, @fastmath, @simd) + so that you understand the trade you make with those annotations. + Finally, we'll look the art of writing vectorizable code, which brings many of the topics together. + Overall, the goal is to understand what you need to do, and what to leave to the compiler, to get high preforming code. + + Attendees are encouraged to bring a computer with Julia to try exercises that involve speeding up slow examples.

+ + The presentation and exercises can be found here: + + +
http://www.blonzonics.us/julia/juliacon-2016(workshop materials)
+

+

Bio: Arch D. Robison was the lead developer for KAI C++, + the original architect of Intel Threading Building Blocks, + and one of the authors of *Structured Parallel Programming: Patterns for Efficient Computation*. + He contributed type-based alias analysis and vectorization support to Julia. + Arch took 2nd place in Al Zimmerman’s "Delacorte Numbers" programming contest using Julia exclusively. + His Erdös number is 3. +

+
+ +
+

Plots with Plots

+

Tom Breloff

+

A hands-on workshop of how to hack visualizations with Plots.jl and the various backends it supports.

+ +

Bio: Tom Breloff has spent a decade in finance building and running algorithmic trading operations. + A self-proclaimed mad scientist, studying different subjects related to AGI (neuroscience, deep learning, etc), + he has a heavy background in high throughput systems and data visualization in finance. + Tom has a B.A. in Mathematics and B.S. in Economics from the Unversity of Rochester, + and a M.S. from NYU Courant Institute. +

+
+ +
+

Creating, Distributing, and Testing Julia Packages with Binary Dependencies

+

Tony Kelman, Julia Computing

+

I will cover the process and tools for creating Julia packages that wrap C (or Fortran) libraries. + Working through a small example I will cover how to initially get basic functionality working + interactively from the REPL, then structure the code as a Julia package. + We will begin working from a single development platform, + then proceed to show how to build, distribute, and leverage automated + testing tools to get the C library and wrapper Julia package working + across common Linux distributions, Mac OS X, and Windows. + The GitHub repository containing the workshop notebook can be found here: + + +
https://github.com/tkelman/JuliaCon2016workshop(workshop materials)
+

+

Bio: + Tony Kelman recently completed a Ph.D. in Mechanical Engineering at Berkeley, + doing research in optimization based control. + He began contributing to open source in 2012 with build system improvements + to the COIN-OR set of optimization solver libraries. + He started using and contributing to Julia in early 2014, and joined Julia Computing in late 2015. +

+
+ +
+

Parallel Computing with Julia

+

Viral Shah, Shashi Gowda, Andreas Noack, Ranjan Anantharaman, Amit Murthy

+

This workshop will give an overview of tools in Julia for dealing with large amounts of data.

+

Building Blocks for parallel computing in Julia: +

+

+

Multi-Threading Julia: +

+

+

GPUs +

+

+

MPI and Elemental +

+

+

ComputeFramework - out of core parallel computations +

+

+

Bio: + Prolific contributors to the Julia ecosystem. +

+
+ +
JuliaCon 2016 Home Page
+ + +
+ + +
+
+ + +
+
+
+ + + + diff --git a/previews/PR609/2017/assets/css/grid.css b/previews/PR609/2017/assets/css/grid.css new file mode 100644 index 000000000..82a9e4239 --- /dev/null +++ b/previews/PR609/2017/assets/css/grid.css @@ -0,0 +1,40 @@ +.u-container { max-width: 1152px; } +.u-cols-1 { width: 64px } +.u-cols-2 { width: 160px } +.u-cols-3 { width: 256px } +.u-cols-4 { width: 352px } +.u-cols-5 { width: 448px } +.u-cols-6 { width: 544px } +.u-cols-7 { width: 640px } +.u-cols-8 { width: 736px } +.u-cols-9 { width: 832px } +.u-cols-10 { width: 928px } +.u-cols-11 { width: 1024px } +.u-cols-12 { width: 1120px } +.u-cols-1,.u-cols-2,.u-cols-3,.u-cols-4,.u-cols-5,.u-cols-6,.u-cols-7,.u-cols-8,.u-cols-9,.u-cols-10,.u-cols-11,.u-cols-12,.u-hmargins.u-max-cols-1,.u-max-cols-2,.u-max-cols-3,.u-max-cols-4,.u-max-cols-5,.u-max-cols-6,.u-max-cols-7,.u-max-cols-8,.u-max-cols-9,.u-max-cols-10,.u-max-cols-11,.u-max-cols-12 { margin-left: 16.0px; margin-right: 16.0px } +.u-max-cols-1 { max-width: 64px } +.u-max-cols-2 { max-width: 160px } +.u-max-cols-3 { max-width: 256px } +.u-max-cols-4 { max-width: 352px } +.u-max-cols-5 { max-width: 448px } +.u-max-cols-6 { max-width: 544px } +.u-max-cols-7 { max-width: 640px } +.u-max-cols-8 { max-width: 736px } +.u-max-cols-9 { max-width: 832px } +.u-max-cols-10 { max-width: 928px } +.u-max-cols-11 { max-width: 1024px } +.u-max-cols-12 { max-width: 1120px } +.u-cols-1,.u-cols-2,.u-cols-3,.u-cols-4,.u-cols-5,.u-cols-6,.u-cols-7,.u-cols-8,.u-cols-9,.u-cols-10,.u-cols-11,.u-cols-12,.u-hmargins.u-max-cols-1,.u-max-cols-2,.u-max-cols-3,.u-max-cols-4,.u-max-cols-5,.u-max-cols-6,.u-max-cols-7,.u-max-cols-8,.u-max-cols-9,.u-max-cols-10,.u-max-cols-11,.u-max-cols-12 { margin-left: 16.0px; margin-right: 16.0px } +.u-rows-1 { min-height: 64px} +.u-rows-2 { min-height: 160px} +.u-rows-3 { min-height: 256px} +.u-rows-4 { min-height: 352px} +.u-rows-5 { min-height: 448px} +.u-rows-6 { min-height: 544px} +.u-rows-7 { min-height: 640px} +.u-rows-8 { min-height: 736px} +.u-rows-9 { min-height: 832px} +.u-rows-10 { min-height: 928px} +.u-rows-11 { min-height: 1024px} +.u-rows-12 { min-height: 1120px} +.u-rows-1,.u-rows-2,.u-rows-3,.u-rows-4,.u-rows-5,.u-rows-6,.u-rows-7,.u-rows-8,.u-rows-9,.u-rows-10,.u-rows-11,.u-rows-12,.u-vmargins { padding-top: 16.0px; padding-bottom: 16.0px }.u-margins { margin: 16.0px } .u-pad { padding: 16.0px } diff --git a/previews/PR609/2017/assets/css/reset.css b/previews/PR609/2017/assets/css/reset.css new file mode 100644 index 000000000..85af6570b --- /dev/null +++ b/previews/PR609/2017/assets/css/reset.css @@ -0,0 +1,38 @@ + +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/previews/PR609/2017/assets/css/style.css b/previews/PR609/2017/assets/css/style.css new file mode 100644 index 000000000..229e11619 --- /dev/null +++ b/previews/PR609/2017/assets/css/style.css @@ -0,0 +1,301 @@ +html { + color: #393333; +} +a { + text-decoration: none; +} + +a { + color: #9d253d; +} + +h1 { + font-size: 32px; + margin-bottom: 12px; + line-height: 48px; + font-weight: bold; + font-family: "futura-pt"; +} + +h2 { + font-size: 32px; + line-height: 40px; + margin-bottom: 16px; + font-family: "futura-pt"; +} + +h3 { + font-size: 24px; + line-height: 40px; + margin-bottom: 16px; + font-family: "futura-pt"; +} + +h1,h2,h3,h4 { + color: #b07950; +} +.link-color-inherit a, a.link-color-inherit { + color: inherit; +} +.u-slab { + font-family: "Roboto Slab"; +} + +.u-futura { + font-family: "futura-pt"; +} + + +.banner-bg { + min-height: 384px; + background-size: cover; + -moz-background-size: cover; + background-repeat: no-repeat; + background-position: top; +} + +.light-button { + background: #ffffff; + border: 1px #888 solid; + color: #222; +} +.red-button { + background: #cb3c33; + border: none; + color: #000; +} + +.bg-blue { + background-color: #426e93; +} + +.bg-black { + background-color: #111; +} +.bg-white { + background-color: #fff; +} + +.bg-light-gray { + background-color: #ededed; +} +.bg-purple { + background: #934845; +} +.text-gray { + color: #575757; +} +.text-light-gray { + color: #cbd4db; +} +.border-gray { + border-color: #cbd4db !important; +} + +.text-dark-gray { + color: #1b1b1b; +} +.text-white { + color: #ffffff; +} +.bg-dark-gray { + background-color: #1b1b1b; +} +.u-fullwidth { + width: 98vw; +} + +.active { + border-top: solid #000 4px; + padding-top: 12px; + color: #000 !important; + font-weight: bold; +} + +.text-pad { + padding: 0.333em 1em; +} + +.text-red { + color: #d93939; +} + +.bg-light-blue { + background-color: #61d4e0; +} + +.text-medium-blue { + color: #426e93 +} + +.bg-dark-blue { + background-color: #27465c; +} +.text-light-blue { + color: #6586a1; +} + +.bg-white { + background-color: #ffffff; +} + +.text-overflow-fade { + overflow: hidden; +} + +.text-blue { + color: #416e93; +} + +.long-form h2 { + font-size: 24px; + font-family: 'futura-pt'; +} + +pre { + white-space: pre-wrap; /* Since CSS 2.1 */ + white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ + padding: 1em; + font-size: 14px; + border-radius: 7px; + background: #f7f7f8; + border: #ebebeb 1px solid; +} +pre, code { + font-family: monospace; + background: #f7f7f8; + border: #ebebeb 1px solid; +} +pre > code { + background: inherit; + border: none; +} + +code { + padding: 0.1em 0.5em; + border-radius: 4px; +} + +ul, ol { + padding-left: 1em; +} + +.u-borders { + border: 1px solid #fff; +} +.u-hborders { + border-top: 1px solid #fff; + border-bottom: 1px solid #fff; +} +.u-vborders { + border-right: 1px solid #fff; + border-left: 1px solid #fff; +} + +.u-border-bottom { + border-bottom: 1px solid #fff; +} +.u-border-collapse { + border-collapse:collapse; +} +.u-hpad { + padding-left: 16px; + padding-right: 17px; +} + +.avatar-circle { + height: 144px; + width: 144px; + border-radius:80px; + border: 8px solid #fff; + overflow: hidden; +} + +.avatar-circle-talks { + position: relative; + left: 8pt; + top: -2em; + width: 70pt; + border-radius: 60px; + border: 1px solid #888888; + overflow: hidden; + background-color: #fff; + display: none; /*can't figure out how to display this */ +} +.avatar-talks { + color: #bf382e; + font-size: 12pt; + position: relative; + top: -35%; + min-height: 25pt; + max-height: 40pt; +} + +.u-fit-width { + width: 100%; + height: auto; +} + +.avatar-img { + min-height: 144px; + min-width: 144px; + max-height: 144px; + max-width: 144px; + height: auto; + width: auto; +} + +.border-white { border-color: white} +.bg-black { background-color: #000000} +.bg-gray-1 { background-color: #282828} +.bg-gray-2 { background-color: #505050} +.bg-gray-3 { background-color: #6E6E6E} +.bg-gray-4 { background-color: #969696} +.bg-white { background-color: #ffffff}.text-black { color: #000000} +.text-gray-1 { color: #282828} +.text-gray-2 { color: #505050} +.text-gray-3 { color: #6E6E6E} +.text-gray-4 { color: #969696} +.text-white { color: #ffffff}.border-black { border-color: #000000} +.border-gray-1 { border-color: #282828} +.border-gray-2 { border-color: #505050} +.border-gray-3 { border-color: #6E6E6E} +.border-gray-4 { border-color: #969696} +.border-white { border-color: #ffffff} + +.u-pad-2 { + padding:32px; +} + +.long-form td, th { + padding: 0.5em; + border: #cfcfcf solid 1px; +} +.long-form th { + font-weight: bold; +} + +.banner-gradient { + background: radial-gradient(circle at bottom right, #e7a248, #e74248, #9d253d); /* Standard syntax */ + background-color: #e74248; +} + +.text-yellow { + color: #f0b980 +} +.text-shadow { + text-shadow: 2px 2px 2px #7d253d; + +} +.bg-yellow { + background-color: #f0b980 +} +.text-maroon { + color: #9d253d; +} +.bg-maroon { + background-color: #9d253d; +} diff --git a/previews/PR609/2017/assets/css/type-scale.css b/previews/PR609/2017/assets/css/type-scale.css new file mode 100644 index 000000000..a1290cad0 --- /dev/null +++ b/previews/PR609/2017/assets/css/type-scale.css @@ -0,0 +1,48 @@ + + +p, blockquote, pre, ul, ol { + line-height: 1.75; + margin-bottom: 24px; +} +blockquote { + padding-right: 2em; + padding-left: 2em; +} + +strong, .u-bold { + font-weight: bold; +} + +ul { + padding-left: 2em; + margin-bottom: 16px; +} + + +html,body { + font-family: 'Noto Sans', sans-serif; + font-weight: 400; + font-size: 16px; + line-height: 32px; +} + +.u-body-extra-small { font-size: 14px; line-height:24px } +.u-body-small { font-size: 16px; line-height:24px } +.u-body-regular { font-size: 16px; line-height:32px } +.u-body-medium { font-size: 18px; line-height:30px } +.u-body-large { font-size: 20px; line-height:34px } + +.u-highlight-extra-large { font-size: 26px; line-height:38px } +.u-highlight-large { font-size: 24px; line-height:36px } +.u-highlight-medium { font-size: 22px; line-height:34px } +.u-highlight-small { font-size: 18px; line-height:28px } + +.u-title-extra-large { font-size: 100px; line-height: 128px } +.u-title-large { font-size: 52px; line-height: 64px } +.u-title-medium { font-size: 36px; line-height:44px } +.u-title-regular { font-size: 34px; line-height:42px } +.u-title-small { font-size: 28px; line-height:34px } +.u-title-extra-small { font-size: 18px; line-height:24px } + +.u-subline { font-size: 12px; line-height:24px } + diff --git a/previews/PR609/2017/assets/css/util.css b/previews/PR609/2017/assets/css/util.css new file mode 100644 index 000000000..0d6f808a9 --- /dev/null +++ b/previews/PR609/2017/assets/css/util.css @@ -0,0 +1,186 @@ +.u-border-bottom { + border-bottom: 1px solid #bbb; +} + +.u-uppercase { + text-transform: uppercase; +} + +.u-center { + margin: 0 auto !important; +} + +.u-space-around { + justify-content: space-around; +} + +.u-space-between { + justify-content: space-between; +} +.u-relative { + position: relative; +} + +.u-flex { + display: flex; +} + +.u-flex-grow { + flex-grow: 1.0; +} + +.u-hbox { + display: flex; + flex-direction: row; + flex-flow: row wrap; +} + +.u-vbox { + display: flex; + flex-direction: column; +} + +.u-half-width { + width: 45%; + margin-right: 2em; +} +.u-items-end { + align-items: flex-end; +} + +.u-justify-end { + justify-content: flex-end; +} +.u-items-center { + align-items: center; +} +.u-items-stretch { + align-items: stretch; +} + +.u-items-start { + align-items: flex-start; +} +.u-justify-center { + justify-content: center; +} +.u-justify-space-between { + justify-content: space-between; +} + +.u-hskip-half { width: 0.5rem; height:0; } +.u-hskip { width: 1rem; height:0; } +.u-hskip-2 { width: 2rem; height:0; } +.u-hskip-3 { width: 3rem; height:0; } +.u-vskip-half { height: 0.5rem; width:0; } +.u-vskip { height: 1rem; width:0; } +.u-vskip-2 { height: 2rem; width:0; } +.u-vskip-3 { height: 3rem; width:0; } + +.u-button { + color: #fff; + padding: 0.333em 1em; + outline: none; + border-radius: 4px; + min-width: 128px; + text-align: center; + background: #272822; +} +.u-button:hover { + background: #555; + color: #fff; +} + +.u-input { + border: none; + color: #444; + padding: 0.333em 1em; + border-radius: 4px; + min-width: 128px; + outline:none; +} + +.u-regular { + font-weight: 400; +} + +.u-extra-light { + font-weight: 200; +} +.u-thin { + font-weight: 300; +} + +.u-text-center { + text-align: center; +} + +.u-text-right { + text-align: right; +} + +.u-display-none { + display: none; +} + +.u-bold { + font-weight: bold; +} +.u-italic { + font-style: italic; +} + +.u-gray-3 { + color: #333; +} + +.u-bordered { + border: 1px solid #888; +} + +.u-flip { + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; +} + +.u-hline { + height:0; + border-bottom: 1px solid #fff; + width: 100%; +} + +.u-vline { + width:0; + border-right: 1px solid #fff; + align-self: stretch; +} +.u-self-stretch { + align-self: stretch; +} + +.u-self-end { + align-self: flex-end; +} + +.u-fit-background { + background-size: cover; + -moz-background-size: cover; + background-repeat: no-repeat; + background-position: center center; +} + +.u-relative { + position: relative; +} + +.u-bottom { + position: absolute; + bottom: 0; +} +.u-zero-margins { + margin: 0 !important; +} diff --git a/previews/PR609/2017/assets/img/banner-thumbnail.png b/previews/PR609/2017/assets/img/banner-thumbnail.png new file mode 100644 index 000000000..db45f1e4f Binary files /dev/null and b/previews/PR609/2017/assets/img/banner-thumbnail.png differ diff --git a/previews/PR609/2017/assets/img/berkeley.png b/previews/PR609/2017/assets/img/berkeley.png new file mode 100644 index 000000000..009e2e9c6 Binary files /dev/null and b/previews/PR609/2017/assets/img/berkeley.png differ diff --git a/previews/PR609/2017/assets/img/logo.svg b/previews/PR609/2017/assets/img/logo.svg new file mode 100644 index 000000000..ef5b03067 --- /dev/null +++ b/previews/PR609/2017/assets/img/logo.svg @@ -0,0 +1,363 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/2017/assets/img/og-juliacon.png b/previews/PR609/2017/assets/img/og-juliacon.png new file mode 100644 index 000000000..b981d328d Binary files /dev/null and b/previews/PR609/2017/assets/img/og-juliacon.png differ diff --git a/previews/PR609/2017/assets/img/waving-flag.gif b/previews/PR609/2017/assets/img/waving-flag.gif new file mode 100644 index 000000000..07ab3101c Binary files /dev/null and b/previews/PR609/2017/assets/img/waving-flag.gif differ diff --git a/previews/PR609/2017/assets/pdf/JuliaCon-2017-poster.pdf b/previews/PR609/2017/assets/pdf/JuliaCon-2017-poster.pdf new file mode 100644 index 000000000..64e7ff370 Binary files /dev/null and b/previews/PR609/2017/assets/pdf/JuliaCon-2017-poster.pdf differ diff --git a/previews/PR609/2017/assets/slides/2017 JuliaCon Roadmap.pdf b/previews/PR609/2017/assets/slides/2017 JuliaCon Roadmap.pdf new file mode 100644 index 000000000..043f66db9 Binary files /dev/null and b/previews/PR609/2017/assets/slides/2017 JuliaCon Roadmap.pdf differ diff --git a/previews/PR609/2017/assets/slides/AnthoffJuliacon2017.pdf b/previews/PR609/2017/assets/slides/AnthoffJuliacon2017.pdf new file mode 100644 index 000000000..05bdfbede Binary files /dev/null and b/previews/PR609/2017/assets/slides/AnthoffJuliacon2017.pdf differ diff --git a/previews/PR609/2017/assets/slides/Julia for Infrastructure (Juliacon '17).pdf b/previews/PR609/2017/assets/slides/Julia for Infrastructure (Juliacon '17).pdf new file mode 100644 index 000000000..7d665aaee Binary files /dev/null and b/previews/PR609/2017/assets/slides/Julia for Infrastructure (Juliacon '17).pdf differ diff --git a/previews/PR609/2017/assets/slides/Julia_Web_Development_with_Genie--slides.zip b/previews/PR609/2017/assets/slides/Julia_Web_Development_with_Genie--slides.zip new file mode 100644 index 000000000..6ea02806b Binary files /dev/null and b/previews/PR609/2017/assets/slides/Julia_Web_Development_with_Genie--slides.zip differ diff --git a/previews/PR609/2017/assets/slides/lightgraphsjl.pdf b/previews/PR609/2017/assets/slides/lightgraphsjl.pdf new file mode 100644 index 000000000..ac56a061c Binary files /dev/null and b/previews/PR609/2017/assets/slides/lightgraphsjl.pdf differ diff --git a/previews/PR609/2017/coc.html b/previews/PR609/2017/coc.html new file mode 100644 index 000000000..efe37c890 --- /dev/null +++ b/previews/PR609/2017/coc.html @@ -0,0 +1,161 @@ + + + + + + + + JuliaCon 2017, Berkeley, CA + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
2017
+
+
+
+
Previous editions: 2016 | 2015 | 2014
+
+ + +
+
+

Code of Conduct

+ +

JuliaCon is dedicated to providing a harassment-free conference +experience for everyone, regardless of gender, gender identity and +expression, sexual orientation, disability, physical appearance, body +size, race, age, religion, text editor choice, or tabs vs spaces +preference. We do not tolerate harassment of conference participants +in any form. Offensive or sexual language and imagery is not +appropriate for any conference venue, including formal talks and +networking between sessions. Conference participants violating these +rules may be sanctioned or expelled from the conference (without a +refund) at the discretion of the conference organizers.

+ +

Harassment includes, but is not limited to:

+ + + +

Enforcement

+ +

Participants asked to stop any harassing behavior are expected to +comply immediately If a participant engages in harassing behavior, +event organizers retain the right to take any actions to keep the +event a welcoming environment for all participants. This includes +warning the offender or expulsion from the conference with no +refund. Event organizers may take action to redress anything designed +to, or with the clear impact of, disrupting the event or making the +environment hostile for any participants. We expect participants to +follow these rules at all event venues and event-related social +activities. We think people should follow these rules outside event +activities too!

+ +

Reporting

+ +

If someone makes you or anyone else feel unsafe or unwelcome, please +report it as soon as possible. Harassment and other code of conduct +violations reduce the value of our event for everyone. We want you to +be happy at our event. People like you make our event a better +place. You can make a report either personally or anonymously.

+ + + +

Personal Report

+ +

You can make a personal report by calling or messaging this phone +number: (TBD) or this email address +juliacon@julialang.org (private group of the committee). +This phone number will be continuously monitored for the duration of the event.

+ +

When taking a personal report, our staff will ensure you are safe and +cannot be overheard. They may involve other event staff to ensure your +report is managed properly. Once safe, we’ll ask you to tell us about +what happened. This can be upsetting, but we’ll handle it as +respectfully as possible, and you can bring someone to support +you. You won’t be asked to confront anyone and we won’t tell anyone +who you are.

+ +

Our team will be happy to help you contact hotel/venue security, local +law enforcement, local support services, provide escorts, or otherwise +assist you to feel safe for the duration of the event. We value your +attendance.

+ +

Diversity Coordinator: Erica Moszkowski erica.moszkowski@gmail.com

+ + + +
+
+
+
+
+

© 2014-2020 JuliaCon.org All rights reserved. + Fork this site on Github or + open a bug report.

+ +
+ +
+
+ +
+ + + + + + diff --git a/previews/PR609/2017/index.html b/previews/PR609/2017/index.html new file mode 100644 index 000000000..9f68330b4 --- /dev/null +++ b/previews/PR609/2017/index.html @@ -0,0 +1,286 @@ + + + + + + + + JuliaCon 2017, Berkeley, CA + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
2017
+
+
+
+
Previous editions: 2016 | 2015 | 2014
+
+ + + + + +
+
+
+
+ +

Videos

+ A random video from JuliaCon 2017 is presented below. Click on the playlist icon + on the top left of the video display to see a list of all talks. +
+ + +
+ + +

Keynote Speakers

+ +
+
+ + +
+ The Celeste Project + +

+ + + +

+
+
+
+
+

+

+
+ + +
+
+ + +
+ Katherine A. Yelick + +

+ + University of California Berkeley and Lawrence Berkeley Laboratory + +

+
+
+
+
+

+

+
+ + +
+
+ + +
+ Fernando Pérez + +

+ + Lawrence Berkeley Laboratory + +

+
+
+
+
+

+

+
+ + +
+
+ + +
+ Mykel J. Kochenderfer + +

+ + Stanford University + +

+
+
+
+
+

+

+
+ + +
See all accepted talks & workshops →
+
+

Committee

+ +

Andreas Noack (executive chair), Valentin Churavy (program chair), Jiahao Chen, David Anthoff, Alex Arslan, Alan Edelman, Shashi Gowda, Katharine Hyatt, Stefan Karpinski, Kevin Keys, Simon Kornblith, Jonathan Malmaud, Erica Moszkowski (diversity chair), Jarrett Revels, Viral B. Shah, David P. Sanders, and Pontus Stenetorp

+

+ The JuliaCon committee is composed entirely of volunteer organizers + and can be reached at juliacon@julialang.org + with any questions or comments. +

+
+ +
+
+
+ +

Venue Map

+

Pauley Ballroom is upstairs in the Martin Luther King Jr. Student Union Building within the UCB campus. Here's a map: +

+ +
+ +

Spread the word

+
Download the poster.
+ + +
+ +

Lodging and dining

+
+ Read this guide about visiting Berkeley. +
+
+ +
+

Code of Conduct

+ + JuliaCon is dedicated to providing a harassment-free conference + experience for everyone, regardless of gender, gender identity and + expression, sexual orientation, disability, physical appearance, body + size, race, age, religion, text editor choice, or tabs vs spaces + preference. We do not tolerate harassment of conference participants + in any form. Offensive or sexual language and imagery is not + appropriate for any conference venue, including formal talks and + networking between sessions. Conference participants violating these + rules may be sanctioned or expelled from the conference (without a + refund) at the discretion of the conference organizers. Our + anti-harassment policy can be found here. +
+
+
+

Sponsors

+

Gold Sponsors

+ +
+

Silver Sponsors

+
+ + + + +
+
+ + +
+

Bronze Sponsors

+
Jeffrey Sarnoff
+
+
+
+
+
+
+
+ +
+
+
+
+
+

© 2014-2020 JuliaCon.org All rights reserved. + Fork this site on Github or + open a bug report.

+ +
+ +
+
+
+ + + + + + diff --git a/previews/PR609/2017/schedule.html b/previews/PR609/2017/schedule.html new file mode 100644 index 000000000..cd22a5045 --- /dev/null +++ b/previews/PR609/2017/schedule.html @@ -0,0 +1,69 @@ + + + + + + + + JuliaCon 2017, Berkeley, CA + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
2017
+
+
+
+
Previous editions: 2016 | 2015 | 2014
+
+ + + +
+ + View the JuliaCon 2017 schedule & directory. + +
+
+
+
+

© 2014-2020 JuliaCon.org All rights reserved. + Fork this site on Github or + open a bug report.

+ +
+ +
+
+
+ + + + + + diff --git a/previews/PR609/2017/talks-2.html b/previews/PR609/2017/talks-2.html new file mode 100644 index 000000000..affd2b548 --- /dev/null +++ b/previews/PR609/2017/talks-2.html @@ -0,0 +1,2065 @@ + + + + + + + + JuliaCon 2017, Berkeley, CA + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
2017
+
+
+
+
Previous editions: 2016 | 2015 | 2014
+
+ + + + + + + + +
+ +

Accepted Talks & Workshops

+ +
+ + +
+

Workshops

+ + + +

Talks

+ + + +
+ + +
+

Lightning Talks

+ + +
+
+ +
+ +
+ +

Workshops

+ +

An Invitation to Julia: Toward Version 1.0

+
+ David P. Sanders, Department of Physics, Faculty of Sciences, National University of Mexico +
+ +

This is an introductory tutorial on Julia as it is today, aimed at people with experience in another language, and who want to get up to speed quickly as Julia heads towards its first stable version.

+ + +
+ About David P. Sanders +

David P. Sanders is associate professor of computational physics in the Department of Physics of the Faculty of Sciences at the National University of Mexico in Mexico City. +His previous Julia tutorials on YouTube have over 75,000 views. He is a principal author of the ValidatedNumerics.jl package for interval arithmetic, and IntervalConstraintProgramming.jl for constraint propagation.

+ +
+ + +
+ Resources + +
+ + +

Deep Learning with Julia

+
+ Mike Innes, Jonathan Malmaud, Pontus Stenetorp, Julia Computing, Massachusetts Institute of Technology, University College London +
+ +

Over the last few years we have seen Deep Learning rise to prominence not just in academia with state-of-the-art results for well-established tasks, but also in industry to leverage an ever-increasing amount of data becoming available. Due to the computationally heavy nature of Deep Learning approaches, Julia is in a unique position to serve as the language of choice for developing and deploying deep machine learning models. +In this workshop we will introduce Deep Learning for a general audience – assuming only high school-level mathematics to gain a practical understanding of the topics covered. We will first introduce the history and theoretical underpinnings of Deep Learning. After this we will proceed to introduce the lay of the land in terms of libraries and frameworks in Julia – demonstrating to the audience how one can implement state-of-the-art Deep Learning models for various forms of data. After attending the workshop the audience will have an understanding of how they can use Julia for Deep Learning and adapt these approaches to their own data. +The organisers of the workshop have between them many years of experience of teaching, research, and working with and implementing Deep Learning frameworks in Julia and other programming languages.

+ + +
+ About Mike Innes, Jonathan Malmaud, Pontus Stenetorp +

Mike Innes is a software engineer at Julia Computing, where he works on the Juno IDE and the machine learning ecosystem. +Jon Malmaud is a PhD candidate at MIT’s Brain and Cognitive Science Department, where he works on AI and Deep Learning. He’s also a core contributor to the Julia language, and created Julia’s TensorFlow bindings. +Pontus Stenetorp is a research associate at University College London, that spends most of his research time on Natural Language Processing and Machine Learning – with a particular focus on Deep Learning. He has been using Julia since 2014 due to a need for rapid prototyping and computational performance. When it comes to Julia contributions, he tends to contribute small occasional patches to the standard library.

+ +
+ + +
+ Resources + +
+ + +

From One to Many: Writing Julia Code to Simulate Big Quantum Systems on Big Computers

+
+ Katharine Hyatt, UC Santa Barbara +
+ +

Start using Julia to do simulations of quantum systems with many interacting particles! We will write a single-core exact diagonalization code which can handle a variety of models from quantum physics, using Julia to make it readable and performant. We’ll tour the Julia package ecosystem for useful packages that will help us store our results to share with others and get to the interesting physics. Then, we’ll use some of Julia’s parallel features to scale up our code to do many-body simulation on many-core and many-node systems in a convenient, reproducible, and fast way. You need not ever have written any Julia before. We’ll use physics examples as natural motivation to explore Julia’s capabilities, but no background in quantum mechanics is required. We will introduce the models as we go.

+ + +
+ About Katharine Hyatt +

5th year physics graduate student, sometimes Julia contributor

+ +
+ + +
+ Resources + +
+ + +

GPU Programming with Julia

+
+ Tim Besard, Simon Danisch, Valentin Churavy, Various +
+ +

This interactive workshop will introduce a couple of tools and packages for GPU programming in Julia: how to set-up a working environment, basic usage, and optimization. Participants will be able to follow along using their own system, or on a cloud-based JuliaBox instance.

+

Proposed sessions:

+
    +
  1. Introduction to the JuliaGPU ecosystem
  2. +
  3. CUDAnative.jl
  4. +
  5. GPUArrays.jl
  6. +
+ + +
+ About Tim Besard, Simon Danisch, Valentin Churavy +

Contributors to the JuliaGPU ecosystem

+ +
+ + +
+ Resources + +
+ + +

Integrating Julia in Real-world, Distributed Pipelines

+
+ Daniel Whitenack, Pachyderm +
+ +

After attending this workshop, you will have the skills needed to integrate Julia in real-world environments. Not only that, you will understand at least one strategy for distributing Julia data analysis at production scale on large data sets and streaming data. +The Roadmap of the workshop will include:

+
    +
  1. Intro - This section will explore any barriers to pushing Julia into production. What to do in real-world environments and what are the challenges of integrating Julia at production scale?
  2. +
  3. Making your Julia analysis portable - Here, we will learn how to containerize Julia analyses, which goes a long way to making them deployable within organizations. We will also explore the trade offs with containerization and common gotchas. In this case, we will use Docker to containerize an example data analysis written in Julia.
  4. +
  5. Distributing your Julia analysis at scale - Finally, we will learn how to take our Docker-ized Julia analysis and distributed at scale. That is, we will learn how to orchestrate the distribution of that analysis across a cluster and how to distribute data between instances of Julia. To do this, we will employ Kubernetes and Pachyderm. +The workshop will be completely example/demo based and will include individual exercises for the students.
  6. +
+ + +
+ About Daniel Whitenack +

Daniel (@dwhitena) is a Ph.D. trained data scientist working with Pachyderm (@pachydermIO). Daniel develops innovative, distributed data pipelines which include predictive models, data visualizations, statistical analyses, and more. He has spoken at conferences around the world (Datapalooza, DevFest Siberia, GopherCon, and more), teaches data science/engineering with Ardan Labs (@ardanlabs), maintains the Go kernel for Jupyter, and is actively helping to organize contributions to various open source data science projects.

+ +
+ + +
+ Resources + +
+ + +

NLOptControl.jl a Tool for Solving Nonlinear Optimal Control Problems

+
+ Huckleberry Febbo, University of Michigan +
+ +

I am the developer of NLOptControl.jl, a JuliaOpt tool that is an extension for JuMP.jl. NloptControl.jl is used for formulating and solving nonlinear optimal control problems. A current limitation of optimization modeling software, such as JuMP is that it does not allow for ease of adding integral constraint equations. +NLOptControl.jl also provides an implementation of the pseudo-spectral method written in written in julia which is extremely fast. While I have not yet benchmarked it against GPOPSii (a commercial software that also uses this method to solve optimal control problems), I hope to have made some comparisons to help motivate my users during juliaCon2017. NLOptControl.jl is an extension of JuMP.jl, and with that comes the a tremendous amount of power. For instance, have you ever struggled calculating Hessians and Jacobians? Well those days are over because NLOptControl.jl takes care of that for you by simply utilizing JuMP and the automatic differentiation capabilities of ReverseDiffSparse.jl. +Workshop Details The workshop will give people interested in nonlinear optimal control guidance and hands-on experience using a very high level tool that is fast, concise, and powerful. The workshop will be organize into two parts; background information and hands-on experience. The background information section will explain the basics of nonlinear optimal control problems, why I got started with julia, and then show some examples including the Autonomous Vehicle Control problems that I am solving. Then during the hands-on part, users will solve optimal control problems from start to finish and the results will be automatically plotted.

+
    +
  1. Background Information: +
      +
    • What is nonlinear optimal control? +
        +
      • basic problem setup
      • +
      +
    • +
    • Why I got started with julia? +
        +
      • Autonomous Vehicle Controls (not running fast enough in MATLAB)
      • +
      • Examples of how I use the software
      • +
      +
    • +
    • Benchmark +
        +
      • Compare to other similar tools (GPOPSii)
      • +
      +
    • +
    +
  2. +
  3. Hands on: +
      +
    • Guide users through several simple examples +
        +
      • Discuss syntax etc.
      • +
      +
    • +
    • Guide users to solve other more advanced problems +
        +
      • Perhaps a simple version of their own
      • +
      +
    • +
    +
  4. +
+ + +
+ About Huckleberry Febbo +

Mechanical Engineering Ph.D. 4th year student

+ +
+ + + +

Optimization and Solving Systems of Equations in Julia

+
+ Patrick Kofod Mogensen, University of Copenhagen +
+ +

In this workshop we will introduce the two main packages organized under the JuliaNLSolvers umbrella: Optim.jl for optimization and NLsolve.jl for solving systems of equations. We will look at the types of problems the packages solve, what the interfaces are like, and work on practical examples. A strong mathematical background is not needed, but some understanding of calculus is required to follow the discussion of the different methods.

+ + +
+ About Patrick Kofod Mogensen +

Ph.D. student in economics, JuliaNLSolvers owner and developer, Julia nerd.

+ +
+ + + +

The Unique Features and Performance of DifferentialEquations.jl

+
+ Chris Rackauckas, University of California, Irvine +
+ +

DifferentialEquations.jl is a highly extendable high-performance library for solving a vast array of differential equations in Julia. The purpose of this workshop is to introduce the participants to DifferentialEquations.jl, focusing on the new types of problems that are able to be explored through this software and how Julia has made this possible. We will start with a tutorial of the ordinary differential equation solvers. Users will be shown how to use the common solver interface to solve and analyze equations using the solvers from OrdinaryDiffEq.jl, Sundials.jl, ODE.jl, LSODA.jl, and ODEInterface.jl. Next, the capabilities will be explored in further depth, and users will walk through solving hybrid differential equations continuous + discrete components), using arbitrary precision and unitful arithmetic, and solving equations with discontinuous events. After that, the tutorial will show users how to branch out to other forms of differential equations, showing how the same interface allows them to use the unique high-order adaptive Runge-Kutta methods for stochastic differential equations and the fast high-order methods for delay differential equations. Lastly, participants will be walked through the analysis add-on tools, using Optim.jl to perform parameter estimation of ordinary differential equation models, identify sensitive parameters, and quantify numerical uncertainties of solutions. Users will leave the workshop with an expanded view of what kinds of problems can be solved with DifferentialEquations.jl and with the knowledge of how to solve them.

+ + +
+ About Chris Rackauckas +

Chris Rackauckas is a 4th year Ph.D. student in Mathematics at the University of California, Irvine. He is the principal author of many Julia packages, including the JuliaDiffEq packages (DifferentialEquations.jl) and ParallelDataTransfer.jl, and has contributed to numerous other packages related to scientific computing. Chris is also actively engaged in the Julia community as the author of the StochasticLifestyle blog and the tutorial “A Deep Introduction to Julia for Data Science and Scientific Computing”.

+ +
+ + +
+ Resources + +
+ + + +

Talks

+ +

AoT or JIT : How Does Julia Work?

+
+ Jameson Nash, Julia Computing, Inc. +
+ +

Julia uses a unique mix of techniques adopted from conventional static and dynamic to provide a special blend of high-performance and flexible compute kernels. This allows it to simultaneously have a fully ahead-of-time-compiled code model – while permitting (even encouraging) code updates at runtime – and a fully runtime-interpreted interface – while permitting extensive compile-time optimization. In this talk, I will examine some of the trade-offs and limitations this requires of user code, especially on common first-class code evaluation features – such as eval and incremental pre-compilation – as well as advanced features – such as @generated functions and @pure. We will also try to take a look at the internal layout and implementation of some of these data structures, and how the compiler works to maintain their correctness over time, despite other changes to the system.

+ + +
+ About Jameson Nash +

I’ve been a Julia contributor since before it was cool. Now, I’m working for Julia Computing, as the static compilation champion, compiler correctness fiend, and performance cliff jumper.

+ +
+ + +
+ Resources + +
+ + +

Building End to End Data Science Solutions in the Azure Cloud with Julia

+
+ Udayan Kumar/ Paul Shealy, Microsoft +
+ +

Increasingly organizations are using cloud platforms to store their data and perform analytics driven by cost, scale, and manageability considerations. Business applications are being retooled to leverage the vast enterprise / public data, artificial intelligence (AI), and machine learning (ML) algorithms. To build and deploy large scale intelligent applications, data scientists and analysts today need to be able to combine their knowledge of analytical languages and platforms like Julia with that of the cloud. +In this talk, data scientists and analysts will learn how to build end-to-end analytical solutions using Julia on scalable cloud infrastructure. Developing such solutions usually requires one to understand how to seamlessly integrate Julia with various cloud technologies. After attending the talk, the attendees should have a good understanding of all the major aspects needed to start building intelligent applications on the cloud using Julia, leveraging appropriate cloud services and tool-kits. We will also briefly introduce the Azure Data Science Virtual Machine DSVM which provides a comprehensive development/experimentation environment with several pre-configured tools to make it easy to work with different cloud services (SQL Data Warehouse, Spark, Blobs etc.) from Julia and other popular data analytics languages. Join this demo heavy session where we cover the end to end data science life-cycle and show how you can access storage and compute services on the Azure cloud using Julia from the DSVM. A self-guided tutorial building upon the examples in the demo will be published online for attendees to continue their learning offline.

+ + +
+ About Udayan Kumar/ Paul Shealy +

Udayan is a Software Engineer with Algorithms and Data Science group at Microsoft. Before coming to Microsoft, he was designing predictive algorithms to detect threats and malignant apps at a mobile security startup in Chicago. He has a MS and a Ph.D. in Computer Engineering from University of Florida, Gainesville, FL. His research was focused on Trust, Privacy and Behavior mining in Mobile Networks. +Paul is a senior software engineer in Microsoft’s Algorithms and Data Science group, where he is the lead engineer for the Data Science Virtual Machine and works on a variety of solutions for easier machine learning and data science. He was previously the project lead for the Planner service in Office 365. While on Planner he also worked on disaster recovery, topology, storage, and several other core service components. He holds computer science degrees from Clemson and Duke.

+ +
+ + + +

COBRA.jl: Accelerating Systems Biology

+
+ Laurent Heirendt, Luxembourg Centre for Systems Biomedicine +
+ +

Laurent Heirendt, Sylvain Arreckx, Ines Thiele, Ronan M.T. Fleming +Systems Biologists in the COnstraint-Based Reconstruction and Analysis (COBRA) [7] community are gearing up to develop computational models of large and huge-scale biochemical networks with more than one million biochemical reactions. The growing model size puts a strain on efficient simulation and network exploration times to the point that accelerating existing COBRA methods became a priority. Flux balance analysis and its variants are widely used methods for predicting steady-state reaction rates in biochemical reaction networks. The exploration of high dimensional networks has long been hampered by performance limitations of current implementations in Matlab/C (The COBRA Toolbox [8] and fastFVA [3]) or Python (cobrapy [2]). Julia [1] is the language that fills the gap between complexity, performance, and development time. DistributedFBA.jl [4], part of the novel COBRA.jl package, is a high-level, high-performance, open-source Julia implementation of flux balance analysis, which is a linear optimization problem. It is tailored to solve multiple flux balance analyses on a subset or all the reactions of large and huge-scale networks, on any number of threads or nodes using optimization solver interfaces implemented in MathProgBase.jl [5]. Julia’s parallelization capabilities led to a speedup in latency that follows Amdahl’s law. For the first time, a flux variability analysis (two flux balance analyses on each biochemical reaction) on a model with more than 200k biochemical reactions [6] has been performed. With Julia and COBRA.jl, the reconstruction and analysis capabilities of large and huge-scale models in the COBRA community are lifted to another level. +Code and benchmark data are freely available on github.com/opencobra/COBRA.jl +References:

+ +
    +
  • [1] Bezanson, Jeff and Edelman, Alan and Karpinski, Stefan and Shah, Viral B., “Julia: A Fresh Approach to Numerical Computing”, arXiv:1411.1607 [cs] (2014). arXiv: 1411.1607
  • +
  • [2] Ebrahim, Ali and Lerman, Joshua A. and Palsson, Bernhard O. and Hyduke, Daniel R., “COBRApy: COnstraints-Based Reconstruction and Analysis for Python”, BMC Systems Biology 7 (2013), pp. 74.
  • +
  • [3] Gudmundsson, Steinn and Thiele, Ines, “Computationally efficient flux variability analysis”, BMC Bioinformatics 11, 1 (2010), pp. 489.
  • +
  • [4] Heirendt, Laurent and Thiele, Ines and Fleming, Ronan M. T., “DistributedFBA.jl: high-level, high-performance flux balance analysis in Julia”, Bioinformatics btw838 (2017).
  • +
  • [5] Lubin, Miles and Dunning, Iain, “Computing in Operations Research using Julia”, INFORMS Journal on Computing 27, 2 (2015), pp. 238–248. arXiv: 1312.1431
  • +
  • [6] Magnúsdóttir, Stefanía and Heinken, Almut and Kutt, Laura and Ravcheev, Dmitry A. and Bauer, Eugen and Noronha, Alb…, “Generation of genome-scale metabolic reconstructions for 773 members of the human gut microbiota”, Nat Biotech 35, 1 (2017), pp. 81–89.
  • +
  • [7] Palsson, Bernhard Ø, Systems Biology: Constraint-based Reconstruction and Analysis (Cambridge, England: Cambridge University Press, 2015).
  • +
  • [8] Schellenberger, Jan and Que, Richard and Fleming, Ronan M. T. and Thiele, Ines and Orth, Jeffrey D. and Feist, Adam M. and Ziel…, “Quantitative prediction of cellular metabolism with constraint-based models: the COBRA Toolbox v2.0”, Nat. Protocols 6, 9 (2011), pp. 1290–1307. 00182
  • +
+ + +
+ About Laurent Heirendt +

Laurent Heirendt was born in 1987 in Luxembourg City, Luxembourg (Europe). He received his BSc in Mechanical Engineering from the Ecole Polytechnique Fédérale de Lausanne, Switzerland in 2009. A year later, he received his MSc in Advanced Mechanical Engineering from Imperial College London in the UK, where his research and thesis focused on developing a general dynamic model for shimmy analysis of aircraft landing gear that is still in use today. He received his Ph.D. in 2014 in Aerospace Science from the University of Toronto, Canada. He developed a thermo-tribomechnical model of an aircraft landing gear, which led to a patent pending design of a critical aircraft landing gear component. He then worked in industry and oversaw the structural analysis of large aircraft docking structures. +Recently, Laurent started as a Research Associate at the Luxembourg Centre for Systems Biomedicine, where he works in the numerical optimization of large biochemical networks using Julia. Besides his mother tongue Luxembourgish, he is fluent in English, French and German, and he is currently learning Brazilian Portuguese. 

+ +
+ + +
+ Resources + +
+ + +

Equations, inequalities and global optimisation: guaranteed solutions using interval methods and constraint propagation

+
+ David P. Sanders, Department of Physics, Faculty of Sciences, National University of Mexico +
+ +

How can we find all solutions of a system of nonlinear equations, the “feasible set” satisfied by a collection of inequalities, or the global optimum of a complicated function? These are all known to be hard problems in numerical analysis. +In this talk, we will show how to solve all of these problems, in a guaranteed way, using a collection of related methods based on interval arithmetic, provided by the IntervalArithmetic.jl package. The starting point is a simple dimension-independent bisection code, which can be enhanced in a variety of ways. This method is rigorous: it is guaranteed to find all roots, or to find the global minimum, respectively. +One key idea is the use of continuous constraint propagation, which allows us to remove large portions of the search space that are infeasible. We will explain the basics of this method, in particular the “forward-backward contractor”, and describe the implementation in the IntervalConstraintProgramming.jl package. +This package generates forward and backward code automatically from a Julia expression, using metaprogramming techniques. These are combined into “contractors”, i.e. operators that contract a box without removing any portion of the set of interest. These, in turn, give a rigorous answer to the question whether a given box lies inside the feasible set or not. In this way, a paving (collection of boxes) is built up that approximates the set.

+ + +
+ About David P. Sanders +

David P. Sanders is associate professor of computational physics in the Department of Physics of the Faculty of Sciences at the National University of Mexico in Mexico City. +His video tutorials on Julia have a total of 75,000 views on YouTube. He is a principal author of the ValidatedNumerics.jl package for interval arithmetic, and IntervalConstraintProgramming.jl for constraint propagation.

+ +
+ + +
+ Resources + +
+ + +

Event-based Simulation of Spiking Neural Networks in Julia

+
+ Rainer Engelken, Max Planck Institute for Dynamics and Self-Organization +
+ +

Information in the brain is processed by the coordinated activity of large neural circuits. Neural network models help to understand, for example, how biophysical features of single neurons and the network topology shape the collective circuit dynamics. This requires solving large systems of coupled differential equations which is numerically challenging. +Here, we introduce a novel efficient method for numerically exact simulations of sparse neural networks that bring to bear Julia’s different data structures and high performance. The new algorithm reduces the computational cost from O(N) to O(log(N)) operations per network spike. This is achieved by mapping the neural dynamics to pulse-coupled phase oscillators and using mutable binary heaps for efficient state updates. Thereby numerically exact simulations of large spiking networks and the characterization of their chaotic phase space structure become possible. For example, calculating the largest Lyapunov exponent of a spiking neural network with one million neurons is sped up by more than four orders of magnitude compared to previous implementations in other programming languages (C++, Python, Matlab).

+ + +
+ About Rainer Engelken +

Rainer just finished his Ph.D. in at the Max Planck Institute for Dynamics and Self-Organization (Göttingen) on ‘Chaotic neural circuit dynamics’ after studying physics at various places. He has been using Julia since 2014, as it minimizes both programming time and CPU time and allows easy debugging, profiling and visualization under one roof.

+ +
+ + +
+ Resources + +
+ + +

Fast Multidimensional Signal Processing with Shearlab.jl

+
+ Héctor Andrade Loarca, Technical University of Berlin (TUB) +
+ +

The Shearlet Transform was proposed in 2005 by the Professor Gitta Kutyniok (http://www3.math.tu-berlin.de/numerik/mt/mt/www.shearlet.org/papers/SMRuADaSO.pdf) and her colleagues as a multidimensional generalization of the Wavelet Transform, and since then it has been adopted by a lot of Companies and Institutes by its stable and optimal representation of multidimensional signals. Shearlab.jl is a already registered Julia package (https://github.com/arsenal9971/Shearlab.jl) based in the most used implementation of Shearlet Transform programmed in Matlab by the Research Group of Prof. Kutyniok (http://www.shearlab.org/software); improving it by at least double the speed on different experiments. +As examples of applications of Shearlet Transform one has Image Denoising, Image Inpaiting and Video Compression; for instance I used it mainly to reconstruct the Light Field of a 3D Scene from Sparse Photographic Samples of Different Perspectives with Stereo Vision purposes. A lot of research institutes and companies have already adopted the Shearlet Transform in their work (e.g. Fraunhofer Institute in Berlin and Charité Hospital in Berlin, Mathematical Institute of TU Berlin) by its directional sensitivity, reconstruction stability and sparse representation.

+ + +
+ About Héctor Andrade Loarca +

Ph.D. student in Mathematics at the Technical University of Berlin (TUB) with Professor Gitta Kutyniok as advisor; major in Mathematics and Physics from National University of México (UNAM); ex Data Scientist of a mexican Open Governance Start Up (OPI); with experience in Data Mining, Machine Learning, Computational Harmonic Analysis and Computer Vision. Currently developing Light Field Reconstruction algorithms using Digital Signal Processing tools for 3D Imaging and Stereo Vision. Is known by his colleagues for using Julia on everything. It was introduced to Julia by Professor David Philip Sanders and after both gave a course on Computational Statistical Physics using Julia at the National University of México (UNAM) which convinced him to adopt Julia as his main programming language.

+ +
+ + + +

Flux: Machine Learning with Julia

+
+ Mike Innes, Julia Computing, Inc. +
+ +

Flux.jl is a new Julia package for machine learning. It aims to provide strong tooling and support for debugging, high-level features for working with very complex networks, and state of the art performance via backends like TensorFlow or MXNet, while also providing a very high level of interoperability so that approaches can easily be mixed and matched. This talk will introduce Flux from the ground up and demonstrate some of its more advanced features.

+ + +
+ About Mike Innes +

I work with Julia Computing on Julia’s IDE, Juno, as well as various projects within the machine learning ecosystem.

+ +
+ + + +

Full Stack Web Development with Genie.jl

+
+ Adrian Salceanu, None +
+ +

The web is eating the world, but building modern web applications can be an intimidating task. Successful online products must be fast, beautiful and usable. Responsive, maintainable and extendable. Provide simple and flexible web APIs. Be secure. Reach virtually 100% uptime while being easy to debug, extend and update, requiring powerful logging, intelligent caching and rapid scaling strategies. +Julia as a language has an enormous potential in the web space thanks to its concise and friendly syntax, the powerful REPL, Unicode support, cross-platform availability, the efficiently compiled code and its parallel and distributed computing capabilities. And Julia’s ecosystem already provides low level libraries like HttpServer and WebSockets. But they leave the developers having to spend large amounts of time writing glue and boilerplate code: a tedious, expensive and error prone task. +Genie is a new web framework that leverages Julia’s unique combination of features and its extensive collection of packages to empower developers to create high-performance web apps in less time and with less code. It glues low level libraries and contributes its own middlewares to expose a coherent and efficient workflow and a rich API for building web applications. +This talk will give you the guided tour of Genie, introducing the MVC stack and its main components and showing you how to quickly bootstrap a new Genie app and how to easily implement CRUD operations to expose resources over the internet, in an efficient and secure manner. You will see how easy it is to use Genie’s API in tandem with Julia’s modules system to hook up your code - allowing you to focus on your software’s value proposition instead of wasting precious time dealing with the low level details of transporting bytes over the wire.

+ + +
+ About Adrian Salceanu +

Web developer since 2000. Architecting and building multi-tier, performance critical web apps handling large amounts of real time data since 2008. PHP, Ruby, JavaScript, F#, Elixir. Now using Julia and Genie to tackle web development’s own two-language problem (productive-slow-interpreted vs unproductive-fast-compiled). +CTO at OLBG. Startup devotee and serial tech founder. IronHack mentor, organizer of Barcelona Julia and Barcelona on Rails. Creator of Genie.jl.

+ +
+ + +
+ Resources + +
+ + +

GLVisualize 1.0

+
+ Simon Danisch, JuliaLang +
+ +

GLVisualize is a visualization framework written purely in Julia + OpenGL. There are a lot of new changes that I want to talk about:

+
    +
  • New trait system for more modularity and code clarity
  • +
  • Different backends for GLVisualize - conquering the Web & PDFs!
  • +
  • A new API for simpler drawing
  • +
  • Tight integration with GPUArrays, pre-processing on the GPU
  • +
  • Higher level plotting interface
  • +
+ + +
+ About Simon Danisch +

Developer of GLVisualize & GPUArrays

+ +
+ + + +

GraphGLRM: Making Sense of Big Messy Data

+
+ Mihir Paradkar, Cornell University +
+ +

Many projects in research and development require analysis of tabular data. For example, medical records can be viewed as a collection of variables like height, weight, and age for different patients. The values may be boolean (yes or no), numerical (100.3), categorical (A, B, O), or ordinal (early, middle, late). Some values may also be missing. However, analysis and feature extraction is made easier by knowing relationships between variables, for example, that weight increases with height. GraphGLRM is a framework that leverages structure in data to de-noise, compress, and estimate missing values. Using Julia’s flexibility and speed, we developed this package quickly and with sufficient performance for real-world data processing needs. GraphGLRMs are now robust and versatile enough to work with sparse, heterogeneous data. We will also discuss updates to Julia data structures and tooling that would ease package development and further empower the GraphGLRM framework. More about GraphGLRMs: https://github.com/mihirparadkar/GraphGLRM.jl More about LowRankModels: https://github.com/madeleineudell/LowRankModels.jl

+ + +
+ About Mihir Paradkar +

Mihir Paradkar recently graduated from Cornell University in Biological Engineering. He has been user of Julia since v0.3.5 and is a developer of GraphGLRM.jl and LowRankModels.jl . He will be starting as a software engineering in data mining at Yelp late this summer.

+ +
+ + +
+ Resources + +
+ + +

HiFrames: High Performance Distributed Data Frames in Julia

+
+ Ehsan Totoni, Intel Labs +
+ +

Data frames are essential tools for data scientists, but existing data frames packages in Julia (and other languages) are sequential and do not scale to large data sets. Alternatively, data frames in distributed frameworks such as Spark are slow and not integrated with other computations flexibly. We propose a novel compiler-based approach where we integrate data frames into the High Performance Analytics Toolkit (HPAT) to build HiFrames. It automatically parallelizes and compiles relational operations along with other array computations in end-to-end data analytics programs, and generates efficient MPI/C++ code. We demonstrate that HiFrames is significantly faster than alternatives such as Spark on clusters, without forcing the programmer to switch to embedded SQL for part of the program. HiFrames is 3.6x to 70x faster than Spark SQL for basic relational operations, and can be up to 20,000x faster for advanced analytics operations, such as weighted moving averages (WMA), that the map-reduce paradigm cannot handle effectively. We will discuss how Julia’s powerful macro and compilation system facilitates developing HiFrames.

+ + +
+ About Ehsan Totoni +

Ehsan Totoni is a Research Scientist at Intel Labs. He develops programming systems for large-scale HPC and big data analytics applications with a focus on productivity and performance. He received his Ph.D. in Computer Science from the University of Illinois at Urbana-Champaign in 2014.

+ +
+ + + +

Image Quilting: Building 3D Geological Models One Tile at a Time

+
+ Júlio Hoffimann, Stanford University +
+ +

ImageQuilting.jl is a high-performance implementation of texture synthesis and transfer for 3D images that is capable of matching pre-existing data in the canvas where the image is to be synthesized. It can optionally make use of GPUs through the OpenCL standard and is being currently used by the industry for fast generation of 3D geological models. In this talk, I will demonstrate some of the applications of this package in energy resources engineering and hydrogeology, and will highlight the qualities of the Julia programming language that enabled an unprecedented speed in this famous computer vision algorithm.

+ + +
+ About Júlio Hoffimann +

I am a Ph.D. candidate in the Department of Energy Resources Engineering at Stanford University. In my research, I study the links between surface processes (i.e. flow and sediment transport) at the surface of the Earth and the resulting geostatistical properties at its subsurface. Part of this research consists of developing efficient algorithms for stochastic/physical simulation of 3D Earth models. For more information, please visit: https://juliohm.github.io

+ +
+ + + +

Julia for Fully Homomorphic Encryption: Current Progress and Challenges

+
+ José Manuel Calderón Trilla, Galois, Inc. +
+ +

Fully homomorphic encryption (FHE) is a cryptographic technique allowing a user to run arbitrary computations over encrypted data. This is particularly useful for computing statistical analytics over sensitive data. In this work, we introduce a Julia module, Fhe.jl, which supports running Julia functions over an FHE-encrypted data set. We do so by using symbolic execution to convert a Julia function into its circuit representation, which we then evaluate over the encrypted data. In this talk, we will discuss the progress we have made so far, some of the challenges we have run into, and how we hope to work with the Julia community to continue our efforts.

+ + +
+ About José Manuel Calderón Trilla +

José Manuel Calderón Trilla is a Research Scientist at Galois, Inc. working on Compilers, Static Analysis, and Formal Methods. He received his Ph.D. from the University of York in the UK for his work on Implicit Parallelism in lazy functional languages.

+ +
+ + + +

Julia for Infrastructure: Experiences in Developing a Distributed Storage Service

+
+ Ajay Mendez, Founder, Kinant.com +
+ +

Julia is a language designed for numerical computing and it does that job pretty well. However, the emphasis on numerical computing and data science tends to overshadow the language’s other use cases. In this talk we share our experiences using Julia to build a distributed data fabric using commodity hardware. A data fabric is a distributed storage system that abstracts away the physical infrastructure and makes data available to applications using well known protocols such as NFS or S3. Our talk focuses on how we use Julia to implement a data fabric with specific examples. We will discuss some of the shortcomings and how we circumvented them. Finally we close by a cost benefit analysis of developing in Julia and how it can be a critical advantage in bringing products to market.

+ + +
+ About Ajay Mendez +

Ajay works on systems and infrastructure software for fun and profit. He has dabbled in operating systems, memory allocators, file systems and distributed systems. He founded kinant.com in 2017 to simplify the deployment and usage of storage infrastructure.

+ +
+ + +
+ Resources + +
+ + +

Julia: The Type of Language for Mathematical Programming

+
+ Madeleine Udell, Cornell University +
+ +

Julia was designed to be the right language for programming mathematics. In this talk, I’ll argue that its sophisticated type system allows mathematicians to program in the same way they write mathematics. This simplicity has two consequences. First, it has made Julia an attractive ecosystem in which to write mathematical packages: Julia is now the language with the most comprehensive, robust, and user-friendly ecosystem of packages for mathematical programming (or optimization, in modern lingo). Second, it has made Julia the right language in which to express many mathematical problems. The lightweight type system makes it easy to write code that is clearer than pseudocode. +This talk will present three case studies in optimization. We hope the audience will leave the talk with a new appreciation of Julia’s type system, as well as a new toolkit of packages to use for data fitting and optimization.

+
    +
  1. Convex is a widely used library for convex optimization in Julia. In that package, the type system is used to create and recursively analyze the abstract syntax tree representing an optimization problem. Notions such as the sign of a real number, or the convexity or concavity of a function, are represented as types; and the convexity of an expression can be analyzed using a simple recursion over the tree of types.
  2. +
  3. LowRankModels is a statistical package for imputing missing entries in large, heterogeneous tabular data set. LowRankModels uses type information about a DataFrame to automatically select the appropriate optimization problem to solve in order to find the best completion for the data table. These optimization problems are parametrized by a set of loss functions and regularizers. Using the type system, we are able to write algorithms that work seamlessly for any loss function or regularizer a user may dream up.
  4. +
  5. Sketched approximations are a class of fast algorithms for producing a low rank approximation to a matrix - like an eigenvalue decomposition, but faster. We’ll show how to use parametric types to write all the special cases of the algorithm without introducing redundant code. Notably, these parametric types make it easier to understand the flow of the algorithm, and have essentially no analogue in “pseudocode” notation. Together with Julia’s simple mathematical syntax and support for unicode (eg, Greek) letters, we’ll see that the Julia code functions not only as an implementation of the method, but as a better version of pseudocode.
  6. +
+ + +
+ About Madeleine Udell +

Madeleine Udell is Assistant Professor of Operations Research and Information Engineering and Richard and Sybil Smith Sesquicentennial Fellow at Cornell University. She studies optimization and machine learning for large scale data analysis and control, with applications in marketing, demographic modeling, medical informatics, and engineering system design. Her recent work on generalized low rank models (GLRMs) extends principal components analysis (PCA) to embed tabular data sets with heterogeneous (numerical, Boolean, categorical, and ordinal) types into a low dimensional space, providing a coherent framework for compressing, denoising, and imputing missing entries. She has developed of a number of open source libraries for modeling and solving optimization problems, including Convex.jl, one of the top ten tools in the new Julia language for technical computing, and is a member of the JuliaOpt organization, which curates high quality optimization software. +Madeleine completed her Ph.D. at Stanford University in Computational & Mathematical Engineering in 2015 under the supervision of Stephen Boyd, and a one year postdoctoral fellowship at Caltech in the Center for the Mathematics of Information hosted by Professor Joel Tropp. At Stanford, she was awarded a NSF Graduate Fellowship, a Gabilan Graduate Fellowship, and a Gerald J. Lieberman Fellowship, and was selected as the doctoral student member of Stanford’s School of Engineering Future Committee to develop a road-map for the future of engineering at Stanford over the next 10–20 years. She received a B.S. degree in Mathematics and Physics, summa cum laude, with honors in mathematics and in physics, from Yale University.

+ +
+ + + +

Knet.jl: Beginning Deep Learning with 100 Lines of Julia

+
+ Deniz Yuret, Koç University, Istanbul +
+ +

Knet (pronounced “kay-net”) is the Koç University deep learning framework implemented in Julia by Deniz Yuret and collaborators. Knet uses dynamic computational graphs generated at runtime for automatic differentiation of (almost) any Julia code. This allows machine learning models to be implemented by only describing the forward calculation (i.e. the computation from parameters and data to loss) using the full power and expressivity of Julia. The implementation can use helper functions, loops, conditionals, recursion, closures, tuples and dictionaries, array indexing, concatenation and other high level language features, some of which are often missing in the restricted modeling languages of static computational graph systems like Theano, Torch, Caffe and Tensorflow. GPU operation is supported by simply using the KnetArray type instead of regular Array for parameters and data. High performance is achieved using custom memory management and efficient GPU kernels.

+ + +
+ About Deniz Yuret +

Deniz Yuret received his BS, MS, and Ph.D. at MIT working at the AI Lab on machine learning and natural language processing during 1988-1999. He co-founded Inquira, Inc., a startup commercializing question answering technology which was later acquired by Oracle. He is currently an associate professor of Computer Engineering at Koç University, Istanbul and founder of its Artificial Intelligence Laboratory. In his spare time he develops Knet.jl, a Julia deep learning framework that uses dynamic computational graphs generated at runtime for automatic differentiation of (almost) any Julia code.

+ +
+ + +
+ Resources + +
+ + +

LightGraphs: Our Network, Our Story

+
+ James Fairbanks & Seth Bromberger, Georgia Tech Research Institute & Lawrence Livermore National Laboratory +
+ +

Our talk discusses the development and origin of LightGraphs, current features, and future developments. We introduce the package’s major design choices in a historical context as a compromise between the three core LightGraphs goals of simplicity, performance, and flexibility. We highlight several areas where specific features of Julia have led to flexible and efficient implementations of graph algorithms. +We will highlight our work in centrality measures, graph traversals, and spectral graph algorithms as examples of areas where Julia’s performance and design decisions have allowed LightGraphs to provide best-in-class implementations of graph algorithms. We also discuss integration with other organizations – JuliaOpt for matching and flow problems, and the Julia data visualization ecosystem – and highlight specifically LightGraphs’ potential to provide leadership on performant graph visualization. +Finally, we speculate on the influence of Julia’s focus on elegant parallel processing to future development of the package.

+ + +
+ About James Fairbanks & Seth Bromberger +

Dr. James Fairbanks is a Research Engineer at the Georgia Tech Research Institute where he studies problems in complex networks, data analysis, and high performance computing with applications to healthcare and social phenomena. +Seth Bromberger, a Research Scientist at Lawrence Livermore National Laboratory (https://people.llnl.gov/seth), is currently exploring the application of graph theory and machine learning to cybersecurity problems in critical infrastructure.

+ +
+ + +
+ Resources + +
+ + +

Miletus: A Financial Modelling Suite in Julia

+
+ Simon Byrne, Ranjan Anantharaman, Julia Computing, Inc. +
+ +

Miletus is a financial software suite in Julia, with a financial contract specification language and extensive modelling features. In this talk, we’ll discuss the design principles involved in how to model a contract from primitive components, and how Julia’s language features lend themselves intuitively to this task. We’ll then talk about the various features of the software suite such as closed form models, binomial trees and computation of price sensitivities (aka “the Greeks”), providing several examples and code snippets, along with comparisons with other popular frameworks in this space.

+ + +
+ About Simon Byrne, Ranjan Anantharaman +

Dr Simon Byrne is a quantitative software developer at Julia Computing, where he implements cutting edge numerical routines for statistical and financial models. Simon has a Ph.D. in statistics from the University of Cambridge, and has extensive experience in computational statistics and machine learning in both academia and industry. He has been contributing to the Julia project since 2012. Ranjan Anantharaman is a data scientist at Julia Computing where he works on numerical software in a variety of domains. His interests include scientific computing and machine learning. He has been contributing to the Julia project and ecosystem since 2015.

+ +
+ + + +

Mixed-Mode Automatic Differentiation in Julia

+
+ Jarrett Revels, MIT +
+ +

Julia’s unique execution model, metaprogramming facilities, and type system make it an ideal candidate language for native automatic differentiation (AD). In this talk, we’ll discuss a variety of Julia-specific tricks employed by ForwardDiff and ReverseDiff to differentiate user-provided Julia functions. Topics covered include the implementation of a native Julia execution tracer via operator overloading, functor-based directives for specialized instruction taping, SIMD vectorization and instruction elision for inlined dual number operations, and vectorized differentiation of linear algebraic expressions. I’ll close the talk with a glimpse into the future of AD in Julia and JuMP, highlighting the effect new features may have on other downstream projects like Celeste, Optim and RigidBodyDynamics.

+ + +
+ About Jarrett Revels +

I like to make Julia code differentiate itself.

+ +
+ + +
+ Resources + +
+ + +

Modern Machine Learning in Julia with TensorFlow.jl

+
+ Jonathan Malmaud, MIT +
+ +

By many measures, TensorFlow has grown over the last year to become the most popular library for training machine-learning models. TensorFlow.jl provides Julia with a simple yet feature-rich interface to TensorFlow that takes advantage of Julia’s multiple dispatch, just-in-time compilation, and metaprogramming capabilities to provide unique capabilities exceeding TensorFlow’s own native Python API. This talk will demonstrate TensorFlow.jl by guiding listeners through training a realistic model of image captioning , showing how to 1) construct the model with native Julia control flow and indexing, 2) visualize the model structure and parameters in a web browser during training, and 3) seamlessly save and share the trained model with Python. No prior experience with TensorFlow is assumed.

+ + +
+ About Jonathan Malmaud +

Ph.D. candidate at MIT studying artificial intelligence

+ +
+ + +
+ Resources + +
+ + +

Modia: A Domain Specific Extension of Julia for Modeling and Simulation

+
+ Hilding Elmqvist, Mogram AB, Lund, Sweden +
+ +

Modia is a Julia package to model and simulate physical systems (electrical, mechanical, thermo-dynamical, etc.) described by differential and algebraic equations. A user defines a model on a high level with model components (such as a mechanical body, an electrical resistance, or a pipe) that are physically connected together. A model component is constructed by “expression = expression” equations. The defined model is symbolically processed, JIT compiled and simulated with Sundials IDA solver with the KLU sparse matrix package. By this approach it’s possible and convenient to build models with hundred thousands of equations describing the dynamics of a car, an airplane, a power plant, etc. and simulate them. The authors used previous experience from the design of the modeling language Modelica (www.Modelica.org) to develop Modia. +In the presentation it is shown how a user can build models and simulate physical systems, including mechanical systems and electrical circuits. Furthermore, the design of Modia is sketched: The Modia language is a domain specific extension of Julia using macros. With graph theoretical algorithms, some of them recently developed by the authors, equations are pre-processed (including analytic differentiation if necessary) and transformed into a special form that can be simulated by IDA. Hereby the sparsity structure of the original (Modia) equations, as well as the nature of array equations are kept intact.

+ + +
+ About Hilding Elmqvist +

Hilding Elmqvist attained his Ph.D. at the Department of Automatic Control, Lund Institute of Technology in 1978. His Ph.D. thesis contains the design of a novel object-oriented model language called Dymola and algorithms for symbolic model manipulation. It introduced a new modeling methodology based on connecting submodels according to the corresponding physical connections instead of signal flows. Submodels were described declaratively by equations instead of assignment statements. Elmqvist spent one year in 1978-1979 at the Computer Science Department at Stanford University, California. +In 1992, Elmqvist founded Dynasim AB in Lund, Sweden. The primary product is Dymola for object-oriented modeling allowing graphical composition of models and 3D visualization of model dynamics. Elmqvist took the initiative in 1996 to organize an international effort to design the next generation object-oriented language for physical modeling: Modelica. In April 2006, Dynasim AB was acquired by Dassault Systemes. In January 2016, Elmqvist founded Mogram AB. Current activities include designing and implementing an experimental modeling language called Modia.

+ +
+ + + +

OhMyREPL.jl: This Is My REPL; There Are Many Like It, But This One Is Mine

+
+ Kristoffer Carlsson, Chalmers University of Technology +
+ +

By default, Julia comes with a powerful REPL that itself is completely written in Julia. It has, among other things, tab completion, customizable keybindings and different prompt modes to use the shell or access the help system. However, with regards to visual customization there are not that many options for a user to tweak. To that end, I created the package OhMyREPL.jl. Upon loading, it hooks into the REPL and adds features such as syntax highlighting, matching bracket highlighting, functionality to modify input and output prompts and a new way of printing stacktraces and error messages. It also contains some non-visual features, like allowing text that has been copied from a REPL session to be directly pasted back into a REPL and quickly opening the location of stack frames from a stacktrace in an editor. The talk will give an overview of the different features, discuss which features managed to get upstreamed to Julia v0.6 and, if time allows, outline the internals of the package.

+ + +
+ About Kristoffer Carlsson +

Ph.D. student in computational mechanics at Chalmers University of Technology. Using Julia both for studies and as a hobby.

+ +
+ + +
+ Resources + +
+ + +

Pkg3: Julia's New Package Manager

+
+ Stefan Karpinski, Julia Computing, Inc. / NYU +
+ +

This talk covers the design and implementation of Pkg3, the third (and hopefully final!) major iteration of Julia’s built-in package manager. We’ll begin with some history: what worked and didn’t work in the two previous iterations of the package manager. Pkg3 tries to marry the better parts of systems like Python’s virtualenv and Rust’s cargo, while supporting federated and layered package registries, and supporting interactive usage as well as reproducible environments and reliable deployment of code in production. We’ll nerd out a bit with some graph theory and how difficult it is to select compatible sets of package versions, and how much harder still it is to make version resolution understandable and predictable. But it won’t be all theory – we’ll also cover imminently practical subjects like “how do I install packages?”

+ + +
+ About Stefan Karpinski +

co-creator of Julia, co-founder of Julia Computing

+ +
+ + + +

Programming NVIDIA GPUs in Julia with CUDAnative.jl

+
+ Tim Besard, Ghent University +
+ +

GPUs have typically been programmed using low-level languages like CUDA and OpenCL, providing full control over the hardware at the expense of developer efficiency. CUDAnative.jl makes it possible to program GPUs directly from Julia, in the case you need the flexibility to write your own kernel functions, without having to fall back to CUDA C or binary libraries. In this talk, I will give an overview of CUDAnative.jl with its features and restrictions, explain the technology behind it, and sketch our future plans.

+ + +
+ About Tim Besard +

Ph.D. student at Ghent University

+ +
+ + +
+ Resources + +
+ + +

QML.jl: Cross-platform GUIs for Julia

+
+ Bart Janssens, Royal Military Academy +
+ +

The QML.jl (https://github.com/barche/QML.jl) package enables using the QML markup language from the Qt library to build graphical user interfaces for Julia programs. The package follows the recommended Qt practices and promotes separation between the GUI code and application logic. After a short introduction of these principles, the first topic of this talk will be the basic communication between QML and Julia, which happens through Julia functions and data (including composite types) stored in context properties. Using just a few basic building blocks, this makes all of the QML widgets available for interaction with Julia. The next part of the talk deals with Julia-specific extensions, such as the Julia ListModel, interfacing with the display system and GLVisualize and GR.jl support. These features will be illustrated using live demos, based on the examples in the QML.jl repository. Finally, some ideas for extending and improving the package will be listed, soliciting many contributions hopefully. +The target audience for this talk is anyone interested in developing GUIs for their Julia application with a consistent look on OS X, Linux and Windows. All user-facing code is pure Julia and QML, no C++ knowledge is required to use the package.

+ + +
+ About Bart Janssens +

I am an associate professor at the mechanics department of the Royal Military Academy. For my Ph.D., I worked on Coolfluid, a C++ framework for computational fluid dynamics with a domain specific language. My interest in Julia is sparked by its powerful metaprogramming functionality coupled with C++-like performance, together with much better accessibility for students. To ease the transition to Julia, we are working on making some C++ libraries available in Julia. The QML.jl package is part of this effort. We also use Julia in our daily teaching activities, to provide students with interactive solutions to exercises.

+ +
+ + +
+ Resources + +
+ + +

Query.jl: Query Almost Anything in Julia

+
+ David Anthoff, UC Berkeley +
+ +

Query is a package for querying julia data sources. Its role is similar to LINQ in C# and dplyr in R. It can filter, project, join and group data from any iterable data source. It has enhanced support for querying arrays, DataFrames, DataTables, TypedTables, IndexedTables and any DataStream source (e.g. CSV, Feather, SQLite etc.). The package also defines an interface for tabular data that allows a) dispatch on any tabular data source and b) simple conversions of tabular data representations. The talk will first introduce Query from a user perspective and highlight different examples of queries that the package makes feasible. The second half of the talk will dive deep into the internals of the package and explain the various extension points that package provides.

+ + +
+ About David Anthoff +

David Anthoff is an environmental economist who studies climate change and environmental policy. He co-develops the integrated assessment model FUND that is used widely in academic research and in policy analysis. His research has appeared in Science, the Journal of Environmental Economics and Management, Environmental and Resource Economics, the Oxford Review of Economic Policy and other academic journals. He contributed a background research paper to the Stern Review and has advised numerous organizations (including US EPA and the Canadian National Round Table on the Environment and the Economy) on the economics of climate change. +He is an assistant professor in the Energy and Resources Group at the University of California, Berkeley. Previously he was an assistant professor in the School of Natural Resources and the Environment of the University of Michigan, a postdoc at the University of California, Berkeley and a postdoc at the Economic and Social Research Institute in Ireland. He also was a visiting research fellow at the Smith School of Enterprise and the Environment, University of Oxford. +He holds a Ph.D. (Dr. rer. pol.) in economics from the University of Hamburg (Germany) and the International Max Planck Research School on Earth System Modelling, a MSc in Environmental Change and Management from the University of Oxford (UK) and a M.Phil. in philosophy, logic and philosophy of science from Ludwig-Maximilians-Universität München (Munich, Germany).

+ +
+ + +
+ Resources + +
+ + +

Stochastic Optimization Models on Power Systems

+
+ Camila Metello & Joaquim Garcia, PSR Inc. +
+ +

We will present 3 tools for decision making under uncertainty in the power systems area: SDDP, a tool for optimal hourly operation of complex power systems; OptGen, a computational tool for determining the least-cost expansion of a multi-regional hydrothermal system; OptFlow, a mathematical model to optimize operation of a generation/transmission system with AC electrical network constraints. +These models have been used by system operators, regulators and investors in more than seventy countries in the Americas, Asia-Pacific, Europe and Africa, including some of the largest hydro based systems in the world, such as the Nordic pool, Canada, the US Pacific Northwest and Brazil. SDDP is also the model used by the World Bank staff in their planning studies of countries in Asia, Africa and Latin America. OptGen had some interesting applications regional studies such as the interconnection of Central America, the Balkan regions, the interconnection of nine South American countries, Africa (Egypt-Sudan-Ethiopia and Morocco-Spain) and Central Asia. The original version of all 3 models was written in FORTRAN with the aid of some modelling tool or higher level API: AMPL for OptFlow, Mosel for OptGen and COIN-OR API for SDDP. Similar to any software, maintaining the code and adding new features became increasingly complex because they have to be built upon older data structures and program architectures. +These concerns motivated PSR to develop an updated version of these programs written entirely in julia (with JuMP and MathProgBase) for three basic reasons: (i) the code is concise and very readable; (ii) the availability of an advanced optimization “ecosystem”; and (iii) excellent resources for distributed processing (CPUs and GPUs). We retained the use of Xpress by developing the Xpress.jl library. We also use MPI.jl for distributed processing (including multiple servers in AWS). +The computational performance of the new code is matches the current ones’, which is very encouraging given that the current FORTRAN code has been optimized for several years based on thousands of studies. Also, the julia code incorporates several new modeling features that were easy to implement in all the 3 models: including SDP and SOCP relaxations for OPF and SDDiP method for stochastic integer optimization, confirming our expectation of faster model development. +The new models were incorporated to an integrated planning system for Peru being developed by PSR, which will be delivered in August 2017. They are also being internally tested as a “shadow” to the current version for studies in several countries and was delivered for beta testing for some PSR clients. The official release is scheduled for the end of 2017.

+ + +
+ About Camila Metello & Joaquim Garcia +

Camila graduated as an industrial engineer and has a MSc in Decision Analysis from PUC-Rio. Attended UC Berkeley for a semester during under graduation. Joined PSR in 2013, where, at present, works with the development of the models of optimization of hydrothermal dispatch under uncertainty with network constraints (SDDP model) and electric systems expansion planning (OPTGEN model).

+ +

Joaquim has a BSc degree in electrical engineering and a BSc degree in mathematics, both from PUC -Rio and is currently working towards a PhD in electrical engineering with emphasis on decision support, also at PUC-Rio. During his undergraduate studies, he attended a year at UC Santa Barbara. He joined PSR in 2015 has been been working on the development of optimization models for hydro-thermal dispatch under uncertainty with transmission constraints reliability analysis, electrical systems expansion planning and nonlinear optimal power flow. Before PSR Joaquim worked with decision support at LAMPS (Laboratory of applied mathematical programming and statistics, at PUC-Rio) and with OTDR and Signal Processing at LabOpt (Optoelectronics laboratory, at PUC-Rio).

+ +
+ + + +

Taking Vector Transposes Seriously

+
+ Jiahao Chen, Capital One +
+ +

from @jiahao: +We have really thought carefully about what the transpose of a vector should mean in a programming language. The pre-0.6 behavior that vector’vector yields a vector, vector’ yields a matrix, and vector’’ yields a matrix are all bad mathematics and produced no shortage of confusion by end users. +I present a summary of our research at the MIT Julia Labs into issue #4774, as a language design question that is informed by a comprehensive understanding of user expectations. Our main result is a short proof that it is impossible to avoid either new types, “ugly mathematics” (violation of Householder notation) or type instability. A single Array type is incompatible with Householder notation that produces the expected types from typical linear algebraic expressions. Furthermore, Householder notation intrinsically requires a conflation of 1x1 matrices and true scalars. +I also provide historical evidence the notion of “ugly mathematics” is neither static nor objective. In reality, linear algebra has changed greatly over the past centuries, demonstrating the impermanence of even elementary concepts of what matrices and vectors are and how they have been influenced by notation - a discussion forced into consciousness through the lens of programming language design, types, and formal program semantics. +I review the resolution of #19670 in the context of other designs in other programming languages, showing that all these designs turn out to locally optimal in conflating as much of Householder notation and array semantics as possible. +Joint work with Alan Edelman, Andy Ferris, and a few other people.

+ + +
+ About Jiahao Chen +

Data Scientist at Capital One, formerly Research Scientist at MIT

+ +
+ + +
+ Resources + +
+ + +

TaylorIntegration.jl: Taylor's Integration Method in Julia

+
+ Jorge Perez and Luis Benet, UNAM (Mexico) +
+ +

In this talk we shall present TaylorIntegration.jl, an ODE integration package using Taylor’s method in Julia. The main idea of Taylor’s method is to approximate locally the solution by means by a high-order Taylor expansion, whose coefficients are computed recursively using automatic differentiation techniques. One of the principal advantages of Taylor’s method is that, whenever high accuracy is required, the order of the method can be increased, which is more efficient computationally than taking smaller time steps. The accuracy of Taylor’s method permits to have round-off errors per integration step. Traditionally, it has been difficult to make a generic Taylor integration package, but Julia permits this beautifully. We shall present some examples of the application of this method to ODE integration, including the whole computation of the Lyapunov spectrum, use of jet transport techniques, and parameter sensitivity. Open issues related to improving performance will be described.

+ + +
+ About Jorge Perez and Luis Benet +

Jorge Perez is a Physics Ph.D. student at UNAM, Mexico, under supervision of Luis Benet and David P. Sanders, authors of TaylorSeries.jl and ValidatedNumerics.jl. His Ph.D. research project is related to understanding the dynamics of minor Solar System objects: comets, asteroids, etc. He is coauthor of TaylorIntegration.jl and a contributor to TaylorSeries.jl. +Luis Benet is Associate Professor at the Instituto de Ciencias Físicas of the National University of Mexico (UNAM). He is mainly interested in classical and quantum chaos, including the dynamics of Solar System objects. He is coauthor of ValidatedNumerics.jl, TaylorSeries.jl and TaylorIntegration.jl, and has contributed to other Julia packages.

+ +
+ + +
+ Resources + +
+ + +

The Dolo Modeling Framework

+
+ Spencer Lyon, NYU Stern +
+ +

We present a family of three Julia packages that together constitute a complete framework to describe and solve rational expectation models in economics. Dolang.jl is an equation parser and compiler that understands how to compile latex-like strings describing systems of equations into efficient Julia functions for evaluating the levels or derivatives of the equations. Dolo.jl leverages Dolang and implements a variety of frontier algorithms for solving a wide class of discrete time, continuous control rational expectations models. Finally, Dyno.jl builds upon Dolang to implement a Julia prototype of the Matlab-based dynare software library used extensively throughout academia and the public sector to approximate the solution to and estimate rational expectations models.

+ + +
+ About Spencer Lyon +

Economics Ph.D. student at NYU Stern. Active Julia member since 0.2

+ +
+ + + +

The Present and Future of Robotics in Julia

+
+ Robin Deits and Twan Koolen, MIT CSAIL +
+ +

We (Twan and Robin) are graduate students in the Robot Locomotion Group at MIT. Our research focuses on modeling and optimization for the simulation and control of walking (and sometimes flying) robots. We’ve been using Julia in our research over the past year, and we’re excited to share what we’ve learned, what we’ve built, and what we’re hoping to see in the future of Julia. +Specifically, we’d like to share some of our work on:

+
    +
  • Robot dynamics and simulation in Julia: https://github.com/tkoolen/RigidBodyDynamics.jl
  • +
  • 3D visualization and manipulation of robot models from Julia: https://github.com/rdeits/RigidBodyTreeInspector.jl https://github.com/rdeits/DrakeVisualizer.jl
  • +
  • Optimization in Julia: https://github.com/rdeits/NNLS.jl
  • +
  • Collision algorithms in Julia: https://github.com/rdeits/EnhancedGJK.jl https://github.com/rdeits/AdaptiveDistanceFields.jl
  • +
+ +

We would also like to talk about how some of the best parts of the Julia ecosystem have made our work possible, like JuMP.jl, ForwardDiff.jl, and StaticArrays.jl. +And, finally, we plan to discuss what we hope to see in Julia’s future, including what the role of Julia can be inside a real-time robot controller.

+ + +
+ About Robin Deits and Twan Koolen +

We’re graduate students in the Robot Locomotion Group at MIT, where we work on simulation, planning, and control of walking and flying robots.

+ +
+ + +
+ Resources + +
+ + +

The State of the Type System

+
+ Jeff Bezanson, Julia Computing, Inc. +
+ +

Julia 0.6 includes a long-needed overhaul of the type system. While the effects of this change are not always visible, the new system eliminates classes of bugs and increases the expressiveness of types and method signatures. I plan to briefly explain how the new system works and what you can do with it. But more importantly, I want to ask: where do we go from here? Will we ever need another overhaul? I’ll present some possible future features and other related speculations. Topics may include record types, more powerful tuple types, protocols, ugly corner cases, and method specificity and ambiguity.

+ + +
+ About Jeff Bezanson +

Jeff is one of the creators of Julia, co-founding the project at MIT in 2009 and eventually receiving a Ph.D. related to the language in 2015. He continues to work on the compiler and system internals, while also working to expand Julia’s commercial reach as a co-founder of Julia Computing, Inc.

+ +
+ + +
+ Resources + +
+ + +

Turing: a Fresh Approach to Probabilistic Programming

+
+ Hong Ge, Zoubin Ghahramani, Kai Xu, University of Cambridge +
+ +

Turing is a new probabilistic programming language (PPL) based on Julia, a framework which allows users to define probabilistic models and perform inference automatically. Thanks to Julia’s meta-programming support, Turing has a very friendly front-end modelling interface. Meanwhile, coroutines are used in Turing’s inference engine development to achieve the state-of-the-art sampling performance. Also, we have recently introduced a new Gibbs interface, which allows user to compose different samplers and run them in the same time. In this talk, we will discuss our motivation of developing Turing in Julia, introduce the design and architecture of Turing, and present some practical examples of how probabilistic modelling is performed in Turing.

+ + +
+ About Hong Ge, Zoubin Ghahramani, Kai Xu +

Developers of the Turing project form Cambridge Machine Learning Group

+ +
+ + +
+ Resources + +
+ + +

Using Parallel Computing for Macroeconomic Forecasting at the Federal Reserve Bank of New York

+
+ Pearl Li, Federal Reserve Bank of New York +
+ +

This talk will give an overview of how researchers at the Federal Reserve Bank of New York have implemented economic forecasting and other post-estimation analyses of dynamic stochastic general equilibrium (DSGE) models using Julia’s parallel computing framework. This is part of the most recent release of our DSGE.jl package, following our ports of the DSGE model solution and estimation steps from MATLAB that were presented at JuliaCon in 2016. I will discuss the technical challenges and constraints we faced in our production environment and how we used Julia’s parallel computing tools to substantially reduce both the time and memory usage required to forecast our models. I will present our experiences with the different means of parallel computing offered in Julia - including an extended attempt at using DistributedArrays.jl - and discuss what we have learned about parallelization, both in Julia and in general. +In addition, I will provide some of our new perspectives on using Julia in a production setting at an academic and policy institution. DSGE models are sometimes called the workhorses of modern macroeconomics, applying insights from microeconomics to inform our understanding of the economy as a whole. They are used to forecast economic variables, investigate counterfactual scenarios, and understand the impact of monetary policy. The New York Fed’s DSGE model is a large-scale model of the U.S. economy, which incorporates the zero lower bound, price/wage stickiness, financial frictions, and other realistic features of the economy. Solving, estimating, and forecasting it presents a series of high-dimensional problems which are well suited for implementation in Julia.

+ +

Disclaimer: This talk reflects the experience of the author and does not represent an endorsement by the Federal Reserve Bank of New York or the Federal Reserve System of any particular product or service. The views expressed in this talk are those of the authors and do not necessarily reflect the position of the Federal Reserve Bank of New York or the Federal Reserve System. Any errors or omissions are the responsibility of the authors.

+ + +
+ About Pearl Li +

I’m a Research Analyst at the New York Fed using Julia to estimate and forecast macroeconomic models. I’m interested in applying the frontier of scientific computing to economic research, so that we can solve more realistic and complex models.

+ +
+ + +
+ Resources + +
+ + + +
+ + +
+

Lightning Talks

+ +

Applications of Convex.jl in Optimization Involving Complex Numbers

+
+ Ayush Pandey, Indian Institute of Technology Kharagpur +
+ +

Convex optimization problems require rigorous mathematical understanding to solve them. Convex.jl allows users to solve complex optimization problems easily by providing a simple intuitive user interface to express the objective function and constraints. As it became popular, we saw increased demand to support optimization over complex numbers, from users working in diverse scientific fields including power grid optimization, quantum information theory, wireless communication, and signal processing. Previously, these users relied on various tools such as MATLAB’s cvx and open-source python package PICOS to tackle different problems depending upon their domain of work. Convex’s new support for complex numbers allows users to approach each of these problems in Julia. In this talk, I will show how to the new functionality in Convex.jl provides a single integrated solution for many types of Disciplined Convex Programming Problems and show how to solve complex problems using Convex.jl in very few lines of code, taking examples from scientific domains mentioned above. I will also present benchmarks comparing Convex.jl with competing open-source tools.

+ + +
+ About Ayush Pandey +

Ayush Pandey is a final year graduate student at IIT Kharagpur studying Mathematics & Computing Sciences with micro-specialization in Optimization Theory and Applications. He is also a Google Summer of Code, 2016 fellow under the Julia Language.

+ +
+ + + +

Automatically Deriving Test Data for Julia Functions

+
+ Simon Poulding, Blekinge Institute of Technology, Sweden +
+ +

The use of multiple dispatch in Julia’s standard library and user-written functions presents a challenge for automated techniques of generating test data. In order to exercise all the methods that implement a function, the generation technique must generate test data with diverse data types, but traditional techniques typically focus solely on diverse data values and implicitly assume a constant data type. In this talk, I will demonstrate our solution to this challenge which automatically learns an effective probability distribution over types and methods that create instances of these types. I will explain how we used this approach to fuzz-test some common arithmetic and string functions in the Julia standard library, in the process identifying three faults.

+ + +
+ About Simon Poulding +

I am an assistant professor in software engineering. The primary objective of my research is to improve the cost-effectiveness of software testing through the application of machine learning and statistical methods. I have been a user of Julia for three years, and am co-developer of the DataGenerators package which facilitates the generation of complex test data.

+ +
+ + +
+ Resources + +
+ + +

BioSimulator.jl: Stochastic Simulation in Julia

+
+ Alfonso Landeros, University of California, Los Angeles +
+ +

Complex systems in biology are often difficult to treat analytically using mathematics and expensive to investigate with empirical methods. Moreover, deterministic approaches are misleading in systems that exhibit noise (e.g. rare events akin to mutation and extinction). Stochastic simulation provides investigators with the ability to simulate complex systems by integrating mathematical rigor and biological insight. However, simulations are slow, computationally expensive, and difficult to implement in software. My goal in developing BioSimulator.jl is to provide investigators with a tool that enables (1) quick and intuitive model prototyping, (2) efficient simulation, (3) visualization of simulation output, and (4) implementing new stochastic simulation algorithms. Using the Julia language allowed us to meet all four criteria with relative ease and extend to parallelized simulations. My talk will describe the theory underlying BioSimulator.jl, highlight aspects of our implementation, and present a few numerical examples.

+ + +
+ About Alfonso Landeros +

I am a first-year student in biomathematics. My studies are focused on stochastic processes, scientific computing, and optimization.

+ +
+ + + +

Circuitscape: A Tool to Measure Landscape Connectivity

+
+ Ranjan Anantharaman, Julia Computing, Inc. +
+ +

Circuitscape is one of the most popular tools to measure landscape connectivity, using concepts from electrical circuit theory. Ecologists can model landscapes as large resistance maps and then compute current maps and voltage potentials at various parts on the landscape. Computationally, this involves constructing a large graph and using a sparse solver. This tool has originally been written in Python, and this talk will be about porting it to Julia as well as improving the solver in the package. This talk will also focus on performance comparisons between the Julia and Python versions.

+ + +
+ About Ranjan Anantharaman +

Ranjan Anantharaman is a data scientist at Julia Computing. His interests span applied mathematics and numerical computing, and he enjoys working with computation across a variety of fields and domains.

+ +
+ + + +

Continuous-Time Point-Process Factor Analysis in Julia

+
+ Gergo Bohner, Gatsby Computational Neuroscience Unit, UCL +
+ +

Neurons throughout the brain, and particularly in the cerebral cortex, represent many quantities of interest using population codes. Latent variable models of neural population activity may be seen as attempting to identify the value, time-evolution and encoding of such internal variables from neural data alone. They do so by seeking a small set of underlying processes that can account for the coordinated activity of the population. +We introduce a novel estimation method [1] for latent factor models for point processes that operates on continuous spike times. Our method is based on score matching for point process regressions [2] adapted to population recordings with latent processes formed by mixing basis functions. +The basis functions are represented as either Fourier modes, or functions living in a Reproducing Kernel Hilbert Space, parametrised using MLKernels. The method requires the kernel matrix as well as the first and second derivatives thereof, which we can compute efficiently via the Calculus package, making use of anonymous functions. Parameter estimation is then closed form and thus lightning fast up to normalisation, but afterwards we need to estimate the total intensity in the observation period. The approximation of the time integral relies on Cubature.jl. +Due to its speed, this method enables neuroscientists to visualise latent processes in real time during experimental recordings and immediate compare them to their expectations, thus quickening the Planning-Design-Analysis loop by a large margin.

+
    +
  1. https://github.com/gbohner/PoissonProcessEstimation.jl
  2. +
  3. Sahani, M; Bohner, G and Meyer A, 2016 - Score-matching estimators for continuous-time point-process regression models. MLSP2016
  4. +
+ + +
+ About Gergo Bohner +

Gergo focused on math and physics in high school, but completed an engineering degree in Molecular Bionics as an undergrad in his home city, Budapest. After being the image processing guy in a cancer research lab in London as well as learning about AI in Leuven, Belgium, Gergo settled as a Ph.D. student in the Gatbsy Computational Neuroscience Unit, working on developing machine learning algorithms to process and understand various types of neural data.

+ +
+ + + +

Cows, Lakes, and a JuMP Extension for Multi-stage Stochastic Optimization

+
+ Oscar Dowson, University of Auckland +
+ +

Stochastic Dual Dynamic Programming (SDDP) is an optimization algorithm for solving large, multi-stage stochastic programming problems. It is well known in the electricity community, but has received little attention in other application areas. The algorithm is computationally demanding as it typically involves iteratively solving hundreds of thousands of linear programs. In the past, implementations have been coded in slow, but expressive mathematical optimization languages such as AMPL, or in fast, but low level languages such as C++. In this talk, we detail a JuMP extension we have developed to solve problems using SDDP. We also present benchmarks showing that our Julia implementation has similar run-times to a previous version developed in C++, while being more flexible and expressive. This speed and flexibility has allowed us to revisit assumptions made in previous work, as well as apply the SDDP algorithm to problems as diverse as agriculture, energy, and finance.

+ + +
+ About Oscar Dowson +

Oscar Dowson (@odow) is a P.h.D. Candidate in Engineering Science at the University of Auckland. He works on applying stochastic optimization to the New Zealand dairy industry.

+ +
+ + + +

DataStreams: Roadmap for Data I/O in Julia

+
+ Jacob Quinn, Domo +
+ +

The DataStreams package defines a powerful and performant interface for getting data in and out of Julia. Come learn about exciting advances in features and performance as we approach Julia 1.0.

+ + +
+ About Jacob Quinn +

Attended Carnegie Mellon for a master’s degree in data science and active Julia contributor for 4 years now.

+ +
+ + +
+ Resources + +
+ + +

Diversity and Inclusion at JuliaCon and in the Scientific Computing Community

+
+ Erica Moszkowski, Federal Reserve Bank of New York +
+ +

This talk will address efforts to promote diversity and inclusion at JuliaCon this year, with the goals of a) increasing awareness of JuliaCon’s initiatives among conference participants and the Julia community at large and b) starting a public conversation about diversity and inclusion with other open-source conferences. It will place JuliaCon’s initiatives in the context of the broader scientific computing community.

+ + +
+ About Erica Moszkowski +

Erica is a research analyst in the Macroeconomics function at the Federal Reserve Bank of New York and the Diversity Chair for JuliaCon 2017. She is a 2015 graduate of Williams College and plans to begin her Ph.D. in Economics in the fall.

+ +
+ + +
+ Resources + +
+ + +

Exploring Evolutionary Dynamics of Communications in Bacteria Using Julia

+
+ Yifei Wang, Georgia Institute of Technology +
+ +

Many species of bacteria are able to collectively sense and respond to their environment. This communication form known as quorum-sensing (QS) can be achieved through the production of small molecules that are able to freely diffuse across cell membranes. These molecules (autoinducers) can subsequently be detected by other individuals in the population and once a threshold limit is reached, then this may cause a change in gene expression which allows bacteria to coordinate their activities such as biofilm formation, virulence and antibiotic resistance. Despite the widespread interest in QS from molecular mechanisms to social evolution and pathogen control, there is still controversy over the basic evolutionary function of QS. Using Julia as the agent-based modeling platform, we have been able to investigate the rewards and risks of coordination and cooperation in QS. In this talk, I will briefly introduce the research background and share some of our results obtained from in silico evolution using Julia. This work is important as it sheds light on how simple signal-mediated behavioral rules can shape complex collective behaviors in bacteria. Julia greatly helped simplify the modeling precess and speed up simulations.

+ + +
+ About Yifei Wang +

Yifei Wang is currently a postdoctoral research fellow with the School of Biological Sciences at Georgia Institute of Technology. His research focuses on collective intelligence, evolutionary dynamics and high-performance computing. Dr. Wang received a degree of B.Eng. in computer science & technology in 2009, a degree of M.Eng. in astronautics engineering in 2012, and a degree of Ph.D. in computing in 2016. He was an awardee of Richard E. Merwin Student Scholarship from the IEEE Computer Society in 2011, and received a three-year Overseas University Research Studentship from the University of Bath (UK) in 2012. Dr. Wang was the Student Activities Chair of IEEE UK & Ireland Section from 2013 to 2015. He along with his team successfully organized the 3rd IEEE UK & Ireland Student Branch Congress in 2013.

+ +
+ + + +

GR Framework: Present and Future

+
+ Josef Heinen, Forschungszentrum Jülich +
+ +

GR is a plotting package for the creation of two- and three-dimensional graphics in Julia, offering basic MATLAB-like plotting functions to visualize static or dynamic data with minimal overhead. In addition, GR can be used as a backend for Plots, a popular visualization interface and toolset for Julia. Using quick practical examples, this talk is going to present the special features and capabilities provided by the GR framework for high-performance graphics, in particular when being used in interactive notebooks (Jupyter), development environments (Atom), desktop applications (nteract) or terminal programs (iTerm2). The presentation also introduces how to embed GR in interactive GUI applications based on QML.jl, a new plotting interface to Qt5 QML. Moreover, some experimental features and elements will be introduced, i.a. a meta layer providing an interactive interface to new backends based on Qt5 or JavaScript.

+ + +
+ About Josef Heinen +

Josef Heinen is the head of the group “Scientific IT–Systems” at the Peter Grünberg Institute / Jülich Centre for Neutron Science, both institutes at Forschungszentrum Jülich, a leading research centre in Germany. The design and development of visualization systems have been an essential part of his activities over the last twenty years. Most recently his team is engaged with the further development of a universal framework for cross-platform visualization applications (GR Framework).

+ +
+ + +
+ Resources + +
+ + +

Heavy-duty pricing of Fixed Income financial contracts with Julia

+
+ Felipe Noronha, Brazilian Development Bank +
+ +

The pricing of bonds or a Credit Portfolio usually has simple mathematics. However, when faced with a big portfolio, careful design is crucial for a fast execution time. I’ll show how I designed a solution to price a database of about 2.4 million contracts with 78 million cashflows in up to 3.5 minutes using a 8 core machine. The solution uses plain simple Julia code, some parallel computation and buffering strategies, Julia’s native serialization for fast-loading data from the disk, and a handful of packages. BusinessDays.jl and InterestRates.jl packages will be featured.

+ + +
+ About Felipe Noronha +

Bachelor in Computer Engineering, M. Sc. in Economics, Market Risk Manager at BNDES (Brazilian Development Bank).

+ +
+ + + +

Improving Biological Network Inference with Julia

+
+ Thalia Chan, Imperial College, London +
+ +

In the multi-disciplinary field of systems biology, we welcome the opportunity that Julia brings for writing fast software with simple syntax. Speed is important in an age when biological datasets are increasing in size and analyses are becoming computationally more expensive. One example is the problem of determining how genes within a cell interact with one another. In the inference of gene regulatory networks (GRN) we seek to detect relationships between genes through statistical dependencies in biological data, and as datasets grow, so does computation time. Some algorithms use measures from information theory, which are suitable for detecting nonlinear biological relationships, but incur a high computational cost. We developed InformationMeasures.jl, a package for calculating information theoretic measures. The improvement in performance of our Julia package compared to widely-used packages in other languages enables us to develop new algorithms with higher complexity, examining triples, rather than pairs, of genes. These we can show are more successful than pairwise methods (in simulated data where the underlying GRNs are known), and scale well to the size of the largest currently-available biological datasets.

+ + +
+ About Thalia Chan +

Thalia is a Ph.D. student in theoretical systems biology at Imperial College, London. Her research focuses on algorithm development for biological network inference, in particular using information theory. Outside of her studies she contributes to various open source software projects.

+ +
+ + + +

Interfacing with LLVM Using LLVM.jl

+
+ Tim Besard, Ghent University +
+ +

LLVM.jl provides a high-level Julia interface to the LLVM compiler framework. In this talk, I’ll explain how to use LLVM.jl for basic code generation and execution, as well as how to integrate it with the rest of the Julia compiler.

+ + +
+ About Tim Besard +

Ph.D. student at Ghent University

+ +
+ + +
+ Resources + +
+ + +

JLD2: High-performance Serialization of Julia Data Structures in an HDF5-compatible Format

+
+ Simon Kornblith, MIT +
+ +

At present, two options exist for saving Julia data structures to disk: Julia’s built-in serializer and the JLD (Julia data) package. The built-in serializer achieves reasonable performance, but uses a non-standardized format that differs by Julia version and processor architecture. JLD saves data structures in a standardized format (HDF5), but has substantial overhead when saving large numbers of mutable objects. In this talk, I describe the design of JLD2, a re-implementation of JLD. By replacing JLD’s dependency on the HDF5 library with a pure Julia implementation of a subset of HDF5, JLD2 achieves performance comparable to Julia’s built-in serializer, while writing files readable by standard HDF5 implementations. Additionally, JLD2 resolves numerous issues with the previous JLD format and implementation.

+ + +
+ About Simon Kornblith +

I am currently a Ph.D. student in neuroscience at MIT, but my affiliation will probably change before JuliaCon.

+ +
+ + + +

JSeqArray: Data Manipulation of Whole-genome Sequencing Variants in Julia

+
+ Xiuwen Zheng, University of Washington +
+ +

Whole-genome sequencing (WGS) data is being generated at an unprecedented rate. Analysis of WGS data requires a flexible data format to store the different types of DNA variation. A new WGS variant data format “SeqArray” was proposed recently (Zheng X, etc, 2017 Bioinformatics), which outperforms text-based variant call format (VCF) in terms of access efficiency and file size. +Here I introduce a new Julia package “JSeqArray” for data manipulation of genotypes and annotations in an array-oriented manner (https://github.com/CoreArray/JSeqArray). It enables users to write portable and immediately usable code in the wider scientific ecosystem. When used in conjunction with the in-built multiprocessing and job-oriented functions for parallel execution, the JSeqArray package provides users a flexible and high-performance programming environment for analysis of WGS variant data. In the presentation, the examples of calculating allele frequencies, principal component analysis and association tests of linear regression will be given.

+ + +
+ About Xiuwen Zheng +

Ph.D, Biostatistics, (6/13) Dept. of Biostatistics, UW, Seattle, WA Postdoctoral Fellow, (7/13 – 8/15) Dept. of Biostatistics, University of Washington (UW), Seattle, WA Senior Fellow, (9/15 – present) Dept. of Biostatistics, University of Washington (UW), Seattle, WA Develop and apply statistical and computational methods for the interpretation of large-scale genetic data

+ +
+ + + +

Julia Roadmap

+
+ Stefan Karpinski, Julia Computing, Inc. / NYU +
+ +

TBD

+ + +
+ About Stefan Karpinski +

co-creator of Julia, co-founder of Julia Computing

+ +
+ + +
+ Resources + +
+ + +

Julia for Seismic Data Processing and Imaging (Seismic.jl)

+
+ Wenlei Gao, University of Alberta +
+ +

Seismic.jl is a Julia package that provides a framework for seismic wave modeling, data processing and imaging. The current version includes support to read/write seismic data, reconstruction and denoising of multi-dimensional (5D) seismic data via parallel and distributed tensor completion, GPU-accelerated finite-difference solvers for seismic wave simulations, and seismic imaging including passive-seismic source location. In this lightning talk, I will briefly describe our area of research and immediately, show how Seismic.jl has been used as main framework for our research in applied seismology.

+ + +
+ About Wenlei Gao +

Wenlei Gao received his B.Sc in 2010 and M.Sc in 2013 in Geophysics from China University of Petroleum, Beijing, China. From 2013 to 2014 he worked for the Research Institute of China National Offshore Oil Company. He is currently enrolled in the Ph.D. program in Geophysics in the University of Alberta. His research is mainly focused on multicomponent seismic data registration and joint deconvolution.

+ +
+ + + +

Julia on the Raspberry Pi

+
+ Avik Sengupta, Julia Computing, Inc. +
+ +

A quick update on the state of Julia on the Raspberry Pi. We will see how get Julia and GPIO related packages working on the Pi, and explore some working examples of applications running on the Pi and utilising its power to interact with the physical world.

+ + +
+ About Avik Sengupta +

Avik is the author of Julia’s integration with Java and various other packages. One of his hobbies is to make Julia a first class language on the Raspberry Pi.

+ +
+ + + +

Julia: a Major Scripting Language in Economic Research?

+
+ Anna Ciesielski, ifo Institute and Ludwig-Maximilians University in Munich (Germany) +
+ +

Julia has the potential to become a major programming language in economics. In this presentation I will suggest a new way to calibrate models of economic growth. For that purpose I use a Markov-Chain Monte-Carlo algorithm (the Klara package) and I repeatedly solve for the roots of a big system of nonlinear equations using the JuMP and Ipopt packages. With this approach I am able to estimate the distributions of parameter values which drive long-run economic growth and project confidence intervals of macroeconomic variables into the future. For this purpose Julia is the best programming language that I know of, because it combines a great range of functionalities and at the same time it is very fast. To conclude, I will reflect on some challenges that came up during the project.

+ + +
+ About Anna Ciesielski +

I am a Ph.D. student in the economics department at the Ludwig-Maximilians University in Munich (Germany).

+ +
+ + + +

JuliaBox on Various Cloud Platforms and Current Development Goals

+
+ Nishanth H. Kottary, Julia Computing Inc. +
+ +

A quick presentation on our experience of running JuliaBox on various cloud platforms viz. Amazon AWS, Google Cloud Platform and Microsoft Azure. Also we present the current development plans to make JuliaBox faster and support a host of new features.

+ + +
+ About Nishanth H. Kottary +

Software Engineer at Julia Computing Inc.

+ +
+ + + +

JuliaDB

+
+ Jeff Bezanson, Julia Computing, Inc. +
+ +

JuliaDB.jl is an end-to-end all-Julia data analysis platform incorporating storage, parallelism and compute into a single model. One can load a pile of CSV files into JuliaDB as a distributed table. JuliaDB will index the files and save the index for efficient lookup of subsets of the data later. You can also convert the data from the CSV files into an efficient memory mappable binary format (“ingest”). +This talk will be a brief introduction to the basic primitives of JuliaDB and how to use them.”

+ + +
+ About Jeff Bezanson +

Jeff is one of the creators of Julia, co-founding the project at MIT in 2009 and eventually receiving a Ph.D. related to the language in 2015. He continues to work on the compiler and system internals, while also working to expand Julia’s commercial reach as a co-founder of Julia Computing, Inc.

+ +
+ + + +

JuliaRun: A Simple & Scalable Julia Deployment Platform

+
+ Tanmay Mohapatra & Pradeep Mudlapur, Julia Computing, Inc. +
+ +

JuliaRun is a product of Julia Computing under development and a few early users. It is adaptable to a variety of private and public clouds and makes it easy to deploy Julia applications both batch and online. We will present a brief of the architecture and how it can help deploy scalable end to end applications.

+ + +
+ About Tanmay Mohapatra & Pradeep Mudlapur +

Tanmay and Pradeep have contributed to Julia packages in JuliaWeb and JuliaCloud.

+ +
+ + + +

Junet: Towards Better Network Analysis in Julia

+
+ Igor Zakhlebin, Northwestern University +
+ +

I will present Junet — a new package for network analysis that seeks to be a fast and hackable alternative to mainstream network analysis libraries like NetworkX, igraph, and graph-tool. Unlike other Julia packages, it allows to quickly traverse and modify the graphs as well as to associate the attributes with their nodes and edges. I will discuss the data structures implemented in Junet and showcase how specific Julia’s features allow to make them efficient. For example, thanks to parametric types it is possible to shrink the memory consumed by Junet to a fraction of what other libraries require. And conjunction of multiple dispatch with just-in-time compilation allows to optimize some methods based on the specific types they operate on, sometimes eliminating the computation altogether. The talk will also overview things that are experimental and don’t work so well like creating zero-cost iterators and parallelizing loops. Finally, I will present the benchmarks comparing Junet with state-of-the-art libraries for network analysis.

+ + +
+ About Igor Zakhlebin +

Graduate student

+ +
+ + +
+ Resources + +
+ + +

L1-penalized Matrix Linear Models for High Throughput Data

+
+ Jane Liang, University of Tennessee Health Science Center +
+ +

Analysis of high-throughput data can be improved by taking advantage of known relationships between observations. Matrix linear models provide a simple framework for encoding such relationships to enhance detection of associations. Estimation of these models is challenging when the datasets are large and when penalized regression is used. This talk will discuss implementing fast estimation algorithms for L1-penalized matrix linear models as a first-time Julia user and fluent R user. We will share our experiences using Julia as our platform for prototyping, numerical linear algebra, parallel computing, and sharing our method.

+ + +
+ About Jane Liang +

Jane Liang recently obtained a bachelor’s degree in statistics from UC Berkeley and plans to enter a doctoral program later this year. Currently, she is a scientific programmer working with Dr. Saunak Sen at the University of Tennessee Health Science Center, Department of Preventive Medicine, Division of Biostatistics.

+ +
+ + + +

MultipleTesting.jl: Simultaneous Statistical Inference in Julia

+
+ Nikolaos Ignatiadis, Stanford University +
+ +

The parallel application of multiple statistical hypothesis tests is one of the fundamental patterns of exploratory data analysis for big datasets. This becomes essential in various fields of scientific research, such as in high-throughput biology, medicine and imaging where one is routinely faced with millions of tests. The goal is to protect against spurious discoveries with rigorous statistical error control guarantees, while simultaneously providing enough power to detect needles in a haystack. Here, we present MultipleTesting.jl, a package that provides a unified interface for classical and modern multiple testing methods. We give a quick introduction to the underlying statistical concepts and show how Julia is ideally suited for such an endeavour: First, most multiple testing procedures consist of a standard set of primitives, such as p-values, adjusted p-values and hypothesis weights. Second, elaborate (multiple testing) algorithms often consist of simpler components in a plug-and-play fashion; these include estimators of the proportion of true null hypotheses, parametric as well as non-parametric distribution estimators, and statistical machine learning techniques. All of these ideas can be abstracted away by Julia’s type system and multiple dispatch. Third, Julia provides the computational performance which is necessary when analyzing millions of hypotheses. We believe MultipleTesting.jl complements the growing number of high quality statistics packages in Julia’s ecosystem.

+ + +
+ About Nikolaos Ignatiadis +

Nikos Ignatiadis is a first year Ph.D. student at Stanford’s Statistics department. He is interested in the development of interpretable methods for multiple testing and high dimensional inference.

+ +
+ + + +

Nulls.jl: Missingness for Data in Julia

+
+ Jacob Quinn, Domo +
+ +

Nullability is a complex issue for any programming language or domain; Nulls.jl puts forth the data-friendly approach Julia has wanted and deserves with core language support.

+ + +
+ About Jacob Quinn +

Attended Carnegie Mellon for a master’s degree in data science and active Julia contributor for 4 years now.

+ +
+ + +
+ Resources + +
+ + +

Solving Geophysical Inverse Problems with the jInv.jl Framework: Seeing Underground with Julia

+
+ Patrick Belliveau, University of British Columbia +
+ +

Geophysical inversion is the mathematical and computational process of estimating the spatial distribution of physical properties of the earth’s subsurface from remote measurements. It’s a key tool in applied geophysics, which is generally concerned with determining the structure and composition of the earth’s interior without direct sampling. At JuliaCon 2017 I would like to discuss our group’s efforts to develop a modular, scalable, and extensible framework for solving geophysical inverse problems and other partial differential equation (PDE) constrained parameter estimation problems in Julia. +To solve PDE constrained parameter estimation problems we need advanced algorithms for optimization, for the solution of PDEs, and the ability to efficiently share information between these domains. Our framework, called jInv—short for JuliaInversion—provides modular building block routines for these tasks that allow users to easily write their own software to solve new problems. The framework heavily uses Julia’s multiple dispatch to allow for extensibility and generic programming. +It is also critical that software implementations of these algorithms can scale to large distributed computing systems. jInv allows users to exploit the parallelism in geophysical inverse problems without detailed knowledge of Julia’s parallel computing constructs. +The first main goal of my talk is to discuss our approach to exploiting parallelism in geophysical inverse problems and how it has been implemented in jInv. The second goal is to illustrate, through examples of developing jInv modules for new geophysical problems, how we’ve moved jInv from a research project for the benefit of our own group to a tool that can be of use to the wider community.

+ + +
+ About Patrick Belliveau +

Hi! I’m a Ph.D. student in the department of Earth, Ocean and Atmospheric Sciences at the University of British Columbia in Vancouver Canada. Academically I’m interested in developing new computational methods for solving geophysical imaging problems. Since coming to UBC Julia has become my language of choice and I now consider myself a reformed Fortran programmer.

+ +
+ + + +

SparseRegression.jl: Statistical Learning in Pure Julia

+
+ Josh Day, NC State University +
+ +

SparseRegression implements a variety of offline and online algorithms for statistical models that are linear in the parameters (generalized linear models, quantile regression, SVMs, etc.). This talk will discuss my experience using primitives defined in the JuliaML ecosystem (LossFunctions and PenaltyFunctions) to implement a fast and flexible SparseReg type for fitting a wide variety of models.

+ + +
+ About Josh Day +

Josh is a statistics Ph.D. student at NC State University, where he researches on-line optimization algorithms for performing statistical analysis on big and streaming data.

+ +
+ + + +

Statically Sized and Typed Data in Julia

+
+ Andy Ferris, Fugro Roames +
+ +

I will describe my experience working with and developing highly efficient data structures in Julia which leverage statically known information - such as the type(s) contained in a collection, or the predetermined size of an array. Julia’s combination of efficient code generation and metaprogramming capability make it an ideal language to implement data structures which are both convenient to program with and lightning fast in execution. +I plan to describe the various metaprogramming approaches which are useful for implementing containers of known size or having inhomogeneous elements - by using traits, pure functions, generated functions, macros and recursion. I will touch upon the successes and failures of packages like StaticArrays.jl, Switches.jl and TypedTables.jl, and hope to preview work on a more flexible yet strongly-typed tabular data structure than currently provided by TypedTables.

+ + +
+ About Andy Ferris +

I currently work at Fugro Roames on the intersection of machine learning, geodesy and big data. Beginning with detailed, large-scale scans of the physical world, we deduce intelligence for our clients that would be expensive to acquire directly. Previously, I worked in academia as a numerical quantum physicist, where I was attracted to Julia for its unique combination of user productivity and speed.

+ +
+ + +
+ Resources + +
+ + +

Sustainable Machine Learning Workflows at Production Scale with Julia

+
+ Daniel Whitenack, Pachyderm +
+ +

The recent advances in machine learning and artificial intelligence are amazing, and Julia seems poised to play a significant role in these fields. Yet, in order to have real value within a company, data scientists must be able to get their models off of their laptops and deployed within a company’s distributed data pipelines and production infrastructure. In this talk, we will implement an ML model locally and talk about the trouble we can get into taking this to production. Then, against all odds, we will actually deploy the model in a scalable manner to a production cluster. Now that’s a pretty good 10 minutes!

+ + +
+ About Daniel Whitenack +

Daniel (@dwhitena) is a Ph.D. trained data scientist working with Pachyderm (@pachydermIO). Daniel develops innovative, distributed data pipelines which include predictive models, data visualizations, statistical analyses, and more. He has spoken at conferences around the world (Datapalooza, DevFest Siberia, GopherCon, and more), teaches data science/engineering with Ardan Labs (@ardanlabs), maintains the Go kernel for Jupyter, and is actively helping to organize contributions to various open source data science projects.

+ +
+ + + +

Teaching Through Code

+
+ Christina Lee, Okinawa Institute of Science and Technology +
+ +

Standards already exist to improve software readability, but code understandable by a colleague differs from the best code to present to a student. As a scientist, I have often had to jump from mathematics or pseudo-code to a fully fledged implementation, with no chance to gain purchase in an intermediate middle ground. In the last year, I have worked on a Julia blog in computational physics and numerics and have striven to write code comprehensible to someone unfamiliar with the fundamental principles of the algorithm. In this talk, I will display both good and bad examples of documentation and tutorials, as well as guidelines for improvement.

+ + +
+ About Christina Lee +

Theoretical Physics Graduate Student

+ +
+ + +
+ Resources + +
+ + +

The Julia VS Code Extension

+
+ Zac Nugent, None +
+ +

This talk will give an overview of the Julia extension for VS Code. The extension currently provides syntax highlighting, an integrated REPL, code completion, hover help, an integrated linter, code navigation, integration with the Julia testing infrastructure and integrated support for Weave documents (Julia’s knitr equivalent). +A 30-minute version of this talk would talk about the internals of the extension. We would describe the Julia language server (our implementation of the Microsoft Language Server Protocol) that provides the integration with the VS Code UI. Other topics we would cover are our approach to build a robust and reliable software delivery mechanism that does not depend on the shared Julia package directory, our custom parser that is used in the language server and the developments currently being made to provide actionable parse-time formatting and linting hints, as well as any other features we might add between now and JuliaCon. +Links: +https://github.com/JuliaEditorSupport/LanguageServer.jl https://github.com/JuliaEditorSupport/julia-vscode https://github.com/ZacLN/Parser.jl

+ + +
+ About Zac Nugent +

London based Economist

+ +
+ + + +

TheoSea: Theory Marching to Light

+
+ Mark Stalzer, Caltech +
+ +

TheoSea (for THEOry SEArch) is a Julia meta-program that discovers compact theories from data if they exist. It writes candidate theories in Julia and then validates: tossing the bad theories and keeping the good theories. Compactness is measured by a metric, such as the number of space-time derivatives. A theory can consist of more than one well-formed formula over a mathematical language. The underlying algorithm is optimal in terms of compactness, although it may be combinatorially explosive for non-compact theories. TheoSea is now working on re-discovering the source-free Maxwell equations and the wave equation of light. There are many applications.

+ + +
+ About Mark Stalzer +

https://www.linkedin.com/in/mark-stalzer-97254a/

+ +
+ + + +

Using Julia to Inform Qb@ll Development

+
+ Jane E. Herriman, Caltech/Lawrence Livermore National Lab +
+ +

Qb@ll is an open source density functional theory package being developed at Lawrence Livermore National Lab. Present work focuses on efficient time integration methods, with the aim of substantially increasing the timescales accessible in simulations of electron dynamics. Qb@ll is several hundred thousand lines of C++, Fortran, and Perl. Exploring new methods directly in the code base is extremely developer-time inefficient. Simultaneously, rigorous exploration of relevant methods is highly computationally intensive, precluding the use of traditional high-productivity languages. Screening new methods in Julia has proven highly effective, even accounting for the time to learn the language and implement a small code to explore electron wave function integration.

+ + +
+ About Jane E. Herriman +

Jane is a graduate student in computational materials physics enrolled at Caltech. She is interning at Lawrence Livermore National Lab, where she is working with Xavier Andrade on methods for and applications of density functional theory.

+ +
+ + + +

Using Return Type Annotations Effectively

+
+ Eric Davies, Invenia Technical Computing +
+ +

Function return type annotations were added over a year ago and have seen some usage in Base but little in user-land. This talk will describe how they are implemented and discuss how ResultTypes.jl uses them to great effect.

+ + +
+ About Eric Davies +

Eric is co-leading Invenia’s transition to Julia and designing the building blocks for Invenia’s Energy Intelligence System.

+ +
+ + +
+ Resources + +
+ + +

Web Scraping with Julia

+
+ Avik Sengupta, Julia Computing, Inc. +
+ +

A large part of data science is in the gathering of data, and in solving the 2 language problem, it should be no surprise that Julia is great for that part of the workflow. In this talk, we will discuss how to combine a set of packages (HTTP.jl, Gumbo.jl, Cascadia.jl) to easily develop and deploy a web scraping strategy. We will see how Julia’s high level language features make it easy to interactively develop such projects, and at the same allow deployment into a distributed cluster for scraping at scale.

+ + +
+ About Avik Sengupta +

Avik is the author of Julia’s integration with Java and various other packages. One of his hobbies is to make Julia a first class language on the Raspberry Pi.

+ +
+ + +
+ Resources + +
+ + +

WebIO.jl: a Thin Abstraction Layer for Web Based Widgets

+
+ Shashi Gowda, Julia Computing, Inc. +
+ +

WebIO acts as a small Julian bridge between browser-based UIs to Julia such as IJulia, Atom, Blink and Mux, and packages that wish to output rich, interactive widgets. This means graphics packages don’t have to depend on IJulia or Atom or Blink etc to create widgets. Instead they only depend on WebIO and use its abstractions. Widgets written with WebIO once will work on all the above interfaces. Some features are:

+
    +
  • A DSL for creating HTML elements
  • +
  • A Julia-to-JavaScript transpiler
  • +
  • transparent and easy communication with observable refs
  • +
  • Ability to reliably load arbitrary JS libraries from the web / serve them from disk with correct ordering of code execution. (This has plagued many a package so far)
  • +
  • Flexible. Not tied into any javascript framework, no opinions. Allows you to execute arbitrary JS on your widgets.
  • +
  • Allows mixing and mashing widgets and concepts from different packages seamlessly, resulting in arbitrarily granular separation of concerns. Enables an ecosystem of UI packages, as opposed to Escher’s monolithic codebase.
  • +
+ + +
+ About Shashi Gowda +

I work on various Julia projects. My interests are mainly in interactive UIs.

+ +
+ + + + +
+
+ +
+
+
+
+

© 2014-2020 JuliaCon.org All rights reserved. + Fork this site on Github or + open a bug report.

+ +
+ +
+
+
+ + + + + + diff --git a/previews/PR609/2017/talks.html b/previews/PR609/2017/talks.html new file mode 100644 index 000000000..d02542dc4 --- /dev/null +++ b/previews/PR609/2017/talks.html @@ -0,0 +1,2065 @@ + + + + + + + + JuliaCon 2017, Berkeley, CA + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
2017
+
+
+
+
Previous editions: 2016 | 2015 | 2014
+
+ + + + + + + + +
+ +

Accepted Talks & Workshops

+ +
+ + +
+

Workshops

+ + + +

Talks

+ + + +
+ + +
+

Lightning Talks

+ + +
+
+ +
+ +
+ +

Workshops

+ +

An Invitation to Julia: Toward Version 1.0

+
+ David P. Sanders, Department of Physics, Faculty of Sciences, National University of Mexico +
+ +

This is an introductory tutorial on Julia as it is today, aimed at people with experience in another language, and who want to get up to speed quickly as Julia heads towards its first stable version.

+ + +
+ About David P. Sanders +

David P. Sanders is associate professor of computational physics in the Department of Physics of the Faculty of Sciences at the National University of Mexico in Mexico City. +His previous Julia tutorials on YouTube have over 75,000 views. He is a principal author of the ValidatedNumerics.jl package for interval arithmetic, and IntervalConstraintProgramming.jl for constraint propagation.

+ +
+ + +
+ Resources + +
+ + +

Deep Learning with Julia

+
+ Mike Innes, Jonathan Malmaud, Pontus Stenetorp, Julia Computing, Massachusetts Institute of Technology, University College London +
+ +

Over the last few years we have seen Deep Learning rise to prominence not just in academia with state-of-the-art results for well-established tasks, but also in industry to leverage an ever-increasing amount of data becoming available. Due to the computationally heavy nature of Deep Learning approaches, Julia is in a unique position to serve as the language of choice for developing and deploying deep machine learning models. +In this workshop we will introduce Deep Learning for a general audience – assuming only high school-level mathematics to gain a practical understanding of the topics covered. We will first introduce the history and theoretical underpinnings of Deep Learning. After this we will proceed to introduce the lay of the land in terms of libraries and frameworks in Julia – demonstrating to the audience how one can implement state-of-the-art Deep Learning models for various forms of data. After attending the workshop the audience will have an understanding of how they can use Julia for Deep Learning and adapt these approaches to their own data. +The organisers of the workshop have between them many years of experience of teaching, research, and working with and implementing Deep Learning frameworks in Julia and other programming languages.

+ + +
+ About Mike Innes, Jonathan Malmaud, Pontus Stenetorp +

Mike Innes is a software engineer at Julia Computing, where he works on the Juno IDE and the machine learning ecosystem. +Jon Malmaud is a PhD candidate at MIT’s Brain and Cognitive Science Department, where he works on AI and Deep Learning. He’s also a core contributor to the Julia language, and created Julia’s TensorFlow bindings. +Pontus Stenetorp is a research associate at University College London, that spends most of his research time on Natural Language Processing and Machine Learning – with a particular focus on Deep Learning. He has been using Julia since 2014 due to a need for rapid prototyping and computational performance. When it comes to Julia contributions, he tends to contribute small occasional patches to the standard library.

+ +
+ + +
+ Resources + +
+ + +

From One to Many: Writing Julia Code to Simulate Big Quantum Systems on Big Computers

+
+ Katharine Hyatt, UC Santa Barbara +
+ +

Start using Julia to do simulations of quantum systems with many interacting particles! We will write a single-core exact diagonalization code which can handle a variety of models from quantum physics, using Julia to make it readable and performant. We’ll tour the Julia package ecosystem for useful packages that will help us store our results to share with others and get to the interesting physics. Then, we’ll use some of Julia’s parallel features to scale up our code to do many-body simulation on many-core and many-node systems in a convenient, reproducible, and fast way. You need not ever have written any Julia before. We’ll use physics examples as natural motivation to explore Julia’s capabilities, but no background in quantum mechanics is required. We will introduce the models as we go.

+ + +
+ About Katharine Hyatt +

5th year physics graduate student, sometimes Julia contributor

+ +
+ + +
+ Resources + +
+ + +

GPU Programming with Julia

+
+ Tim Besard, Simon Danisch, Valentin Churavy, Various +
+ +

This interactive workshop will introduce a couple of tools and packages for GPU programming in Julia: how to set-up a working environment, basic usage, and optimization. Participants will be able to follow along using their own system, or on a cloud-based JuliaBox instance.

+

Proposed sessions:

+
    +
  1. Introduction to the JuliaGPU ecosystem
  2. +
  3. CUDAnative.jl
  4. +
  5. GPUArrays.jl
  6. +
+ + +
+ About Tim Besard, Simon Danisch, Valentin Churavy +

Contributors to the JuliaGPU ecosystem

+ +
+ + +
+ Resources + +
+ + +

Integrating Julia in Real-world, Distributed Pipelines

+
+ Daniel Whitenack, Pachyderm +
+ +

After attending this workshop, you will have the skills needed to integrate Julia in real-world environments. Not only that, you will understand at least one strategy for distributing Julia data analysis at production scale on large data sets and streaming data. +The Roadmap of the workshop will include:

+
    +
  1. Intro - This section will explore any barriers to pushing Julia into production. What to do in real-world environments and what are the challenges of integrating Julia at production scale?
  2. +
  3. Making your Julia analysis portable - Here, we will learn how to containerize Julia analyses, which goes a long way to making them deployable within organizations. We will also explore the trade offs with containerization and common gotchas. In this case, we will use Docker to containerize an example data analysis written in Julia.
  4. +
  5. Distributing your Julia analysis at scale - Finally, we will learn how to take our Docker-ized Julia analysis and distributed at scale. That is, we will learn how to orchestrate the distribution of that analysis across a cluster and how to distribute data between instances of Julia. To do this, we will employ Kubernetes and Pachyderm. +The workshop will be completely example/demo based and will include individual exercises for the students.
  6. +
+ + +
+ About Daniel Whitenack +

Daniel (@dwhitena) is a Ph.D. trained data scientist working with Pachyderm (@pachydermIO). Daniel develops innovative, distributed data pipelines which include predictive models, data visualizations, statistical analyses, and more. He has spoken at conferences around the world (Datapalooza, DevFest Siberia, GopherCon, and more), teaches data science/engineering with Ardan Labs (@ardanlabs), maintains the Go kernel for Jupyter, and is actively helping to organize contributions to various open source data science projects.

+ +
+ + +
+ Resources + +
+ + +

NLOptControl.jl a Tool for Solving Nonlinear Optimal Control Problems

+
+ Huckleberry Febbo, University of Michigan +
+ +

I am the developer of NLOptControl.jl, a JuliaOpt tool that is an extension for JuMP.jl. NloptControl.jl is used for formulating and solving nonlinear optimal control problems. A current limitation of optimization modeling software, such as JuMP is that it does not allow for ease of adding integral constraint equations. +NLOptControl.jl also provides an implementation of the pseudo-spectral method written in written in julia which is extremely fast. While I have not yet benchmarked it against GPOPSii (a commercial software that also uses this method to solve optimal control problems), I hope to have made some comparisons to help motivate my users during juliaCon2017. NLOptControl.jl is an extension of JuMP.jl, and with that comes the a tremendous amount of power. For instance, have you ever struggled calculating Hessians and Jacobians? Well those days are over because NLOptControl.jl takes care of that for you by simply utilizing JuMP and the automatic differentiation capabilities of ReverseDiffSparse.jl. +Workshop Details The workshop will give people interested in nonlinear optimal control guidance and hands-on experience using a very high level tool that is fast, concise, and powerful. The workshop will be organize into two parts; background information and hands-on experience. The background information section will explain the basics of nonlinear optimal control problems, why I got started with julia, and then show some examples including the Autonomous Vehicle Control problems that I am solving. Then during the hands-on part, users will solve optimal control problems from start to finish and the results will be automatically plotted.

+
    +
  1. Background Information: +
      +
    • What is nonlinear optimal control? +
        +
      • basic problem setup
      • +
      +
    • +
    • Why I got started with julia? +
        +
      • Autonomous Vehicle Controls (not running fast enough in MATLAB)
      • +
      • Examples of how I use the software
      • +
      +
    • +
    • Benchmark +
        +
      • Compare to other similar tools (GPOPSii)
      • +
      +
    • +
    +
  2. +
  3. Hands on: +
      +
    • Guide users through several simple examples +
        +
      • Discuss syntax etc.
      • +
      +
    • +
    • Guide users to solve other more advanced problems +
        +
      • Perhaps a simple version of their own
      • +
      +
    • +
    +
  4. +
+ + +
+ About Huckleberry Febbo +

Mechanical Engineering Ph.D. 4th year student

+ +
+ + + +

Optimization and Solving Systems of Equations in Julia

+
+ Patrick Kofod Mogensen, University of Copenhagen +
+ +

In this workshop we will introduce the two main packages organized under the JuliaNLSolvers umbrella: Optim.jl for optimization and NLsolve.jl for solving systems of equations. We will look at the types of problems the packages solve, what the interfaces are like, and work on practical examples. A strong mathematical background is not needed, but some understanding of calculus is required to follow the discussion of the different methods.

+ + +
+ About Patrick Kofod Mogensen +

Ph.D. student in economics, JuliaNLSolvers owner and developer, Julia nerd.

+ +
+ + + +

The Unique Features and Performance of DifferentialEquations.jl

+
+ Chris Rackauckas, University of California, Irvine +
+ +

DifferentialEquations.jl is a highly extendable high-performance library for solving a vast array of differential equations in Julia. The purpose of this workshop is to introduce the participants to DifferentialEquations.jl, focusing on the new types of problems that are able to be explored through this software and how Julia has made this possible. We will start with a tutorial of the ordinary differential equation solvers. Users will be shown how to use the common solver interface to solve and analyze equations using the solvers from OrdinaryDiffEq.jl, Sundials.jl, ODE.jl, LSODA.jl, and ODEInterface.jl. Next, the capabilities will be explored in further depth, and users will walk through solving hybrid differential equations continuous + discrete components), using arbitrary precision and unitful arithmetic, and solving equations with discontinuous events. After that, the tutorial will show users how to branch out to other forms of differential equations, showing how the same interface allows them to use the unique high-order adaptive Runge-Kutta methods for stochastic differential equations and the fast high-order methods for delay differential equations. Lastly, participants will be walked through the analysis add-on tools, using Optim.jl to perform parameter estimation of ordinary differential equation models, identify sensitive parameters, and quantify numerical uncertainties of solutions. Users will leave the workshop with an expanded view of what kinds of problems can be solved with DifferentialEquations.jl and with the knowledge of how to solve them.

+ + +
+ About Chris Rackauckas +

Chris Rackauckas is a 4th year Ph.D. student in Mathematics at the University of California, Irvine. He is the principal author of many Julia packages, including the JuliaDiffEq packages (DifferentialEquations.jl) and ParallelDataTransfer.jl, and has contributed to numerous other packages related to scientific computing. Chris is also actively engaged in the Julia community as the author of the StochasticLifestyle blog and the tutorial “A Deep Introduction to Julia for Data Science and Scientific Computing”.

+ +
+ + +
+ Resources + +
+ + + +

Talks

+ +

AoT or JIT : How Does Julia Work?

+
+ Jameson Nash, Julia Computing, Inc. +
+ +

Julia uses a unique mix of techniques adopted from conventional static and dynamic to provide a special blend of high-performance and flexible compute kernels. This allows it to simultaneously have a fully ahead-of-time-compiled code model – while permitting (even encouraging) code updates at runtime – and a fully runtime-interpreted interface – while permitting extensive compile-time optimization. In this talk, I will examine some of the trade-offs and limitations this requires of user code, especially on common first-class code evaluation features – such as eval and incremental pre-compilation – as well as advanced features – such as @generated functions and @pure. We will also try to take a look at the internal layout and implementation of some of these data structures, and how the compiler works to maintain their correctness over time, despite other changes to the system.

+ + +
+ About Jameson Nash +

I’ve been a Julia contributor since before it was cool. Now, I’m working for Julia Computing, as the static compilation champion, compiler correctness fiend, and performance cliff jumper.

+ +
+ + +
+ Resources + +
+ + +

Building End to End Data Science Solutions in the Azure Cloud with Julia

+
+ Udayan Kumar/ Paul Shealy, Microsoft +
+ +

Increasingly organizations are using cloud platforms to store their data and perform analytics driven by cost, scale, and manageability considerations. Business applications are being retooled to leverage the vast enterprise / public data, artificial intelligence (AI), and machine learning (ML) algorithms. To build and deploy large scale intelligent applications, data scientists and analysts today need to be able to combine their knowledge of analytical languages and platforms like Julia with that of the cloud. +In this talk, data scientists and analysts will learn how to build end-to-end analytical solutions using Julia on scalable cloud infrastructure. Developing such solutions usually requires one to understand how to seamlessly integrate Julia with various cloud technologies. After attending the talk, the attendees should have a good understanding of all the major aspects needed to start building intelligent applications on the cloud using Julia, leveraging appropriate cloud services and tool-kits. We will also briefly introduce the Azure Data Science Virtual Machine DSVM which provides a comprehensive development/experimentation environment with several pre-configured tools to make it easy to work with different cloud services (SQL Data Warehouse, Spark, Blobs etc.) from Julia and other popular data analytics languages. Join this demo heavy session where we cover the end to end data science life-cycle and show how you can access storage and compute services on the Azure cloud using Julia from the DSVM. A self-guided tutorial building upon the examples in the demo will be published online for attendees to continue their learning offline.

+ + +
+ About Udayan Kumar/ Paul Shealy +

Udayan is a Software Engineer with Algorithms and Data Science group at Microsoft. Before coming to Microsoft, he was designing predictive algorithms to detect threats and malignant apps at a mobile security startup in Chicago. He has a MS and a Ph.D. in Computer Engineering from University of Florida, Gainesville, FL. His research was focused on Trust, Privacy and Behavior mining in Mobile Networks. +Paul is a senior software engineer in Microsoft’s Algorithms and Data Science group, where he is the lead engineer for the Data Science Virtual Machine and works on a variety of solutions for easier machine learning and data science. He was previously the project lead for the Planner service in Office 365. While on Planner he also worked on disaster recovery, topology, storage, and several other core service components. He holds computer science degrees from Clemson and Duke.

+ +
+ + + +

COBRA.jl: Accelerating Systems Biology

+
+ Laurent Heirendt, Luxembourg Centre for Systems Biomedicine +
+ +

Laurent Heirendt, Sylvain Arreckx, Ines Thiele, Ronan M.T. Fleming +Systems Biologists in the COnstraint-Based Reconstruction and Analysis (COBRA) [7] community are gearing up to develop computational models of large and huge-scale biochemical networks with more than one million biochemical reactions. The growing model size puts a strain on efficient simulation and network exploration times to the point that accelerating existing COBRA methods became a priority. Flux balance analysis and its variants are widely used methods for predicting steady-state reaction rates in biochemical reaction networks. The exploration of high dimensional networks has long been hampered by performance limitations of current implementations in Matlab/C (The COBRA Toolbox [8] and fastFVA [3]) or Python (cobrapy [2]). Julia [1] is the language that fills the gap between complexity, performance, and development time. DistributedFBA.jl [4], part of the novel COBRA.jl package, is a high-level, high-performance, open-source Julia implementation of flux balance analysis, which is a linear optimization problem. It is tailored to solve multiple flux balance analyses on a subset or all the reactions of large and huge-scale networks, on any number of threads or nodes using optimization solver interfaces implemented in MathProgBase.jl [5]. Julia’s parallelization capabilities led to a speedup in latency that follows Amdahl’s law. For the first time, a flux variability analysis (two flux balance analyses on each biochemical reaction) on a model with more than 200k biochemical reactions [6] has been performed. With Julia and COBRA.jl, the reconstruction and analysis capabilities of large and huge-scale models in the COBRA community are lifted to another level. +Code and benchmark data are freely available on github.com/opencobra/COBRA.jl +References:

+ +
    +
  • [1] Bezanson, Jeff and Edelman, Alan and Karpinski, Stefan and Shah, Viral B., “Julia: A Fresh Approach to Numerical Computing”, arXiv:1411.1607 [cs] (2014). arXiv: 1411.1607
  • +
  • [2] Ebrahim, Ali and Lerman, Joshua A. and Palsson, Bernhard O. and Hyduke, Daniel R., “COBRApy: COnstraints-Based Reconstruction and Analysis for Python”, BMC Systems Biology 7 (2013), pp. 74.
  • +
  • [3] Gudmundsson, Steinn and Thiele, Ines, “Computationally efficient flux variability analysis”, BMC Bioinformatics 11, 1 (2010), pp. 489.
  • +
  • [4] Heirendt, Laurent and Thiele, Ines and Fleming, Ronan M. T., “DistributedFBA.jl: high-level, high-performance flux balance analysis in Julia”, Bioinformatics btw838 (2017).
  • +
  • [5] Lubin, Miles and Dunning, Iain, “Computing in Operations Research using Julia”, INFORMS Journal on Computing 27, 2 (2015), pp. 238–248. arXiv: 1312.1431
  • +
  • [6] Magnúsdóttir, Stefanía and Heinken, Almut and Kutt, Laura and Ravcheev, Dmitry A. and Bauer, Eugen and Noronha, Alb…, “Generation of genome-scale metabolic reconstructions for 773 members of the human gut microbiota”, Nat Biotech 35, 1 (2017), pp. 81–89.
  • +
  • [7] Palsson, Bernhard Ø, Systems Biology: Constraint-based Reconstruction and Analysis (Cambridge, England: Cambridge University Press, 2015).
  • +
  • [8] Schellenberger, Jan and Que, Richard and Fleming, Ronan M. T. and Thiele, Ines and Orth, Jeffrey D. and Feist, Adam M. and Ziel…, “Quantitative prediction of cellular metabolism with constraint-based models: the COBRA Toolbox v2.0”, Nat. Protocols 6, 9 (2011), pp. 1290–1307. 00182
  • +
+ + +
+ About Laurent Heirendt +

Laurent Heirendt was born in 1987 in Luxembourg City, Luxembourg (Europe). He received his BSc in Mechanical Engineering from the Ecole Polytechnique Fédérale de Lausanne, Switzerland in 2009. A year later, he received his MSc in Advanced Mechanical Engineering from Imperial College London in the UK, where his research and thesis focused on developing a general dynamic model for shimmy analysis of aircraft landing gear that is still in use today. He received his Ph.D. in 2014 in Aerospace Science from the University of Toronto, Canada. He developed a thermo-tribomechnical model of an aircraft landing gear, which led to a patent pending design of a critical aircraft landing gear component. He then worked in industry and oversaw the structural analysis of large aircraft docking structures. +Recently, Laurent started as a Research Associate at the Luxembourg Centre for Systems Biomedicine, where he works in the numerical optimization of large biochemical networks using Julia. Besides his mother tongue Luxembourgish, he is fluent in English, French and German, and he is currently learning Brazilian Portuguese. 

+ +
+ + +
+ Resources + +
+ + +

Equations, inequalities and global optimisation: guaranteed solutions using interval methods and constraint propagation

+
+ David P. Sanders, Department of Physics, Faculty of Sciences, National University of Mexico +
+ +

How can we find all solutions of a system of nonlinear equations, the “feasible set” satisfied by a collection of inequalities, or the global optimum of a complicated function? These are all known to be hard problems in numerical analysis. +In this talk, we will show how to solve all of these problems, in a guaranteed way, using a collection of related methods based on interval arithmetic, provided by the IntervalArithmetic.jl package. The starting point is a simple dimension-independent bisection code, which can be enhanced in a variety of ways. This method is rigorous: it is guaranteed to find all roots, or to find the global minimum, respectively. +One key idea is the use of continuous constraint propagation, which allows us to remove large portions of the search space that are infeasible. We will explain the basics of this method, in particular the “forward-backward contractor”, and describe the implementation in the IntervalConstraintProgramming.jl package. +This package generates forward and backward code automatically from a Julia expression, using metaprogramming techniques. These are combined into “contractors”, i.e. operators that contract a box without removing any portion of the set of interest. These, in turn, give a rigorous answer to the question whether a given box lies inside the feasible set or not. In this way, a paving (collection of boxes) is built up that approximates the set.

+ + +
+ About David P. Sanders +

David P. Sanders is associate professor of computational physics in the Department of Physics of the Faculty of Sciences at the National University of Mexico in Mexico City. +His video tutorials on Julia have a total of 75,000 views on YouTube. He is a principal author of the ValidatedNumerics.jl package for interval arithmetic, and IntervalConstraintProgramming.jl for constraint propagation.

+ +
+ + +
+ Resources + +
+ + +

Event-based Simulation of Spiking Neural Networks in Julia

+
+ Rainer Engelken, Max Planck Institute for Dynamics and Self-Organization +
+ +

Information in the brain is processed by the coordinated activity of large neural circuits. Neural network models help to understand, for example, how biophysical features of single neurons and the network topology shape the collective circuit dynamics. This requires solving large systems of coupled differential equations which is numerically challenging. +Here, we introduce a novel efficient method for numerically exact simulations of sparse neural networks that bring to bear Julia’s different data structures and high performance. The new algorithm reduces the computational cost from O(N) to O(log(N)) operations per network spike. This is achieved by mapping the neural dynamics to pulse-coupled phase oscillators and using mutable binary heaps for efficient state updates. Thereby numerically exact simulations of large spiking networks and the characterization of their chaotic phase space structure become possible. For example, calculating the largest Lyapunov exponent of a spiking neural network with one million neurons is sped up by more than four orders of magnitude compared to previous implementations in other programming languages (C++, Python, Matlab).

+ + +
+ About Rainer Engelken +

Rainer just finished his Ph.D. in at the Max Planck Institute for Dynamics and Self-Organization (Göttingen) on ‘Chaotic neural circuit dynamics’ after studying physics at various places. He has been using Julia since 2014, as it minimizes both programming time and CPU time and allows easy debugging, profiling and visualization under one roof.

+ +
+ + +
+ Resources + +
+ + +

Fast Multidimensional Signal Processing with Shearlab.jl

+
+ Héctor Andrade Loarca, Technical University of Berlin (TUB) +
+ +

The Shearlet Transform was proposed in 2005 by the Professor Gitta Kutyniok (http://www3.math.tu-berlin.de/numerik/mt/mt/www.shearlet.org/papers/SMRuADaSO.pdf) and her colleagues as a multidimensional generalization of the Wavelet Transform, and since then it has been adopted by a lot of Companies and Institutes by its stable and optimal representation of multidimensional signals. Shearlab.jl is a already registered Julia package (https://github.com/arsenal9971/Shearlab.jl) based in the most used implementation of Shearlet Transform programmed in Matlab by the Research Group of Prof. Kutyniok (http://www.shearlab.org/software); improving it by at least double the speed on different experiments. +As examples of applications of Shearlet Transform one has Image Denoising, Image Inpaiting and Video Compression; for instance I used it mainly to reconstruct the Light Field of a 3D Scene from Sparse Photographic Samples of Different Perspectives with Stereo Vision purposes. A lot of research institutes and companies have already adopted the Shearlet Transform in their work (e.g. Fraunhofer Institute in Berlin and Charité Hospital in Berlin, Mathematical Institute of TU Berlin) by its directional sensitivity, reconstruction stability and sparse representation.

+ + +
+ About Héctor Andrade Loarca +

Ph.D. student in Mathematics at the Technical University of Berlin (TUB) with Professor Gitta Kutyniok as advisor; major in Mathematics and Physics from National University of México (UNAM); ex Data Scientist of a mexican Open Governance Start Up (OPI); with experience in Data Mining, Machine Learning, Computational Harmonic Analysis and Computer Vision. Currently developing Light Field Reconstruction algorithms using Digital Signal Processing tools for 3D Imaging and Stereo Vision. Is known by his colleagues for using Julia on everything. It was introduced to Julia by Professor David Philip Sanders and after both gave a course on Computational Statistical Physics using Julia at the National University of México (UNAM) which convinced him to adopt Julia as his main programming language.

+ +
+ + + +

Flux: Machine Learning with Julia

+
+ Mike Innes, Julia Computing, Inc. +
+ +

Flux.jl is a new Julia package for machine learning. It aims to provide strong tooling and support for debugging, high-level features for working with very complex networks, and state of the art performance via backends like TensorFlow or MXNet, while also providing a very high level of interoperability so that approaches can easily be mixed and matched. This talk will introduce Flux from the ground up and demonstrate some of its more advanced features.

+ + +
+ About Mike Innes +

I work with Julia Computing on Julia’s IDE, Juno, as well as various projects within the machine learning ecosystem.

+ +
+ + + +

Full Stack Web Development with Genie.jl

+
+ Adrian Salceanu, None +
+ +

The web is eating the world, but building modern web applications can be an intimidating task. Successful online products must be fast, beautiful and usable. Responsive, maintainable and extendable. Provide simple and flexible web APIs. Be secure. Reach virtually 100% uptime while being easy to debug, extend and update, requiring powerful logging, intelligent caching and rapid scaling strategies. +Julia as a language has an enormous potential in the web space thanks to its concise and friendly syntax, the powerful REPL, Unicode support, cross-platform availability, the efficiently compiled code and its parallel and distributed computing capabilities. And Julia’s ecosystem already provides low level libraries like HttpServer and WebSockets. But they leave the developers having to spend large amounts of time writing glue and boilerplate code: a tedious, expensive and error prone task. +Genie is a new web framework that leverages Julia’s unique combination of features and its extensive collection of packages to empower developers to create high-performance web apps in less time and with less code. It glues low level libraries and contributes its own middlewares to expose a coherent and efficient workflow and a rich API for building web applications. +This talk will give you the guided tour of Genie, introducing the MVC stack and its main components and showing you how to quickly bootstrap a new Genie app and how to easily implement CRUD operations to expose resources over the internet, in an efficient and secure manner. You will see how easy it is to use Genie’s API in tandem with Julia’s modules system to hook up your code - allowing you to focus on your software’s value proposition instead of wasting precious time dealing with the low level details of transporting bytes over the wire.

+ + +
+ About Adrian Salceanu +

Web developer since 2000. Architecting and building multi-tier, performance critical web apps handling large amounts of real time data since 2008. PHP, Ruby, JavaScript, F#, Elixir. Now using Julia and Genie to tackle web development’s own two-language problem (productive-slow-interpreted vs unproductive-fast-compiled). +CTO at OLBG. Startup devotee and serial tech founder. IronHack mentor, organizer of Barcelona Julia and Barcelona on Rails. Creator of Genie.jl.

+ +
+ + +
+ Resources + +
+ + +

GLVisualize 1.0

+
+ Simon Danisch, JuliaLang +
+ +

GLVisualize is a visualization framework written purely in Julia + OpenGL. There are a lot of new changes that I want to talk about:

+
    +
  • New trait system for more modularity and code clarity
  • +
  • Different backends for GLVisualize - conquering the Web & PDFs!
  • +
  • A new API for simpler drawing
  • +
  • Tight integration with GPUArrays, pre-processing on the GPU
  • +
  • Higher level plotting interface
  • +
+ + +
+ About Simon Danisch +

Developer of GLVisualize & GPUArrays

+ +
+ + + +

GraphGLRM: Making Sense of Big Messy Data

+
+ Mihir Paradkar, Cornell University +
+ +

Many projects in research and development require analysis of tabular data. For example, medical records can be viewed as a collection of variables like height, weight, and age for different patients. The values may be boolean (yes or no), numerical (100.3), categorical (A, B, O), or ordinal (early, middle, late). Some values may also be missing. However, analysis and feature extraction is made easier by knowing relationships between variables, for example, that weight increases with height. GraphGLRM is a framework that leverages structure in data to de-noise, compress, and estimate missing values. Using Julia’s flexibility and speed, we developed this package quickly and with sufficient performance for real-world data processing needs. GraphGLRMs are now robust and versatile enough to work with sparse, heterogeneous data. We will also discuss updates to Julia data structures and tooling that would ease package development and further empower the GraphGLRM framework. More about GraphGLRMs: https://github.com/mihirparadkar/GraphGLRM.jl More about LowRankModels: https://github.com/madeleineudell/LowRankModels.jl

+ + +
+ About Mihir Paradkar +

Mihir Paradkar recently graduated from Cornell University in Biological Engineering. He has been user of Julia since v0.3.5 and is a developer of GraphGLRM.jl and LowRankModels.jl . He will be starting as a software engineering in data mining at Yelp late this summer.

+ +
+ + +
+ Resources + +
+ + +

HiFrames: High Performance Distributed Data Frames in Julia

+
+ Ehsan Totoni, Intel Labs +
+ +

Data frames are essential tools for data scientists, but existing data frames packages in Julia (and other languages) are sequential and do not scale to large data sets. Alternatively, data frames in distributed frameworks such as Spark are slow and not integrated with other computations flexibly. We propose a novel compiler-based approach where we integrate data frames into the High Performance Analytics Toolkit (HPAT) to build HiFrames. It automatically parallelizes and compiles relational operations along with other array computations in end-to-end data analytics programs, and generates efficient MPI/C++ code. We demonstrate that HiFrames is significantly faster than alternatives such as Spark on clusters, without forcing the programmer to switch to embedded SQL for part of the program. HiFrames is 3.6x to 70x faster than Spark SQL for basic relational operations, and can be up to 20,000x faster for advanced analytics operations, such as weighted moving averages (WMA), that the map-reduce paradigm cannot handle effectively. We will discuss how Julia’s powerful macro and compilation system facilitates developing HiFrames.

+ + +
+ About Ehsan Totoni +

Ehsan Totoni is a Research Scientist at Intel Labs. He develops programming systems for large-scale HPC and big data analytics applications with a focus on productivity and performance. He received his Ph.D. in Computer Science from the University of Illinois at Urbana-Champaign in 2014.

+ +
+ + + +

Image Quilting: Building 3D Geological Models One Tile at a Time

+
+ Júlio Hoffimann, Stanford University +
+ +

ImageQuilting.jl is a high-performance implementation of texture synthesis and transfer for 3D images that is capable of matching pre-existing data in the canvas where the image is to be synthesized. It can optionally make use of GPUs through the OpenCL standard and is being currently used by the industry for fast generation of 3D geological models. In this talk, I will demonstrate some of the applications of this package in energy resources engineering and hydrogeology, and will highlight the qualities of the Julia programming language that enabled an unprecedented speed in this famous computer vision algorithm.

+ + +
+ About Júlio Hoffimann +

I am a Ph.D. candidate in the Department of Energy Resources Engineering at Stanford University. In my research, I study the links between surface processes (i.e. flow and sediment transport) at the surface of the Earth and the resulting geostatistical properties at its subsurface. Part of this research consists of developing efficient algorithms for stochastic/physical simulation of 3D Earth models. For more information, please visit: https://juliohm.github.io

+ +
+ + + +

Julia for Fully Homomorphic Encryption: Current Progress and Challenges

+
+ José Manuel Calderón Trilla, Galois, Inc. +
+ +

Fully homomorphic encryption (FHE) is a cryptographic technique allowing a user to run arbitrary computations over encrypted data. This is particularly useful for computing statistical analytics over sensitive data. In this work, we introduce a Julia module, Fhe.jl, which supports running Julia functions over an FHE-encrypted data set. We do so by using symbolic execution to convert a Julia function into its circuit representation, which we then evaluate over the encrypted data. In this talk, we will discuss the progress we have made so far, some of the challenges we have run into, and how we hope to work with the Julia community to continue our efforts.

+ + +
+ About José Manuel Calderón Trilla +

José Manuel Calderón Trilla is a Research Scientist at Galois, Inc. working on Compilers, Static Analysis, and Formal Methods. He received his Ph.D. from the University of York in the UK for his work on Implicit Parallelism in lazy functional languages.

+ +
+ + + +

Julia for Infrastructure: Experiences in Developing a Distributed Storage Service

+
+ Ajay Mendez, Founder, Kinant.com +
+ +

Julia is a language designed for numerical computing and it does that job pretty well. However, the emphasis on numerical computing and data science tends to overshadow the language’s other use cases. In this talk we share our experiences using Julia to build a distributed data fabric using commodity hardware. A data fabric is a distributed storage system that abstracts away the physical infrastructure and makes data available to applications using well known protocols such as NFS or S3. Our talk focuses on how we use Julia to implement a data fabric with specific examples. We will discuss some of the shortcomings and how we circumvented them. Finally we close by a cost benefit analysis of developing in Julia and how it can be a critical advantage in bringing products to market.

+ + +
+ About Ajay Mendez +

Ajay works on systems and infrastructure software for fun and profit. He has dabbled in operating systems, memory allocators, file systems and distributed systems. He founded kinant.com in 2017 to simplify the deployment and usage of storage infrastructure.

+ +
+ + +
+ Resources + +
+ + +

Julia: The Type of Language for Mathematical Programming

+
+ Madeleine Udell, Cornell University +
+ +

Julia was designed to be the right language for programming mathematics. In this talk, I’ll argue that its sophisticated type system allows mathematicians to program in the same way they write mathematics. This simplicity has two consequences. First, it has made Julia an attractive ecosystem in which to write mathematical packages: Julia is now the language with the most comprehensive, robust, and user-friendly ecosystem of packages for mathematical programming (or optimization, in modern lingo). Second, it has made Julia the right language in which to express many mathematical problems. The lightweight type system makes it easy to write code that is clearer than pseudocode. +This talk will present three case studies in optimization. We hope the audience will leave the talk with a new appreciation of Julia’s type system, as well as a new toolkit of packages to use for data fitting and optimization.

+
    +
  1. Convex is a widely used library for convex optimization in Julia. In that package, the type system is used to create and recursively analyze the abstract syntax tree representing an optimization problem. Notions such as the sign of a real number, or the convexity or concavity of a function, are represented as types; and the convexity of an expression can be analyzed using a simple recursion over the tree of types.
  2. +
  3. LowRankModels is a statistical package for imputing missing entries in large, heterogeneous tabular data set. LowRankModels uses type information about a DataFrame to automatically select the appropriate optimization problem to solve in order to find the best completion for the data table. These optimization problems are parametrized by a set of loss functions and regularizers. Using the type system, we are able to write algorithms that work seamlessly for any loss function or regularizer a user may dream up.
  4. +
  5. Sketched approximations are a class of fast algorithms for producing a low rank approximation to a matrix - like an eigenvalue decomposition, but faster. We’ll show how to use parametric types to write all the special cases of the algorithm without introducing redundant code. Notably, these parametric types make it easier to understand the flow of the algorithm, and have essentially no analogue in “pseudocode” notation. Together with Julia’s simple mathematical syntax and support for unicode (eg, Greek) letters, we’ll see that the Julia code functions not only as an implementation of the method, but as a better version of pseudocode.
  6. +
+ + +
+ About Madeleine Udell +

Madeleine Udell is Assistant Professor of Operations Research and Information Engineering and Richard and Sybil Smith Sesquicentennial Fellow at Cornell University. She studies optimization and machine learning for large scale data analysis and control, with applications in marketing, demographic modeling, medical informatics, and engineering system design. Her recent work on generalized low rank models (GLRMs) extends principal components analysis (PCA) to embed tabular data sets with heterogeneous (numerical, Boolean, categorical, and ordinal) types into a low dimensional space, providing a coherent framework for compressing, denoising, and imputing missing entries. She has developed of a number of open source libraries for modeling and solving optimization problems, including Convex.jl, one of the top ten tools in the new Julia language for technical computing, and is a member of the JuliaOpt organization, which curates high quality optimization software. +Madeleine completed her Ph.D. at Stanford University in Computational & Mathematical Engineering in 2015 under the supervision of Stephen Boyd, and a one year postdoctoral fellowship at Caltech in the Center for the Mathematics of Information hosted by Professor Joel Tropp. At Stanford, she was awarded a NSF Graduate Fellowship, a Gabilan Graduate Fellowship, and a Gerald J. Lieberman Fellowship, and was selected as the doctoral student member of Stanford’s School of Engineering Future Committee to develop a road-map for the future of engineering at Stanford over the next 10–20 years. She received a B.S. degree in Mathematics and Physics, summa cum laude, with honors in mathematics and in physics, from Yale University.

+ +
+ + + +

Knet.jl: Beginning Deep Learning with 100 Lines of Julia

+
+ Deniz Yuret, Koç University, Istanbul +
+ +

Knet (pronounced “kay-net”) is the Koç University deep learning framework implemented in Julia by Deniz Yuret and collaborators. Knet uses dynamic computational graphs generated at runtime for automatic differentiation of (almost) any Julia code. This allows machine learning models to be implemented by only describing the forward calculation (i.e. the computation from parameters and data to loss) using the full power and expressivity of Julia. The implementation can use helper functions, loops, conditionals, recursion, closures, tuples and dictionaries, array indexing, concatenation and other high level language features, some of which are often missing in the restricted modeling languages of static computational graph systems like Theano, Torch, Caffe and Tensorflow. GPU operation is supported by simply using the KnetArray type instead of regular Array for parameters and data. High performance is achieved using custom memory management and efficient GPU kernels.

+ + +
+ About Deniz Yuret +

Deniz Yuret received his BS, MS, and Ph.D. at MIT working at the AI Lab on machine learning and natural language processing during 1988-1999. He co-founded Inquira, Inc., a startup commercializing question answering technology which was later acquired by Oracle. He is currently an associate professor of Computer Engineering at Koç University, Istanbul and founder of its Artificial Intelligence Laboratory. In his spare time he develops Knet.jl, a Julia deep learning framework that uses dynamic computational graphs generated at runtime for automatic differentiation of (almost) any Julia code.

+ +
+ + +
+ Resources + +
+ + +

LightGraphs: Our Network, Our Story

+
+ James Fairbanks & Seth Bromberger, Georgia Tech Research Institute & Lawrence Livermore National Laboratory +
+ +

Our talk discusses the development and origin of LightGraphs, current features, and future developments. We introduce the package’s major design choices in a historical context as a compromise between the three core LightGraphs goals of simplicity, performance, and flexibility. We highlight several areas where specific features of Julia have led to flexible and efficient implementations of graph algorithms. +We will highlight our work in centrality measures, graph traversals, and spectral graph algorithms as examples of areas where Julia’s performance and design decisions have allowed LightGraphs to provide best-in-class implementations of graph algorithms. We also discuss integration with other organizations – JuliaOpt for matching and flow problems, and the Julia data visualization ecosystem – and highlight specifically LightGraphs’ potential to provide leadership on performant graph visualization. +Finally, we speculate on the influence of Julia’s focus on elegant parallel processing to future development of the package.

+ + +
+ About James Fairbanks & Seth Bromberger +

Dr. James Fairbanks is a Research Engineer at the Georgia Tech Research Institute where he studies problems in complex networks, data analysis, and high performance computing with applications to healthcare and social phenomena. +Seth Bromberger, a Research Scientist at Lawrence Livermore National Laboratory (https://people.llnl.gov/seth), is currently exploring the application of graph theory and machine learning to cybersecurity problems in critical infrastructure.

+ +
+ + +
+ Resources + +
+ + +

Miletus: A Financial Modelling Suite in Julia

+
+ Simon Byrne, Ranjan Anantharaman, Julia Computing, Inc. +
+ +

Miletus is a financial software suite in Julia, with a financial contract specification language and extensive modelling features. In this talk, we’ll discuss the design principles involved in how to model a contract from primitive components, and how Julia’s language features lend themselves intuitively to this task. We’ll then talk about the various features of the software suite such as closed form models, binomial trees and computation of price sensitivities (aka “the Greeks”), providing several examples and code snippets, along with comparisons with other popular frameworks in this space.

+ + +
+ About Simon Byrne, Ranjan Anantharaman +

Dr Simon Byrne is a quantitative software developer at Julia Computing, where he implements cutting edge numerical routines for statistical and financial models. Simon has a Ph.D. in statistics from the University of Cambridge, and has extensive experience in computational statistics and machine learning in both academia and industry. He has been contributing to the Julia project since 2012. Ranjan Anantharaman is a data scientist at Julia Computing where he works on numerical software in a variety of domains. His interests include scientific computing and machine learning. He has been contributing to the Julia project and ecosystem since 2015.

+ +
+ + + +

Mixed-Mode Automatic Differentiation in Julia

+
+ Jarrett Revels, MIT +
+ +

Julia’s unique execution model, metaprogramming facilities, and type system make it an ideal candidate language for native automatic differentiation (AD). In this talk, we’ll discuss a variety of Julia-specific tricks employed by ForwardDiff and ReverseDiff to differentiate user-provided Julia functions. Topics covered include the implementation of a native Julia execution tracer via operator overloading, functor-based directives for specialized instruction taping, SIMD vectorization and instruction elision for inlined dual number operations, and vectorized differentiation of linear algebraic expressions. I’ll close the talk with a glimpse into the future of AD in Julia and JuMP, highlighting the effect new features may have on other downstream projects like Celeste, Optim and RigidBodyDynamics.

+ + +
+ About Jarrett Revels +

I like to make Julia code differentiate itself.

+ +
+ + +
+ Resources + +
+ + +

Modern Machine Learning in Julia with TensorFlow.jl

+
+ Jonathan Malmaud, MIT +
+ +

By many measures, TensorFlow has grown over the last year to become the most popular library for training machine-learning models. TensorFlow.jl provides Julia with a simple yet feature-rich interface to TensorFlow that takes advantage of Julia’s multiple dispatch, just-in-time compilation, and metaprogramming capabilities to provide unique capabilities exceeding TensorFlow’s own native Python API. This talk will demonstrate TensorFlow.jl by guiding listeners through training a realistic model of image captioning , showing how to 1) construct the model with native Julia control flow and indexing, 2) visualize the model structure and parameters in a web browser during training, and 3) seamlessly save and share the trained model with Python. No prior experience with TensorFlow is assumed.

+ + +
+ About Jonathan Malmaud +

Ph.D. candidate at MIT studying artificial intelligence

+ +
+ + +
+ Resources + +
+ + +

Modia: A Domain Specific Extension of Julia for Modeling and Simulation

+
+ Hilding Elmqvist, Mogram AB, Lund, Sweden +
+ +

Modia is a Julia package to model and simulate physical systems (electrical, mechanical, thermo-dynamical, etc.) described by differential and algebraic equations. A user defines a model on a high level with model components (such as a mechanical body, an electrical resistance, or a pipe) that are physically connected together. A model component is constructed by “expression = expression” equations. The defined model is symbolically processed, JIT compiled and simulated with Sundials IDA solver with the KLU sparse matrix package. By this approach it’s possible and convenient to build models with hundred thousands of equations describing the dynamics of a car, an airplane, a power plant, etc. and simulate them. The authors used previous experience from the design of the modeling language Modelica (www.Modelica.org) to develop Modia. +In the presentation it is shown how a user can build models and simulate physical systems, including mechanical systems and electrical circuits. Furthermore, the design of Modia is sketched: The Modia language is a domain specific extension of Julia using macros. With graph theoretical algorithms, some of them recently developed by the authors, equations are pre-processed (including analytic differentiation if necessary) and transformed into a special form that can be simulated by IDA. Hereby the sparsity structure of the original (Modia) equations, as well as the nature of array equations are kept intact.

+ + +
+ About Hilding Elmqvist +

Hilding Elmqvist attained his Ph.D. at the Department of Automatic Control, Lund Institute of Technology in 1978. His Ph.D. thesis contains the design of a novel object-oriented model language called Dymola and algorithms for symbolic model manipulation. It introduced a new modeling methodology based on connecting submodels according to the corresponding physical connections instead of signal flows. Submodels were described declaratively by equations instead of assignment statements. Elmqvist spent one year in 1978-1979 at the Computer Science Department at Stanford University, California. +In 1992, Elmqvist founded Dynasim AB in Lund, Sweden. The primary product is Dymola for object-oriented modeling allowing graphical composition of models and 3D visualization of model dynamics. Elmqvist took the initiative in 1996 to organize an international effort to design the next generation object-oriented language for physical modeling: Modelica. In April 2006, Dynasim AB was acquired by Dassault Systemes. In January 2016, Elmqvist founded Mogram AB. Current activities include designing and implementing an experimental modeling language called Modia.

+ +
+ + + +

OhMyREPL.jl: This Is My REPL; There Are Many Like It, But This One Is Mine

+
+ Kristoffer Carlsson, Chalmers University of Technology +
+ +

By default, Julia comes with a powerful REPL that itself is completely written in Julia. It has, among other things, tab completion, customizable keybindings and different prompt modes to use the shell or access the help system. However, with regards to visual customization there are not that many options for a user to tweak. To that end, I created the package OhMyREPL.jl. Upon loading, it hooks into the REPL and adds features such as syntax highlighting, matching bracket highlighting, functionality to modify input and output prompts and a new way of printing stacktraces and error messages. It also contains some non-visual features, like allowing text that has been copied from a REPL session to be directly pasted back into a REPL and quickly opening the location of stack frames from a stacktrace in an editor. The talk will give an overview of the different features, discuss which features managed to get upstreamed to Julia v0.6 and, if time allows, outline the internals of the package.

+ + +
+ About Kristoffer Carlsson +

Ph.D. student in computational mechanics at Chalmers University of Technology. Using Julia both for studies and as a hobby.

+ +
+ + +
+ Resources + +
+ + +

Pkg3: Julia's New Package Manager

+
+ Stefan Karpinski, Julia Computing, Inc. / NYU +
+ +

This talk covers the design and implementation of Pkg3, the third (and hopefully final!) major iteration of Julia’s built-in package manager. We’ll begin with some history: what worked and didn’t work in the two previous iterations of the package manager. Pkg3 tries to marry the better parts of systems like Python’s virtualenv and Rust’s cargo, while supporting federated and layered package registries, and supporting interactive usage as well as reproducible environments and reliable deployment of code in production. We’ll nerd out a bit with some graph theory and how difficult it is to select compatible sets of package versions, and how much harder still it is to make version resolution understandable and predictable. But it won’t be all theory – we’ll also cover imminently practical subjects like “how do I install packages?”

+ + +
+ About Stefan Karpinski +

co-creator of Julia, co-founder of Julia Computing

+ +
+ + + +

Programming NVIDIA GPUs in Julia with CUDAnative.jl

+
+ Tim Besard, Ghent University +
+ +

GPUs have typically been programmed using low-level languages like CUDA and OpenCL, providing full control over the hardware at the expense of developer efficiency. CUDAnative.jl makes it possible to program GPUs directly from Julia, in the case you need the flexibility to write your own kernel functions, without having to fall back to CUDA C or binary libraries. In this talk, I will give an overview of CUDAnative.jl with its features and restrictions, explain the technology behind it, and sketch our future plans.

+ + +
+ About Tim Besard +

Ph.D. student at Ghent University

+ +
+ + +
+ Resources + +
+ + +

QML.jl: Cross-platform GUIs for Julia

+
+ Bart Janssens, Royal Military Academy +
+ +

The QML.jl (https://github.com/barche/QML.jl) package enables using the QML markup language from the Qt library to build graphical user interfaces for Julia programs. The package follows the recommended Qt practices and promotes separation between the GUI code and application logic. After a short introduction of these principles, the first topic of this talk will be the basic communication between QML and Julia, which happens through Julia functions and data (including composite types) stored in context properties. Using just a few basic building blocks, this makes all of the QML widgets available for interaction with Julia. The next part of the talk deals with Julia-specific extensions, such as the Julia ListModel, interfacing with the display system and GLVisualize and GR.jl support. These features will be illustrated using live demos, based on the examples in the QML.jl repository. Finally, some ideas for extending and improving the package will be listed, soliciting many contributions hopefully. +The target audience for this talk is anyone interested in developing GUIs for their Julia application with a consistent look on OS X, Linux and Windows. All user-facing code is pure Julia and QML, no C++ knowledge is required to use the package.

+ + +
+ About Bart Janssens +

I am an associate professor at the mechanics department of the Royal Military Academy. For my Ph.D., I worked on Coolfluid, a C++ framework for computational fluid dynamics with a domain specific language. My interest in Julia is sparked by its powerful metaprogramming functionality coupled with C++-like performance, together with much better accessibility for students. To ease the transition to Julia, we are working on making some C++ libraries available in Julia. The QML.jl package is part of this effort. We also use Julia in our daily teaching activities, to provide students with interactive solutions to exercises.

+ +
+ + +
+ Resources + +
+ + +

Query.jl: Query Almost Anything in Julia

+
+ David Anthoff, UC Berkeley +
+ +

Query is a package for querying julia data sources. Its role is similar to LINQ in C# and dplyr in R. It can filter, project, join and group data from any iterable data source. It has enhanced support for querying arrays, DataFrames, DataTables, TypedTables, IndexedTables and any DataStream source (e.g. CSV, Feather, SQLite etc.). The package also defines an interface for tabular data that allows a) dispatch on any tabular data source and b) simple conversions of tabular data representations. The talk will first introduce Query from a user perspective and highlight different examples of queries that the package makes feasible. The second half of the talk will dive deep into the internals of the package and explain the various extension points that package provides.

+ + +
+ About David Anthoff +

David Anthoff is an environmental economist who studies climate change and environmental policy. He co-develops the integrated assessment model FUND that is used widely in academic research and in policy analysis. His research has appeared in Science, the Journal of Environmental Economics and Management, Environmental and Resource Economics, the Oxford Review of Economic Policy and other academic journals. He contributed a background research paper to the Stern Review and has advised numerous organizations (including US EPA and the Canadian National Round Table on the Environment and the Economy) on the economics of climate change. +He is an assistant professor in the Energy and Resources Group at the University of California, Berkeley. Previously he was an assistant professor in the School of Natural Resources and the Environment of the University of Michigan, a postdoc at the University of California, Berkeley and a postdoc at the Economic and Social Research Institute in Ireland. He also was a visiting research fellow at the Smith School of Enterprise and the Environment, University of Oxford. +He holds a Ph.D. (Dr. rer. pol.) in economics from the University of Hamburg (Germany) and the International Max Planck Research School on Earth System Modelling, a MSc in Environmental Change and Management from the University of Oxford (UK) and a M.Phil. in philosophy, logic and philosophy of science from Ludwig-Maximilians-Universität München (Munich, Germany).

+ +
+ + +
+ Resources + +
+ + +

Stochastic Optimization Models on Power Systems

+
+ Camila Metello & Joaquim Garcia, PSR Inc. +
+ +

We will present 3 tools for decision making under uncertainty in the power systems area: SDDP, a tool for optimal hourly operation of complex power systems; OptGen, a computational tool for determining the least-cost expansion of a multi-regional hydrothermal system; OptFlow, a mathematical model to optimize operation of a generation/transmission system with AC electrical network constraints. +These models have been used by system operators, regulators and investors in more than seventy countries in the Americas, Asia-Pacific, Europe and Africa, including some of the largest hydro based systems in the world, such as the Nordic pool, Canada, the US Pacific Northwest and Brazil. SDDP is also the model used by the World Bank staff in their planning studies of countries in Asia, Africa and Latin America. OptGen had some interesting applications regional studies such as the interconnection of Central America, the Balkan regions, the interconnection of nine South American countries, Africa (Egypt-Sudan-Ethiopia and Morocco-Spain) and Central Asia. The original version of all 3 models was written in FORTRAN with the aid of some modelling tool or higher level API: AMPL for OptFlow, Mosel for OptGen and COIN-OR API for SDDP. Similar to any software, maintaining the code and adding new features became increasingly complex because they have to be built upon older data structures and program architectures. +These concerns motivated PSR to develop an updated version of these programs written entirely in julia (with JuMP and MathProgBase) for three basic reasons: (i) the code is concise and very readable; (ii) the availability of an advanced optimization “ecosystem”; and (iii) excellent resources for distributed processing (CPUs and GPUs). We retained the use of Xpress by developing the Xpress.jl library. We also use MPI.jl for distributed processing (including multiple servers in AWS). +The computational performance of the new code is matches the current ones’, which is very encouraging given that the current FORTRAN code has been optimized for several years based on thousands of studies. Also, the julia code incorporates several new modeling features that were easy to implement in all the 3 models: including SDP and SOCP relaxations for OPF and SDDiP method for stochastic integer optimization, confirming our expectation of faster model development. +The new models were incorporated to an integrated planning system for Peru being developed by PSR, which will be delivered in August 2017. They are also being internally tested as a “shadow” to the current version for studies in several countries and was delivered for beta testing for some PSR clients. The official release is scheduled for the end of 2017.

+ + +
+ About Camila Metello & Joaquim Garcia +

Camila graduated as an industrial engineer and has a MSc in Decision Analysis from PUC-Rio. Attended UC Berkeley for a semester during under graduation. Joined PSR in 2013, where, at present, works with the development of the models of optimization of hydrothermal dispatch under uncertainty with network constraints (SDDP model) and electric systems expansion planning (OPTGEN model).

+ +

Joaquim has a BSc degree in electrical engineering and a BSc degree in mathematics, both from PUC -Rio and is currently working towards a PhD in electrical engineering with emphasis on decision support, also at PUC-Rio. During his undergraduate studies, he attended a year at UC Santa Barbara. He joined PSR in 2015 has been been working on the development of optimization models for hydro-thermal dispatch under uncertainty with transmission constraints reliability analysis, electrical systems expansion planning and nonlinear optimal power flow. Before PSR Joaquim worked with decision support at LAMPS (Laboratory of applied mathematical programming and statistics, at PUC-Rio) and with OTDR and Signal Processing at LabOpt (Optoelectronics laboratory, at PUC-Rio).

+ +
+ + + +

Taking Vector Transposes Seriously

+
+ Jiahao Chen, Capital One +
+ +

from @jiahao: +We have really thought carefully about what the transpose of a vector should mean in a programming language. The pre-0.6 behavior that vector’vector yields a vector, vector’ yields a matrix, and vector’’ yields a matrix are all bad mathematics and produced no shortage of confusion by end users. +I present a summary of our research at the MIT Julia Labs into issue #4774, as a language design question that is informed by a comprehensive understanding of user expectations. Our main result is a short proof that it is impossible to avoid either new types, “ugly mathematics” (violation of Householder notation) or type instability. A single Array type is incompatible with Householder notation that produces the expected types from typical linear algebraic expressions. Furthermore, Householder notation intrinsically requires a conflation of 1x1 matrices and true scalars. +I also provide historical evidence the notion of “ugly mathematics” is neither static nor objective. In reality, linear algebra has changed greatly over the past centuries, demonstrating the impermanence of even elementary concepts of what matrices and vectors are and how they have been influenced by notation - a discussion forced into consciousness through the lens of programming language design, types, and formal program semantics. +I review the resolution of #19670 in the context of other designs in other programming languages, showing that all these designs turn out to locally optimal in conflating as much of Householder notation and array semantics as possible. +Joint work with Alan Edelman, Andy Ferris, and a few other people.

+ + +
+ About Jiahao Chen +

Data Scientist at Capital One, formerly Research Scientist at MIT

+ +
+ + +
+ Resources + +
+ + +

TaylorIntegration.jl: Taylor's Integration Method in Julia

+
+ Jorge Perez and Luis Benet, UNAM (Mexico) +
+ +

In this talk we shall present TaylorIntegration.jl, an ODE integration package using Taylor’s method in Julia. The main idea of Taylor’s method is to approximate locally the solution by means by a high-order Taylor expansion, whose coefficients are computed recursively using automatic differentiation techniques. One of the principal advantages of Taylor’s method is that, whenever high accuracy is required, the order of the method can be increased, which is more efficient computationally than taking smaller time steps. The accuracy of Taylor’s method permits to have round-off errors per integration step. Traditionally, it has been difficult to make a generic Taylor integration package, but Julia permits this beautifully. We shall present some examples of the application of this method to ODE integration, including the whole computation of the Lyapunov spectrum, use of jet transport techniques, and parameter sensitivity. Open issues related to improving performance will be described.

+ + +
+ About Jorge Perez and Luis Benet +

Jorge Perez is a Physics Ph.D. student at UNAM, Mexico, under supervision of Luis Benet and David P. Sanders, authors of TaylorSeries.jl and ValidatedNumerics.jl. His Ph.D. research project is related to understanding the dynamics of minor Solar System objects: comets, asteroids, etc. He is coauthor of TaylorIntegration.jl and a contributor to TaylorSeries.jl. +Luis Benet is Associate Professor at the Instituto de Ciencias Físicas of the National University of Mexico (UNAM). He is mainly interested in classical and quantum chaos, including the dynamics of Solar System objects. He is coauthor of ValidatedNumerics.jl, TaylorSeries.jl and TaylorIntegration.jl, and has contributed to other Julia packages.

+ +
+ + +
+ Resources + +
+ + +

The Dolo Modeling Framework

+
+ Spencer Lyon, NYU Stern +
+ +

We present a family of three Julia packages that together constitute a complete framework to describe and solve rational expectation models in economics. Dolang.jl is an equation parser and compiler that understands how to compile latex-like strings describing systems of equations into efficient Julia functions for evaluating the levels or derivatives of the equations. Dolo.jl leverages Dolang and implements a variety of frontier algorithms for solving a wide class of discrete time, continuous control rational expectations models. Finally, Dyno.jl builds upon Dolang to implement a Julia prototype of the Matlab-based dynare software library used extensively throughout academia and the public sector to approximate the solution to and estimate rational expectations models.

+ + +
+ About Spencer Lyon +

Economics Ph.D. student at NYU Stern. Active Julia member since 0.2

+ +
+ + + +

The Present and Future of Robotics in Julia

+
+ Robin Deits and Twan Koolen, MIT CSAIL +
+ +

We (Twan and Robin) are graduate students in the Robot Locomotion Group at MIT. Our research focuses on modeling and optimization for the simulation and control of walking (and sometimes flying) robots. We’ve been using Julia in our research over the past year, and we’re excited to share what we’ve learned, what we’ve built, and what we’re hoping to see in the future of Julia. +Specifically, we’d like to share some of our work on:

+
    +
  • Robot dynamics and simulation in Julia: https://github.com/tkoolen/RigidBodyDynamics.jl
  • +
  • 3D visualization and manipulation of robot models from Julia: https://github.com/rdeits/RigidBodyTreeInspector.jl https://github.com/rdeits/DrakeVisualizer.jl
  • +
  • Optimization in Julia: https://github.com/rdeits/NNLS.jl
  • +
  • Collision algorithms in Julia: https://github.com/rdeits/EnhancedGJK.jl https://github.com/rdeits/AdaptiveDistanceFields.jl
  • +
+ +

We would also like to talk about how some of the best parts of the Julia ecosystem have made our work possible, like JuMP.jl, ForwardDiff.jl, and StaticArrays.jl. +And, finally, we plan to discuss what we hope to see in Julia’s future, including what the role of Julia can be inside a real-time robot controller.

+ + +
+ About Robin Deits and Twan Koolen +

We’re graduate students in the Robot Locomotion Group at MIT, where we work on simulation, planning, and control of walking and flying robots.

+ +
+ + +
+ Resources + +
+ + +

The State of the Type System

+
+ Jeff Bezanson, Julia Computing, Inc. +
+ +

Julia 0.6 includes a long-needed overhaul of the type system. While the effects of this change are not always visible, the new system eliminates classes of bugs and increases the expressiveness of types and method signatures. I plan to briefly explain how the new system works and what you can do with it. But more importantly, I want to ask: where do we go from here? Will we ever need another overhaul? I’ll present some possible future features and other related speculations. Topics may include record types, more powerful tuple types, protocols, ugly corner cases, and method specificity and ambiguity.

+ + +
+ About Jeff Bezanson +

Jeff is one of the creators of Julia, co-founding the project at MIT in 2009 and eventually receiving a Ph.D. related to the language in 2015. He continues to work on the compiler and system internals, while also working to expand Julia’s commercial reach as a co-founder of Julia Computing, Inc.

+ +
+ + +
+ Resources + +
+ + +

Turing: a Fresh Approach to Probabilistic Programming

+
+ Hong Ge, Zoubin Ghahramani, Kai Xu, University of Cambridge +
+ +

Turing is a new probabilistic programming language (PPL) based on Julia, a framework which allows users to define probabilistic models and perform inference automatically. Thanks to Julia’s meta-programming support, Turing has a very friendly front-end modelling interface. Meanwhile, coroutines are used in Turing’s inference engine development to achieve the state-of-the-art sampling performance. Also, we have recently introduced a new Gibbs interface, which allows user to compose different samplers and run them in the same time. In this talk, we will discuss our motivation of developing Turing in Julia, introduce the design and architecture of Turing, and present some practical examples of how probabilistic modelling is performed in Turing.

+ + +
+ About Hong Ge, Zoubin Ghahramani, Kai Xu +

Developers of the Turing project form Cambridge Machine Learning Group

+ +
+ + +
+ Resources + +
+ + +

Using Parallel Computing for Macroeconomic Forecasting at the Federal Reserve Bank of New York

+
+ Pearl Li, Federal Reserve Bank of New York +
+ +

This talk will give an overview of how researchers at the Federal Reserve Bank of New York have implemented economic forecasting and other post-estimation analyses of dynamic stochastic general equilibrium (DSGE) models using Julia’s parallel computing framework. This is part of the most recent release of our DSGE.jl package, following our ports of the DSGE model solution and estimation steps from MATLAB that were presented at JuliaCon in 2016. I will discuss the technical challenges and constraints we faced in our production environment and how we used Julia’s parallel computing tools to substantially reduce both the time and memory usage required to forecast our models. I will present our experiences with the different means of parallel computing offered in Julia - including an extended attempt at using DistributedArrays.jl - and discuss what we have learned about parallelization, both in Julia and in general. +In addition, I will provide some of our new perspectives on using Julia in a production setting at an academic and policy institution. DSGE models are sometimes called the workhorses of modern macroeconomics, applying insights from microeconomics to inform our understanding of the economy as a whole. They are used to forecast economic variables, investigate counterfactual scenarios, and understand the impact of monetary policy. The New York Fed’s DSGE model is a large-scale model of the U.S. economy, which incorporates the zero lower bound, price/wage stickiness, financial frictions, and other realistic features of the economy. Solving, estimating, and forecasting it presents a series of high-dimensional problems which are well suited for implementation in Julia.

+ +

Disclaimer: This talk reflects the experience of the author and does not represent an endorsement by the Federal Reserve Bank of New York or the Federal Reserve System of any particular product or service. The views expressed in this talk are those of the authors and do not necessarily reflect the position of the Federal Reserve Bank of New York or the Federal Reserve System. Any errors or omissions are the responsibility of the authors.

+ + +
+ About Pearl Li +

I’m a Research Analyst at the New York Fed using Julia to estimate and forecast macroeconomic models. I’m interested in applying the frontier of scientific computing to economic research, so that we can solve more realistic and complex models.

+ +
+ + +
+ Resources + +
+ + + +
+ + +
+

Lightning Talks

+ +

Applications of Convex.jl in Optimization Involving Complex Numbers

+
+ Ayush Pandey, Indian Institute of Technology Kharagpur +
+ +

Convex optimization problems require rigorous mathematical understanding to solve them. Convex.jl allows users to solve complex optimization problems easily by providing a simple intuitive user interface to express the objective function and constraints. As it became popular, we saw increased demand to support optimization over complex numbers, from users working in diverse scientific fields including power grid optimization, quantum information theory, wireless communication, and signal processing. Previously, these users relied on various tools such as MATLAB’s cvx and open-source python package PICOS to tackle different problems depending upon their domain of work. Convex’s new support for complex numbers allows users to approach each of these problems in Julia. In this talk, I will show how to the new functionality in Convex.jl provides a single integrated solution for many types of Disciplined Convex Programming Problems and show how to solve complex problems using Convex.jl in very few lines of code, taking examples from scientific domains mentioned above. I will also present benchmarks comparing Convex.jl with competing open-source tools.

+ + +
+ About Ayush Pandey +

Ayush Pandey is a final year graduate student at IIT Kharagpur studying Mathematics & Computing Sciences with micro-specialization in Optimization Theory and Applications. He is also a Google Summer of Code, 2016 fellow under the Julia Language.

+ +
+ + + +

Automatically Deriving Test Data for Julia Functions

+
+ Simon Poulding, Blekinge Institute of Technology, Sweden +
+ +

The use of multiple dispatch in Julia’s standard library and user-written functions presents a challenge for automated techniques of generating test data. In order to exercise all the methods that implement a function, the generation technique must generate test data with diverse data types, but traditional techniques typically focus solely on diverse data values and implicitly assume a constant data type. In this talk, I will demonstrate our solution to this challenge which automatically learns an effective probability distribution over types and methods that create instances of these types. I will explain how we used this approach to fuzz-test some common arithmetic and string functions in the Julia standard library, in the process identifying three faults.

+ + +
+ About Simon Poulding +

I am an assistant professor in software engineering. The primary objective of my research is to improve the cost-effectiveness of software testing through the application of machine learning and statistical methods. I have been a user of Julia for three years, and am co-developer of the DataGenerators package which facilitates the generation of complex test data.

+ +
+ + +
+ Resources + +
+ + +

BioSimulator.jl: Stochastic Simulation in Julia

+
+ Alfonso Landeros, University of California, Los Angeles +
+ +

Complex systems in biology are often difficult to treat analytically using mathematics and expensive to investigate with empirical methods. Moreover, deterministic approaches are misleading in systems that exhibit noise (e.g. rare events akin to mutation and extinction). Stochastic simulation provides investigators with the ability to simulate complex systems by integrating mathematical rigor and biological insight. However, simulations are slow, computationally expensive, and difficult to implement in software. My goal in developing BioSimulator.jl is to provide investigators with a tool that enables (1) quick and intuitive model prototyping, (2) efficient simulation, (3) visualization of simulation output, and (4) implementing new stochastic simulation algorithms. Using the Julia language allowed us to meet all four criteria with relative ease and extend to parallelized simulations. My talk will describe the theory underlying BioSimulator.jl, highlight aspects of our implementation, and present a few numerical examples.

+ + +
+ About Alfonso Landeros +

I am a first-year student in biomathematics. My studies are focused on stochastic processes, scientific computing, and optimization.

+ +
+ + + +

Circuitscape: A Tool to Measure Landscape Connectivity

+
+ Ranjan Anantharaman, Julia Computing, Inc. +
+ +

Circuitscape is one of the most popular tools to measure landscape connectivity, using concepts from electrical circuit theory. Ecologists can model landscapes as large resistance maps and then compute current maps and voltage potentials at various parts on the landscape. Computationally, this involves constructing a large graph and using a sparse solver. This tool has originally been written in Python, and this talk will be about porting it to Julia as well as improving the solver in the package. This talk will also focus on performance comparisons between the Julia and Python versions.

+ + +
+ About Ranjan Anantharaman +

Ranjan Anantharaman is a data scientist at Julia Computing. His interests span applied mathematics and numerical computing, and he enjoys working with computation across a variety of fields and domains.

+ +
+ + + +

Continuous-Time Point-Process Factor Analysis in Julia

+
+ Gergo Bohner, Gatsby Computational Neuroscience Unit, UCL +
+ +

Neurons throughout the brain, and particularly in the cerebral cortex, represent many quantities of interest using population codes. Latent variable models of neural population activity may be seen as attempting to identify the value, time-evolution and encoding of such internal variables from neural data alone. They do so by seeking a small set of underlying processes that can account for the coordinated activity of the population. +We introduce a novel estimation method [1] for latent factor models for point processes that operates on continuous spike times. Our method is based on score matching for point process regressions [2] adapted to population recordings with latent processes formed by mixing basis functions. +The basis functions are represented as either Fourier modes, or functions living in a Reproducing Kernel Hilbert Space, parametrised using MLKernels. The method requires the kernel matrix as well as the first and second derivatives thereof, which we can compute efficiently via the Calculus package, making use of anonymous functions. Parameter estimation is then closed form and thus lightning fast up to normalisation, but afterwards we need to estimate the total intensity in the observation period. The approximation of the time integral relies on Cubature.jl. +Due to its speed, this method enables neuroscientists to visualise latent processes in real time during experimental recordings and immediate compare them to their expectations, thus quickening the Planning-Design-Analysis loop by a large margin.

+
    +
  1. https://github.com/gbohner/PoissonProcessEstimation.jl
  2. +
  3. Sahani, M; Bohner, G and Meyer A, 2016 - Score-matching estimators for continuous-time point-process regression models. MLSP2016
  4. +
+ + +
+ About Gergo Bohner +

Gergo focused on math and physics in high school, but completed an engineering degree in Molecular Bionics as an undergrad in his home city, Budapest. After being the image processing guy in a cancer research lab in London as well as learning about AI in Leuven, Belgium, Gergo settled as a Ph.D. student in the Gatbsy Computational Neuroscience Unit, working on developing machine learning algorithms to process and understand various types of neural data.

+ +
+ + + +

Cows, Lakes, and a JuMP Extension for Multi-stage Stochastic Optimization

+
+ Oscar Dowson, University of Auckland +
+ +

Stochastic Dual Dynamic Programming (SDDP) is an optimization algorithm for solving large, multi-stage stochastic programming problems. It is well known in the electricity community, but has received little attention in other application areas. The algorithm is computationally demanding as it typically involves iteratively solving hundreds of thousands of linear programs. In the past, implementations have been coded in slow, but expressive mathematical optimization languages such as AMPL, or in fast, but low level languages such as C++. In this talk, we detail a JuMP extension we have developed to solve problems using SDDP. We also present benchmarks showing that our Julia implementation has similar run-times to a previous version developed in C++, while being more flexible and expressive. This speed and flexibility has allowed us to revisit assumptions made in previous work, as well as apply the SDDP algorithm to problems as diverse as agriculture, energy, and finance.

+ + +
+ About Oscar Dowson +

Oscar Dowson (@odow) is a P.h.D. Candidate in Engineering Science at the University of Auckland. He works on applying stochastic optimization to the New Zealand dairy industry.

+ +
+ + + +

DataStreams: Roadmap for Data I/O in Julia

+
+ Jacob Quinn, Domo +
+ +

The DataStreams package defines a powerful and performant interface for getting data in and out of Julia. Come learn about exciting advances in features and performance as we approach Julia 1.0.

+ + +
+ About Jacob Quinn +

Attended Carnegie Mellon for a master’s degree in data science and active Julia contributor for 4 years now.

+ +
+ + +
+ Resources + +
+ + +

Diversity and Inclusion at JuliaCon and in the Scientific Computing Community

+
+ Erica Moszkowski, Federal Reserve Bank of New York +
+ +

This talk will address efforts to promote diversity and inclusion at JuliaCon this year, with the goals of a) increasing awareness of JuliaCon’s initiatives among conference participants and the Julia community at large and b) starting a public conversation about diversity and inclusion with other open-source conferences. It will place JuliaCon’s initiatives in the context of the broader scientific computing community.

+ + +
+ About Erica Moszkowski +

Erica is a research analyst in the Macroeconomics function at the Federal Reserve Bank of New York and the Diversity Chair for JuliaCon 2017. She is a 2015 graduate of Williams College and plans to begin her Ph.D. in Economics in the fall.

+ +
+ + +
+ Resources + +
+ + +

Exploring Evolutionary Dynamics of Communications in Bacteria Using Julia

+
+ Yifei Wang, Georgia Institute of Technology +
+ +

Many species of bacteria are able to collectively sense and respond to their environment. This communication form known as quorum-sensing (QS) can be achieved through the production of small molecules that are able to freely diffuse across cell membranes. These molecules (autoinducers) can subsequently be detected by other individuals in the population and once a threshold limit is reached, then this may cause a change in gene expression which allows bacteria to coordinate their activities such as biofilm formation, virulence and antibiotic resistance. Despite the widespread interest in QS from molecular mechanisms to social evolution and pathogen control, there is still controversy over the basic evolutionary function of QS. Using Julia as the agent-based modeling platform, we have been able to investigate the rewards and risks of coordination and cooperation in QS. In this talk, I will briefly introduce the research background and share some of our results obtained from in silico evolution using Julia. This work is important as it sheds light on how simple signal-mediated behavioral rules can shape complex collective behaviors in bacteria. Julia greatly helped simplify the modeling precess and speed up simulations.

+ + +
+ About Yifei Wang +

Yifei Wang is currently a postdoctoral research fellow with the School of Biological Sciences at Georgia Institute of Technology. His research focuses on collective intelligence, evolutionary dynamics and high-performance computing. Dr. Wang received a degree of B.Eng. in computer science & technology in 2009, a degree of M.Eng. in astronautics engineering in 2012, and a degree of Ph.D. in computing in 2016. He was an awardee of Richard E. Merwin Student Scholarship from the IEEE Computer Society in 2011, and received a three-year Overseas University Research Studentship from the University of Bath (UK) in 2012. Dr. Wang was the Student Activities Chair of IEEE UK & Ireland Section from 2013 to 2015. He along with his team successfully organized the 3rd IEEE UK & Ireland Student Branch Congress in 2013.

+ +
+ + + +

GR Framework: Present and Future

+
+ Josef Heinen, Forschungszentrum Jülich +
+ +

GR is a plotting package for the creation of two- and three-dimensional graphics in Julia, offering basic MATLAB-like plotting functions to visualize static or dynamic data with minimal overhead. In addition, GR can be used as a backend for Plots, a popular visualization interface and toolset for Julia. Using quick practical examples, this talk is going to present the special features and capabilities provided by the GR framework for high-performance graphics, in particular when being used in interactive notebooks (Jupyter), development environments (Atom), desktop applications (nteract) or terminal programs (iTerm2). The presentation also introduces how to embed GR in interactive GUI applications based on QML.jl, a new plotting interface to Qt5 QML. Moreover, some experimental features and elements will be introduced, i.a. a meta layer providing an interactive interface to new backends based on Qt5 or JavaScript.

+ + +
+ About Josef Heinen +

Josef Heinen is the head of the group “Scientific IT–Systems” at the Peter Grünberg Institute / Jülich Centre for Neutron Science, both institutes at Forschungszentrum Jülich, a leading research centre in Germany. The design and development of visualization systems have been an essential part of his activities over the last twenty years. Most recently his team is engaged with the further development of a universal framework for cross-platform visualization applications (GR Framework).

+ +
+ + +
+ Resources + +
+ + +

Heavy-duty pricing of Fixed Income financial contracts with Julia

+
+ Felipe Noronha, Brazilian Development Bank +
+ +

The pricing of bonds or a Credit Portfolio usually has simple mathematics. However, when faced with a big portfolio, careful design is crucial for a fast execution time. I’ll show how I designed a solution to price a database of about 2.4 million contracts with 78 million cashflows in up to 3.5 minutes using a 8 core machine. The solution uses plain simple Julia code, some parallel computation and buffering strategies, Julia’s native serialization for fast-loading data from the disk, and a handful of packages. BusinessDays.jl and InterestRates.jl packages will be featured.

+ + +
+ About Felipe Noronha +

Bachelor in Computer Engineering, M. Sc. in Economics, Market Risk Manager at BNDES (Brazilian Development Bank).

+ +
+ + + +

Improving Biological Network Inference with Julia

+
+ Thalia Chan, Imperial College, London +
+ +

In the multi-disciplinary field of systems biology, we welcome the opportunity that Julia brings for writing fast software with simple syntax. Speed is important in an age when biological datasets are increasing in size and analyses are becoming computationally more expensive. One example is the problem of determining how genes within a cell interact with one another. In the inference of gene regulatory networks (GRN) we seek to detect relationships between genes through statistical dependencies in biological data, and as datasets grow, so does computation time. Some algorithms use measures from information theory, which are suitable for detecting nonlinear biological relationships, but incur a high computational cost. We developed InformationMeasures.jl, a package for calculating information theoretic measures. The improvement in performance of our Julia package compared to widely-used packages in other languages enables us to develop new algorithms with higher complexity, examining triples, rather than pairs, of genes. These we can show are more successful than pairwise methods (in simulated data where the underlying GRNs are known), and scale well to the size of the largest currently-available biological datasets.

+ + +
+ About Thalia Chan +

Thalia is a Ph.D. student in theoretical systems biology at Imperial College, London. Her research focuses on algorithm development for biological network inference, in particular using information theory. Outside of her studies she contributes to various open source software projects.

+ +
+ + + +

Interfacing with LLVM Using LLVM.jl

+
+ Tim Besard, Ghent University +
+ +

LLVM.jl provides a high-level Julia interface to the LLVM compiler framework. In this talk, I’ll explain how to use LLVM.jl for basic code generation and execution, as well as how to integrate it with the rest of the Julia compiler.

+ + +
+ About Tim Besard +

Ph.D. student at Ghent University

+ +
+ + +
+ Resources + +
+ + +

JLD2: High-performance Serialization of Julia Data Structures in an HDF5-compatible Format

+
+ Simon Kornblith, MIT +
+ +

At present, two options exist for saving Julia data structures to disk: Julia’s built-in serializer and the JLD (Julia data) package. The built-in serializer achieves reasonable performance, but uses a non-standardized format that differs by Julia version and processor architecture. JLD saves data structures in a standardized format (HDF5), but has substantial overhead when saving large numbers of mutable objects. In this talk, I describe the design of JLD2, a re-implementation of JLD. By replacing JLD’s dependency on the HDF5 library with a pure Julia implementation of a subset of HDF5, JLD2 achieves performance comparable to Julia’s built-in serializer, while writing files readable by standard HDF5 implementations. Additionally, JLD2 resolves numerous issues with the previous JLD format and implementation.

+ + +
+ About Simon Kornblith +

I am currently a Ph.D. student in neuroscience at MIT, but my affiliation will probably change before JuliaCon.

+ +
+ + + +

JSeqArray: Data Manipulation of Whole-genome Sequencing Variants in Julia

+
+ Xiuwen Zheng, University of Washington +
+ +

Whole-genome sequencing (WGS) data is being generated at an unprecedented rate. Analysis of WGS data requires a flexible data format to store the different types of DNA variation. A new WGS variant data format “SeqArray” was proposed recently (Zheng X, etc, 2017 Bioinformatics), which outperforms text-based variant call format (VCF) in terms of access efficiency and file size. +Here I introduce a new Julia package “JSeqArray” for data manipulation of genotypes and annotations in an array-oriented manner (https://github.com/CoreArray/JSeqArray). It enables users to write portable and immediately usable code in the wider scientific ecosystem. When used in conjunction with the in-built multiprocessing and job-oriented functions for parallel execution, the JSeqArray package provides users a flexible and high-performance programming environment for analysis of WGS variant data. In the presentation, the examples of calculating allele frequencies, principal component analysis and association tests of linear regression will be given.

+ + +
+ About Xiuwen Zheng +

Ph.D, Biostatistics, (6/13) Dept. of Biostatistics, UW, Seattle, WA Postdoctoral Fellow, (7/13 – 8/15) Dept. of Biostatistics, University of Washington (UW), Seattle, WA Senior Fellow, (9/15 – present) Dept. of Biostatistics, University of Washington (UW), Seattle, WA Develop and apply statistical and computational methods for the interpretation of large-scale genetic data

+ +
+ + + +

Julia Roadmap

+
+ Stefan Karpinski, Julia Computing, Inc. / NYU +
+ +

TBD

+ + +
+ About Stefan Karpinski +

co-creator of Julia, co-founder of Julia Computing

+ +
+ + +
+ Resources + +
+ + +

Julia for Seismic Data Processing and Imaging (Seismic.jl)

+
+ Wenlei Gao, University of Alberta +
+ +

Seismic.jl is a Julia package that provides a framework for seismic wave modeling, data processing and imaging. The current version includes support to read/write seismic data, reconstruction and denoising of multi-dimensional (5D) seismic data via parallel and distributed tensor completion, GPU-accelerated finite-difference solvers for seismic wave simulations, and seismic imaging including passive-seismic source location. In this lightning talk, I will briefly describe our area of research and immediately, show how Seismic.jl has been used as main framework for our research in applied seismology.

+ + +
+ About Wenlei Gao +

Wenlei Gao received his B.Sc in 2010 and M.Sc in 2013 in Geophysics from China University of Petroleum, Beijing, China. From 2013 to 2014 he worked for the Research Institute of China National Offshore Oil Company. He is currently enrolled in the Ph.D. program in Geophysics in the University of Alberta. His research is mainly focused on multicomponent seismic data registration and joint deconvolution.

+ +
+ + + +

Julia on the Raspberry Pi

+
+ Avik Sengupta, Julia Computing, Inc. +
+ +

A quick update on the state of Julia on the Raspberry Pi. We will see how get Julia and GPIO related packages working on the Pi, and explore some working examples of applications running on the Pi and utilising its power to interact with the physical world.

+ + +
+ About Avik Sengupta +

Avik is the author of Julia’s integration with Java and various other packages. One of his hobbies is to make Julia a first class language on the Raspberry Pi.

+ +
+ + + +

Julia: a Major Scripting Language in Economic Research?

+
+ Anna Ciesielski, ifo Institute and Ludwig-Maximilians University in Munich (Germany) +
+ +

Julia has the potential to become a major programming language in economics. In this presentation I will suggest a new way to calibrate models of economic growth. For that purpose I use a Markov-Chain Monte-Carlo algorithm (the Klara package) and I repeatedly solve for the roots of a big system of nonlinear equations using the JuMP and Ipopt packages. With this approach I am able to estimate the distributions of parameter values which drive long-run economic growth and project confidence intervals of macroeconomic variables into the future. For this purpose Julia is the best programming language that I know of, because it combines a great range of functionalities and at the same time it is very fast. To conclude, I will reflect on some challenges that came up during the project.

+ + +
+ About Anna Ciesielski +

I am a Ph.D. student in the economics department at the Ludwig-Maximilians University in Munich (Germany).

+ +
+ + + +

JuliaBox on Various Cloud Platforms and Current Development Goals

+
+ Nishanth H. Kottary, Julia Computing Inc. +
+ +

A quick presentation on our experience of running JuliaBox on various cloud platforms viz. Amazon AWS, Google Cloud Platform and Microsoft Azure. Also we present the current development plans to make JuliaBox faster and support a host of new features.

+ + +
+ About Nishanth H. Kottary +

Software Engineer at Julia Computing Inc.

+ +
+ + + +

JuliaDB

+
+ Jeff Bezanson, Julia Computing, Inc. +
+ +

JuliaDB.jl is an end-to-end all-Julia data analysis platform incorporating storage, parallelism and compute into a single model. One can load a pile of CSV files into JuliaDB as a distributed table. JuliaDB will index the files and save the index for efficient lookup of subsets of the data later. You can also convert the data from the CSV files into an efficient memory mappable binary format (“ingest”). +This talk will be a brief introduction to the basic primitives of JuliaDB and how to use them.”

+ + +
+ About Jeff Bezanson +

Jeff is one of the creators of Julia, co-founding the project at MIT in 2009 and eventually receiving a Ph.D. related to the language in 2015. He continues to work on the compiler and system internals, while also working to expand Julia’s commercial reach as a co-founder of Julia Computing, Inc.

+ +
+ + + +

JuliaRun: A Simple & Scalable Julia Deployment Platform

+
+ Tanmay Mohapatra & Pradeep Mudlapur, Julia Computing, Inc. +
+ +

JuliaRun is a product of Julia Computing under development and a few early users. It is adaptable to a variety of private and public clouds and makes it easy to deploy Julia applications both batch and online. We will present a brief of the architecture and how it can help deploy scalable end to end applications.

+ + +
+ About Tanmay Mohapatra & Pradeep Mudlapur +

Tanmay and Pradeep have contributed to Julia packages in JuliaWeb and JuliaCloud.

+ +
+ + + +

Junet: Towards Better Network Analysis in Julia

+
+ Igor Zakhlebin, Northwestern University +
+ +

I will present Junet — a new package for network analysis that seeks to be a fast and hackable alternative to mainstream network analysis libraries like NetworkX, igraph, and graph-tool. Unlike other Julia packages, it allows to quickly traverse and modify the graphs as well as to associate the attributes with their nodes and edges. I will discuss the data structures implemented in Junet and showcase how specific Julia’s features allow to make them efficient. For example, thanks to parametric types it is possible to shrink the memory consumed by Junet to a fraction of what other libraries require. And conjunction of multiple dispatch with just-in-time compilation allows to optimize some methods based on the specific types they operate on, sometimes eliminating the computation altogether. The talk will also overview things that are experimental and don’t work so well like creating zero-cost iterators and parallelizing loops. Finally, I will present the benchmarks comparing Junet with state-of-the-art libraries for network analysis.

+ + +
+ About Igor Zakhlebin +

Graduate student

+ +
+ + +
+ Resources + +
+ + +

L1-penalized Matrix Linear Models for High Throughput Data

+
+ Jane Liang, University of Tennessee Health Science Center +
+ +

Analysis of high-throughput data can be improved by taking advantage of known relationships between observations. Matrix linear models provide a simple framework for encoding such relationships to enhance detection of associations. Estimation of these models is challenging when the datasets are large and when penalized regression is used. This talk will discuss implementing fast estimation algorithms for L1-penalized matrix linear models as a first-time Julia user and fluent R user. We will share our experiences using Julia as our platform for prototyping, numerical linear algebra, parallel computing, and sharing our method.

+ + +
+ About Jane Liang +

Jane Liang recently obtained a bachelor’s degree in statistics from UC Berkeley and plans to enter a doctoral program later this year. Currently, she is a scientific programmer working with Dr. Saunak Sen at the University of Tennessee Health Science Center, Department of Preventive Medicine, Division of Biostatistics.

+ +
+ + + +

MultipleTesting.jl: Simultaneous Statistical Inference in Julia

+
+ Nikolaos Ignatiadis, Stanford University +
+ +

The parallel application of multiple statistical hypothesis tests is one of the fundamental patterns of exploratory data analysis for big datasets. This becomes essential in various fields of scientific research, such as in high-throughput biology, medicine and imaging where one is routinely faced with millions of tests. The goal is to protect against spurious discoveries with rigorous statistical error control guarantees, while simultaneously providing enough power to detect needles in a haystack. Here, we present MultipleTesting.jl, a package that provides a unified interface for classical and modern multiple testing methods. We give a quick introduction to the underlying statistical concepts and show how Julia is ideally suited for such an endeavour: First, most multiple testing procedures consist of a standard set of primitives, such as p-values, adjusted p-values and hypothesis weights. Second, elaborate (multiple testing) algorithms often consist of simpler components in a plug-and-play fashion; these include estimators of the proportion of true null hypotheses, parametric as well as non-parametric distribution estimators, and statistical machine learning techniques. All of these ideas can be abstracted away by Julia’s type system and multiple dispatch. Third, Julia provides the computational performance which is necessary when analyzing millions of hypotheses. We believe MultipleTesting.jl complements the growing number of high quality statistics packages in Julia’s ecosystem.

+ + +
+ About Nikolaos Ignatiadis +

Nikos Ignatiadis is a first year Ph.D. student at Stanford’s Statistics department. He is interested in the development of interpretable methods for multiple testing and high dimensional inference.

+ +
+ + + +

Nulls.jl: Missingness for Data in Julia

+
+ Jacob Quinn, Domo +
+ +

Nullability is a complex issue for any programming language or domain; Nulls.jl puts forth the data-friendly approach Julia has wanted and deserves with core language support.

+ + +
+ About Jacob Quinn +

Attended Carnegie Mellon for a master’s degree in data science and active Julia contributor for 4 years now.

+ +
+ + +
+ Resources + +
+ + +

Solving Geophysical Inverse Problems with the jInv.jl Framework: Seeing Underground with Julia

+
+ Patrick Belliveau, University of British Columbia +
+ +

Geophysical inversion is the mathematical and computational process of estimating the spatial distribution of physical properties of the earth’s subsurface from remote measurements. It’s a key tool in applied geophysics, which is generally concerned with determining the structure and composition of the earth’s interior without direct sampling. At JuliaCon 2017 I would like to discuss our group’s efforts to develop a modular, scalable, and extensible framework for solving geophysical inverse problems and other partial differential equation (PDE) constrained parameter estimation problems in Julia. +To solve PDE constrained parameter estimation problems we need advanced algorithms for optimization, for the solution of PDEs, and the ability to efficiently share information between these domains. Our framework, called jInv—short for JuliaInversion—provides modular building block routines for these tasks that allow users to easily write their own software to solve new problems. The framework heavily uses Julia’s multiple dispatch to allow for extensibility and generic programming. +It is also critical that software implementations of these algorithms can scale to large distributed computing systems. jInv allows users to exploit the parallelism in geophysical inverse problems without detailed knowledge of Julia’s parallel computing constructs. +The first main goal of my talk is to discuss our approach to exploiting parallelism in geophysical inverse problems and how it has been implemented in jInv. The second goal is to illustrate, through examples of developing jInv modules for new geophysical problems, how we’ve moved jInv from a research project for the benefit of our own group to a tool that can be of use to the wider community.

+ + +
+ About Patrick Belliveau +

Hi! I’m a Ph.D. student in the department of Earth, Ocean and Atmospheric Sciences at the University of British Columbia in Vancouver Canada. Academically I’m interested in developing new computational methods for solving geophysical imaging problems. Since coming to UBC Julia has become my language of choice and I now consider myself a reformed Fortran programmer.

+ +
+ + + +

SparseRegression.jl: Statistical Learning in Pure Julia

+
+ Josh Day, NC State University +
+ +

SparseRegression implements a variety of offline and online algorithms for statistical models that are linear in the parameters (generalized linear models, quantile regression, SVMs, etc.). This talk will discuss my experience using primitives defined in the JuliaML ecosystem (LossFunctions and PenaltyFunctions) to implement a fast and flexible SparseReg type for fitting a wide variety of models.

+ + +
+ About Josh Day +

Josh is a statistics Ph.D. student at NC State University, where he researches on-line optimization algorithms for performing statistical analysis on big and streaming data.

+ +
+ + + +

Statically Sized and Typed Data in Julia

+
+ Andy Ferris, Fugro Roames +
+ +

I will describe my experience working with and developing highly efficient data structures in Julia which leverage statically known information - such as the type(s) contained in a collection, or the predetermined size of an array. Julia’s combination of efficient code generation and metaprogramming capability make it an ideal language to implement data structures which are both convenient to program with and lightning fast in execution. +I plan to describe the various metaprogramming approaches which are useful for implementing containers of known size or having inhomogeneous elements - by using traits, pure functions, generated functions, macros and recursion. I will touch upon the successes and failures of packages like StaticArrays.jl, Switches.jl and TypedTables.jl, and hope to preview work on a more flexible yet strongly-typed tabular data structure than currently provided by TypedTables.

+ + +
+ About Andy Ferris +

I currently work at Fugro Roames on the intersection of machine learning, geodesy and big data. Beginning with detailed, large-scale scans of the physical world, we deduce intelligence for our clients that would be expensive to acquire directly. Previously, I worked in academia as a numerical quantum physicist, where I was attracted to Julia for its unique combination of user productivity and speed.

+ +
+ + +
+ Resources + +
+ + +

Sustainable Machine Learning Workflows at Production Scale with Julia

+
+ Daniel Whitenack, Pachyderm +
+ +

The recent advances in machine learning and artificial intelligence are amazing, and Julia seems poised to play a significant role in these fields. Yet, in order to have real value within a company, data scientists must be able to get their models off of their laptops and deployed within a company’s distributed data pipelines and production infrastructure. In this talk, we will implement an ML model locally and talk about the trouble we can get into taking this to production. Then, against all odds, we will actually deploy the model in a scalable manner to a production cluster. Now that’s a pretty good 10 minutes!

+ + +
+ About Daniel Whitenack +

Daniel (@dwhitena) is a Ph.D. trained data scientist working with Pachyderm (@pachydermIO). Daniel develops innovative, distributed data pipelines which include predictive models, data visualizations, statistical analyses, and more. He has spoken at conferences around the world (Datapalooza, DevFest Siberia, GopherCon, and more), teaches data science/engineering with Ardan Labs (@ardanlabs), maintains the Go kernel for Jupyter, and is actively helping to organize contributions to various open source data science projects.

+ +
+ + + +

Teaching Through Code

+
+ Christina Lee, Okinawa Institute of Science and Technology +
+ +

Standards already exist to improve software readability, but code understandable by a colleague differs from the best code to present to a student. As a scientist, I have often had to jump from mathematics or pseudo-code to a fully fledged implementation, with no chance to gain purchase in an intermediate middle ground. In the last year, I have worked on a Julia blog in computational physics and numerics and have striven to write code comprehensible to someone unfamiliar with the fundamental principles of the algorithm. In this talk, I will display both good and bad examples of documentation and tutorials, as well as guidelines for improvement.

+ + +
+ About Christina Lee +

Theoretical Physics Graduate Student

+ +
+ + +
+ Resources + +
+ + +

The Julia VS Code Extension

+
+ Zac Nugent, None +
+ +

This talk will give an overview of the Julia extension for VS Code. The extension currently provides syntax highlighting, an integrated REPL, code completion, hover help, an integrated linter, code navigation, integration with the Julia testing infrastructure and integrated support for Weave documents (Julia’s knitr equivalent). +A 30-minute version of this talk would talk about the internals of the extension. We would describe the Julia language server (our implementation of the Microsoft Language Server Protocol) that provides the integration with the VS Code UI. Other topics we would cover are our approach to build a robust and reliable software delivery mechanism that does not depend on the shared Julia package directory, our custom parser that is used in the language server and the developments currently being made to provide actionable parse-time formatting and linting hints, as well as any other features we might add between now and JuliaCon. +Links: +https://github.com/JuliaEditorSupport/LanguageServer.jl https://github.com/JuliaEditorSupport/julia-vscode https://github.com/ZacLN/Parser.jl

+ + +
+ About Zac Nugent +

London based Economist

+ +
+ + + +

TheoSea: Theory Marching to Light

+
+ Mark Stalzer, Caltech +
+ +

TheoSea (for THEOry SEArch) is a Julia meta-program that discovers compact theories from data if they exist. It writes candidate theories in Julia and then validates: tossing the bad theories and keeping the good theories. Compactness is measured by a metric, such as the number of space-time derivatives. A theory can consist of more than one well-formed formula over a mathematical language. The underlying algorithm is optimal in terms of compactness, although it may be combinatorially explosive for non-compact theories. TheoSea is now working on re-discovering the source-free Maxwell equations and the wave equation of light. There are many applications.

+ + +
+ About Mark Stalzer +

https://www.linkedin.com/in/mark-stalzer-97254a/

+ +
+ + + +

Using Julia to Inform Qb@ll Development

+
+ Jane E. Herriman, Caltech/Lawrence Livermore National Lab +
+ +

Qb@ll is an open source density functional theory package being developed at Lawrence Livermore National Lab. Present work focuses on efficient time integration methods, with the aim of substantially increasing the timescales accessible in simulations of electron dynamics. Qb@ll is several hundred thousand lines of C++, Fortran, and Perl. Exploring new methods directly in the code base is extremely developer-time inefficient. Simultaneously, rigorous exploration of relevant methods is highly computationally intensive, precluding the use of traditional high-productivity languages. Screening new methods in Julia has proven highly effective, even accounting for the time to learn the language and implement a small code to explore electron wave function integration.

+ + +
+ About Jane E. Herriman +

Jane is a graduate student in computational materials physics enrolled at Caltech. She is interning at Lawrence Livermore National Lab, where she is working with Xavier Andrade on methods for and applications of density functional theory.

+ +
+ + + +

Using Return Type Annotations Effectively

+
+ Eric Davies, Invenia Technical Computing +
+ +

Function return type annotations were added over a year ago and have seen some usage in Base but little in user-land. This talk will describe how they are implemented and discuss how ResultTypes.jl uses them to great effect.

+ + +
+ About Eric Davies +

Eric is co-leading Invenia’s transition to Julia and designing the building blocks for Invenia’s Energy Intelligence System.

+ +
+ + +
+ Resources + +
+ + +

Web Scraping with Julia

+
+ Avik Sengupta, Julia Computing, Inc. +
+ +

A large part of data science is in the gathering of data, and in solving the 2 language problem, it should be no surprise that Julia is great for that part of the workflow. In this talk, we will discuss how to combine a set of packages (HTTP.jl, Gumbo.jl, Cascadia.jl) to easily develop and deploy a web scraping strategy. We will see how Julia’s high level language features make it easy to interactively develop such projects, and at the same allow deployment into a distributed cluster for scraping at scale.

+ + +
+ About Avik Sengupta +

Avik is the author of Julia’s integration with Java and various other packages. One of his hobbies is to make Julia a first class language on the Raspberry Pi.

+ +
+ + +
+ Resources + +
+ + +

WebIO.jl: a Thin Abstraction Layer for Web Based Widgets

+
+ Shashi Gowda, Julia Computing, Inc. +
+ +

WebIO acts as a small Julian bridge between browser-based UIs to Julia such as IJulia, Atom, Blink and Mux, and packages that wish to output rich, interactive widgets. This means graphics packages don’t have to depend on IJulia or Atom or Blink etc to create widgets. Instead they only depend on WebIO and use its abstractions. Widgets written with WebIO once will work on all the above interfaces. Some features are:

+
    +
  • A DSL for creating HTML elements
  • +
  • A Julia-to-JavaScript transpiler
  • +
  • transparent and easy communication with observable refs
  • +
  • Ability to reliably load arbitrary JS libraries from the web / serve them from disk with correct ordering of code execution. (This has plagued many a package so far)
  • +
  • Flexible. Not tied into any javascript framework, no opinions. Allows you to execute arbitrary JS on your widgets.
  • +
  • Allows mixing and mashing widgets and concepts from different packages seamlessly, resulting in arbitrarily granular separation of concerns. Enables an ecosystem of UI packages, as opposed to Escher’s monolithic codebase.
  • +
+ + +
+ About Shashi Gowda +

I work on various Julia projects. My interests are mainly in interactive UIs.

+ +
+ + + + +
+
+ +
+
+
+
+

© 2014-2020 JuliaCon.org All rights reserved. + Fork this site on Github or + open a bug report.

+ +
+ +
+
+
+ + + + + + diff --git a/previews/PR609/2018/accommodation.html b/previews/PR609/2018/accommodation.html new file mode 100644 index 000000000..c899fb0b0 --- /dev/null +++ b/previews/PR609/2018/accommodation.html @@ -0,0 +1,181 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+
+ + + +
+ +
2018
+
+
+
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + +
+ +
+ +

JuliaCon 2018 Accommodation Guide

+

+ JuliaCon 2018 takes place at the Bloomsbury campus at UCL, which is located to the North of central London. + There are a large number of hotels, bed and breakfast, and student halls in close proximity. + The purpose of this guide is not to make specific recommendations, but to provide an overview of the options and approximate pricing. +

+ +

High-end hotels (4-5 star)

+

There are a numerous high-end hotels located nearby, expect room rates of 300-400GBP/night.

+ + +

Mid-range hotels (2-3 star)

+

A number of properties line Euston Road which runs East-West between Euston and St. Pancras, just to the North of UCL's Bloomsbury campus. Rates are typically 80-120GBP/night.

+ + +

There are also some properties located to the South and East of Bloomsbury, each of which are approximately five minutes walk from the campus. Rates are typically 100-150GBP/night.

+ + +

Bed and Breakfast

+

There are a large number of independently run bed and breakfast properties located around Bloomsbury with large clusters located on Gower Street + (immediately adjacent to UCL's campus) and Cartwright Gardens (five to ten minutes walk). +

+

These properties typically offer more basic accommodation, but this varies signficantly between establishments. Rooms can be found from 60-100GBP/night.

+

Student Halls

+

UCL offers individual and group bookings of its student accommodation during the summer holidays. + A brochure lists the available options, + which are priced from 40-60GBP/night and can be booked online. +

+

Accommodation is basic but safe and functional. Note that some locations do not provide en-suite facilities. + The majority of the properties are located within fifteen minutes walk of UCL's campus, with the exception of Max Rayne/Ifor Evans + (20 minutes via the Northern Line from Camden Town to Euston station), and Goldsmid House (15 minutes via the Victoria Line from Victoria to Warren Street). + James Lighthill House and Frances Gardner/Langton Close are also located a little further from UCL. +

+ +
+ +
+ + + + + + + + + + + + diff --git a/previews/PR609/2018/all_talks.html b/previews/PR609/2018/all_talks.html new file mode 100644 index 000000000..7c3eabbc9 --- /dev/null +++ b/previews/PR609/2018/all_talks.html @@ -0,0 +1,4113 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+
+ + + +
+ +
2018
+
+
+
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + +
+ +
+
+ +
+
+ + + + + +
+ +
+
+ + + +
+
+
+
+ + + +
+ Sacha Verweij and Jane Herriman +

+ + Stanford University and Julia Computing + +

+
+
+
+
+
+ Workshop +

+ An Introduction to Julia +

+

Are you new to Julia?! This beginners’ tutorial should be accessible to anyone with technical computing needs and some experience with another language. We will show you why Julia is special, demonstrate how easy Julia is to learn, and get you writing some Julia code. +

+
+
+
+ + +
+
+
+
+ + + +
+ Andy Ferris +

+ + Fugro Roames + +

+
+
+
+
+
+ Workshop +

+ A practical introduction to metaprogramming in Julia +

+

Julia focuses on speed and user productivity, due in part to its metaprogramming capability. This workshop arms you with the knowledge to create fast, generic and easy-to-use APIs using techniques including multiple dispatch, recursion, traits, constant propagation, macros, and generated functions. +

+
+
+
+ + +
+
+
+
+ + + +
+ Mike Innes, Deniz Yuret, and Pontus Stenetorp +

+ + Julia Computing, Koç University, and University College London + +

+
+
+
+
+
+ Workshop +

+ Machine Learning with Julia: Elegance, Speed and Ease +

+

Machine Learning has become one of the hottest research and industry areas over the last few years; we believe Julia is the strongest contender to become the language for Machine Learning and in this tutorial we will give a flying start to train/deploy models and use of the power that Julia brings. +

+
+
+
+ + +
+
+
+
+ + + +
+ Sheehan Olver +

+ + Imperial College, London + +

+
+
+
+
+
+ Workshop +

+ Numerical Analysis in Julia +

+

This workshop brings together 4 speakers on different topics in numerical analysis, to demonstrate the strengths of Julia’s approach to scientific computing in atomistic simulations, function approximation, differential equations, fast transformations, validated numerics, and linear algebra. +

+
+
+
+ + +
+
+
+
+ + + +
+ David Anthoff +

+ + University of California, Berkeley + +

+
+
+
+
+
+ Workshop +

+ Queryverse +

+

This workshop will introduce the Queryverse family of packages, a unified data science stack on julia. It provides tools for file IO, data querying, visual data exploration and statistical plotting. It also integrates with a large number of other julia packages. +

+
+
+
+ + +
+
+
+
+ + + +
+ Chris Rackauckas +

+ + UC Irvine and MIT + +

+
+
+
+
+
+ Workshop +

+ Solving Partial Differential Equations with Julia  +

+

Climate scientists solve fluid dynamics PDEs. Biologists solve reaction-diffusion PDEs. Economists solve optimal control PDEs. But solving PDEs is hard! Where do you start? This workshop gives a broad overview of the Julia package ecosystem and shows how to tie it together to solve these problems. +

+
+
+
+ + +
+
+
+
+ + + +
+ Juan Pablo Vielma +

+ + MIT Sloan + +

+
+
+
+
+
+ Workshop +

+ The JuMP ecosystem for mathematical optimization  +

+

JuMP is an award-winning DSL for mathematical optimization that has quickly become the gold-standard for its simplicity, performance, and versatility. A major overhaul of JuMP will be finalized during the JuMP-dev workshop in June, so it is the perfect time for an updated tutorial and feature demo. +

+
+
+
+ + +
+
+
+
+ + + +
+ Avik Sengupta +

+ + Julia Computing + +

+
+
+
+
+
+ Workshop +

+ Natural Language Processing in Julia +

+

A hands on workshop demonstrating the use of natural language processing tools in Julia. Working with textual data, we will discuss methods for data collection, parsing, pre-processing, embedding, classification and deep neural networks. +

+
+
+
+ + +
+
+
+
+ + + +
+ Harsha Byadarahalli Mahesh +

+ + + +

+
+
+
+
+
+ Lightning +

+ JuliaPro post 1.0 release +

+

JuliaPro is all set for a huge makeover post Julia 1.0 release, this talk is all about revealing the new features that will be included in the next generation of JuliaPro.

+
+
+
+ + +
+
+
+
+ + + +
+ Jamie Brandon +

+ + + +

+
+
+
+
+
+ Talk +

+ Julia as a platform for language development +

+

Language developers are torn between the need to quickly iterate on language designs and the need to prove that those designs can be efficiently implemented. I’ll show that Julia neatly captures many of the proposed solutions to this dilemma, making it a compelling platform for language development.

+
+
+
+ + +
+
+
+
+ + + +
+ Ben J. Ward +

+ + + +

+
+
+
+
+
+ Talk +

+ BioJulia and Bioinformatics in Julia: Past, Present, Future +

+

In this talk I will describe the past, present and the future (in the context of recent changes to sequencing technology and genome assembly techniques) of BioJulia, and how we are working towards our mission of provide a performant, human-friendly bioinformatics infrastructure.

+
+
+
+ + +
+
+
+
+ + + +
+ George Datseris +

+ + + +

+
+
+
+
+
+ Talk +

+ Why Julia is the most suitable language for science …and how we use it in JuliaDynamics +

+

Julia is the best language one can do science with. It combines high performance with intuitive & simple code, and allows 1-to-1 correspondence between code and scientific algorithm. I will present an overview of the packages of the JuliaDynamics GitHub org. as examples that justify this claim.

+
+
+
+ + +
+
+
+
+ + + +
+ S. Hessam M. Mehr +

+ + + +

+
+
+
+
+
+ Lightning +

+ Saving lives with Julia +

+

Thanks to Julia’s speed and expressiveness, our very small team (1 developer!) was quickly able to create an ecosystem of Julia libraries for state-of-the-art automatic analysis of drug mixtures using nuclear magnetic resonance (NMR) spectroscopy data.

+
+
+
+ + +
+
+
+
+ + + +
+ Meghan Ferrall-Fairbanks +

+ + + +

+
+
+
+
+
+ Lightning +

+ Unraveling lymphoma tumor microenvironment interactions with Julia +

+

Julia is my scientific computing programming language of choice to implement my mathematical model of Burkitt lymphoma, a highly aggressive disease plaguing children in Africa. This talk will appeal to people interested in solving Mathematical Biology applications with Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Josh Christie +

+ + Fugro + +

+
+
+
+
+
+ Lightning +

+ Understanding the real world: large-scale point cloud classification +

+

Fugro Roames provides automated extraction of geointelligence at scale. I’ll discuss how we are using Julia in our machine learning pipeline to identify buildings, roads, trees, and other objects in unstructured point cloud data, and how we deliver billions of points without human intervention.

+
+
+
+ + +
+
+
+
+ + + +
+ Diego Javier Zea +

+ + Sorbonne Université + +

+
+
+
+
+
+ Lightning +

+ MIToS.jl: Mutual Information Tools for protein Sequence analysis in the Julia language +

+

MIToS is a package developed for the analysis of protein sequence and structure. It allows fast and flexible calculation of conservation and coevolution scores and helps to analyze them. It has been used in a large dataset to understand evolutionary signals due to protein structures.

+
+
+
+ + +
+
+
+
+ + + +
+ Jeff Mills +

+ + + +

+
+
+
+
+
+ Lightning +

+ BayesTesting.jl: Bayesian Hypothesis Testing without Tears +

+

Bayestesting.jl is a Julia package that implements a new Bayesian hypothesis testing procedure that does not suffer from the problems inherent in both the standard Bayesian and frequentist approaches, and is easy to use in practice. Of interest to anyone who does any statistical hypothesis testing.

+
+
+
+ + +
+
+
+
+ + + +
+ Nathan Daly +

+ + + +

+
+
+
+
+
+ Talk +

+ Julia apps on the App Store: Building and Distributing an application written in Julia +

+

Learn how to turn your software into a portable application you can compile, distribute - and sell - anywhere! Julia is great for building robust, cross-platform software. In April, I published the first-ever app on the Mac App Store written entirely in Julia. Learn how you can do the same!

+
+
+
+ + +
+
+
+
+ + + +
+ Hong Ge +

+ + University of Cambridge + +

+
+
+
+
+
+ Talk +

+ The Turing language for probabilistic programming +

+

We introduce recent developments in Turing.jl — a probabilistic programming language. Similar to Stan, Turing provides a black box tool for Bayesian inference. Turing provides researchers experts with a research toolbox for implementing, investigating and benchmarking new or composed algorithms.

+
+
+
+ + +
+
+
+
+ + + +
+ Hayden Klok +

+ + + +

+
+
+
+
+
+ Lightning +

+ Teaching Statistics to the Masses with Julia +

+

In this talk I first present the hurdles and challenges associated with teaching a course with a large cohort using Julia while still in development. I then move on to present a variety of unique perspectives on the presentation of elementary statistical concepts via short and concise code snippets.

+
+
+
+ + +
+
+
+
+ + + +
+ Thijs van de Laar +

+ + Eindhoven University of Technology + +

+
+
+
+
+
+ Lightning +

+ ForneyLab.jl: a Julia Toolbox for Factor Graph-based Probabilistic Programming +

+

Scientific modeling concerns a continual search for better models for given data sets. This process can be elegantly captured in a Bayesian inference framework. ForneyLab enables largely automated scientific design loops by deriving fast, analytic algorithms for approximate Bayesian inference.

+
+
+
+ + +
+
+
+
+ + + +
+ Peter Ahrens +

+ + MIT Computer Science and Artificial Intelligence Laboratory + +

+
+
+
+
+
+ Talk +

+ For-Loops Are Not a Frontend: Index Notation And The Future Of Array Compilers +

+

Index notation (Einstein summation) is an elegant representation for array operations, powering several recent high-level compilers for array/tensor algebra. Attend to enjoy a programmer-centric explanation of index notation, its generalizations, and how it will revolutionize array library design!

+
+
+
+ + +
+
+
+
+ + + +
+ Adrian Salceanu +

+ + + +

+
+
+
+
+
+ Lightning +

+ Tame your databases: SearchLight ORM +

+

Some people swear by them. Other, at them. But every language has one. Python has SQLAlchemy, Java has JOOQ, .NET has Entity, Ruby has ActiveRecord. Now Julia has SearchLight. The SearchLight ORM provides a powerful DSL which makes working with SQL databases more productive, secure and fun.

+
+
+
+ + +
+
+
+
+ + + +
+ Bogumił Kamiński +

+ + + +

+
+
+
+
+
+ Lightning +

+ Performance of Monte Carlo pricing of Asian options using multi-threading +

+

Multi-threading in Julia is an excellent feature to speed up Monte Carlo simulations, e.g. for Asian option pricing. However, if you are not careful how you generate pseudo random numbers you can get wrong results or have your code run slowly. I discuss how one can avoid both problems.

+
+
+
+ + +
+
+
+
+ + + +
+ Ranjan Anantharaman +

+ + Julia Computing, Inc. + +

+
+
+
+
+
+ Talk +

+ The New Circuitscape in Julia - modern, fast and scalable +

+

The Circuitscape rewrite in Julia provides a 4-8x benefit in speed and scalability over the old Python package . We show the specific benefits of Julia over Python and how to write an end-to-end application purely in Julia, from native Julia solvers to packaging and shipping.

+
+
+
+ + +
+
+
+
+ + + +
+ Michael Krabbe Borregaard +

+ + U of Copenhagen + +

+
+
+
+
+
+ Lightning +

+ EcoJulia - towards a framework for ecological data analysis in Julia. +

+

Ecological analysis draws upon many different tools - geographic, phylogenetic, bioinformatic and simulation packages and a wide range of statistics. Most ecologists use R, but its package ecosystem is severely fragmented. EcoJulia is a framework to bring cohesive ecological data analysis to Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Helen Jiang +

+ + San Francisco Bay Area + +

+
+
+
+
+
+ Talk +

+ Hacking with Julia +

+

The talk shows how to implement some of the best-known attacks on real-world cryptography - in Julia! To break crypto is to solve mathematical puzzles, and it is valuable as a technical exercise, as well as an educational experiment for Julia. Few knows how to actually break crypto, want to see how?

+
+
+
+ + +
+
+
+
+ + + +
+ Zenna Tavares +

+ + + +

+
+
+
+
+ +
+
+ + +
+
+
+
+ + + +
+ Tom Krauss +

+ + Epiq Solutions + +

+
+
+
+
+
+ Lightning +

+ How to design equiripple filters in Julia? +

+

Julia has great potential for signal processing, but it’s DSP.jl package is missing a fundamental filter design algorithm: “remez”, also known as the Parks-McClellan algorithm. I’m going to talk about the algorithm, review efforts to implement it in Julia, and compare it with what’s in Scipy.

+
+
+
+ + +
+
+
+
+ + + +
+ Carsten Bauer +

+ + University of Cologne + +

+
+
+
+
+
+ Lightning +

+ Julia for Physics: Quantum Monte Carlo +

+

I will share my experience on how Julia can improve numerical physics research. This will provide evidence for the claim that Julia can replace Fortran/C++ as workhorses in science. Also I’ll introduce MonteCarlo.jl, a new package for conducting (quantum) Monte Carlo simulations of physical systems.

+
+
+
+ + +
+
+
+
+ + + +
+ Andy Ferris +

+ + Fugro Roames + +

+
+
+
+
+
+ Talk +

+ Interacting with nested data +

+

Data comes in all shapes and sizes. While Julia’s built-in arrays are wonderful for dealing with flat or “flattish” data - here I’ll introduce some strategies and tools for dealing with more complex nested data structures, the split-apply-combine paradigm, and working with relational data (tables).

+
+
+
+ + +
+
+
+
+ + + +
+ Thierry Dhorne +

+ + University of South Brittany + +

+
+
+
+
+ +
+
+ + +
+
+
+
+ + + +
+ Jacob Quinn +

+ + Domo + +

+
+
+
+
+
+ Lightning +

+ Domo + Julia: Learnings from scaling Julia up to process petabytes in production +

+

At Domo we see a LOT of data. Like, Fortune-500-sized automated pipelines of business-critical data kind of data. And now we’re turning to Julia to get smart about all that data. While deploying pre-1.0 may sound risky, Domo is no stranger to blazing trails in search of the right tool for the job.

+
+
+
+ + +
+
+
+
+ + + +
+ Ollin Demian Langle Chimal +

+ + Ministry of Social Development, Mexico + +

+
+
+
+
+
+ Lightning +

+ Complex Network Analysis of Political Data +

+

Political data is widely available in the internet but non-informative at all. I use Julia capabilities to extract the information from the Mexican Senate, transform it to a temporal network and get insights from the dynamics of the system.

+
+
+
+ + +
+
+
+
+ + + +
+ Eric Davies +

+ + + +

+
+
+
+
+
+ Lightning +

+ Memento: Logging for Systems and Applications +

+

Julia’s basic Logging package is sufficient for console logging but lacks the features necessary for monitoring large, multi-component systems and cloud applications. This talk will attempt to convince you to use Memento instead and demonstrate its strengths.

+
+
+
+ + +
+
+
+
+ + + +
+ John Lapeyre +

+ + + +

+
+
+
+
+
+ Talk +

+ Symbolic Mathematics in Julia +

+

Before Julia, it was not possible, starting from scratch, for one person to make significant progress writing a tool that can compete with Wolfram on a reasonable time scale. But, the many advantages of Julia, for instance syntactic macros and access to the syntax tree, put this goal in reach.

+
+
+
+ + +
+
+
+
+ + + +
+ Todd Green +

+ + Relational AI + +

+
+
+
+
+
+ Talk +

+ Low-Level Systems Programming in High-Level Julia +

+

In designing a new language for technical computing, we believe the designers of Julia have accidentally created a great language for systems programming. We explain how efficient, low-level data structures like B+-trees can be implemented in high-level Julia code, with help from a recent package.

+
+
+
+ + +
+
+
+
+ + + +
+ Przemyslaw Szufel +

+ + Warsaw School of Economics + +

+
+
+
+
+
+ Lightning +

+ Performance of a distributed Julia simulation on an AWS Spot Fleet vs a Cray supercomputer +

+

Have you ever wondered what is faster - a supercomputer or a computational cluster in the AWS cloud? Do you want to know what is the easier option to run your massively parallel Julia program? In this presentation you will see how a massively parallel Julia scales with the cluster size increase.

+
+
+
+ + +
+
+
+
+ + + +
+ Matt Bauman +

+ + Julia Computing + +

+
+
+
+
+
+ Lightning +

+ Advocating for public policy change with Julia +

+

Harness your superpower for good and advocate for public policy issues that are important to you. I’ll tell the story about how I used a cell phone video and a Julia notebook to become part of a local movement for improved bike safety in the city of Pittsburgh.

+
+
+
+ + +
+
+
+
+ + + +
+ Aditya Puranik +

+ + The National Institute of Engineering, Mysore + +

+
+
+
+
+
+ Lightning +

+ Minecraft and Julia : A new way to build stuff and learn how to program +

+

Minecraft is arguably one of the most popular video games. The sandbox game is successful because it promotes building and creating from imagination. The PiCraft package allows manipulation of the Minecraft world. Programming in Julia we build amazing things like Mobius strips and Aztec Temples.

+
+
+
+ + +
+
+
+
+ + + +
+ Tim Holy +

+ + + +

+
+
+
+
+
+ Lightning +

+ Making the test-debug cycle more efficient +

+

Julia’s JIT-compilation needs to run on each restart, and the compilation delay can slow development of large projects. I will describe a package, Revise.jl, that allows you to do more testing and debugging in a single Julia session.

+
+
+
+ + +
+
+
+
+ + + +
+ Dave Kleinschmidt +

+ + Rutgers University + +

+
+
+
+
+
+ Talk +

+ A formula for bringing data across table-matrix divide +

+

Real-world data comes to you in tables full of strings, dates, numbers, etc. To analyze this data you often need to wrangle it into a numerical array. The “formula” DSL is a powerful tool to express these transformations, inspired by R but supercharged with Julia’s unique strengths.

+
+
+
+ + +
+
+
+
+ + + +
+ Gajendra Deshpande and Dr. S.A.Kulkarni +

+ + KLS Gogte Institute of Technology, Belgaum + +

+
+
+
+
+
+ Talk +

+ Brainy Things: Brain Computer Interface meets Internet of Things +

+

Welcome to the exciting world of Brain Computer Interface with Internet of Things. With our project we have made an attempt to provide voice to the voiceless and capability to the incapable (paralyzed) with the help of wonderful programming language known as Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Thomas Dickson +

+ + + +

+
+
+
+
+
+ Lightning +

+ Probabilistic modelling of long course sailing craft routing +

+

Sailing craft experience a range of environmental conditions in their voyages across the seas. I show how Julia can be used to model the weather, compare weather scenarios and optimise the route whilst avoiding the structural failure of the craft and to thus reduce cost and crew injury.

+
+
+
+ + +
+
+
+
+ + + +
+ Luis Benet and David Sanders +

+ + Universidad Nacional Autonoma de Mexico andUniversidad Nacional Autonoma de Mexico + +

+
+
+
+
+
+ Talk +

+ Representing functions and solving differential equations rigorously with Taylor models +

+

We approximate a function rigorously with Julia: find a Taylor series that is close, using automatic differentiation, and bound the resulting error using intervals, giving a “Taylor model”. We use this to get guaranteed approximate solutions of ordinary differential equations in the form of tubes.

+
+
+
+ + +
+
+
+
+ + + +
+ Michael Cai +

+ + + +

+
+
+
+
+
+ Talk +

+ Estimating Non-Linear Macroeconomic Models at the New York Fed +

+

Sophisticated tools are required to accurately estimate modern economic models, in the face of unprecedented macroeconomic conditions. The tempered particle filter is a novel method for filtering nonlinear state space models, surpassing conventional tools in accuracy and flexibility. This talk wi...

+
+
+
+ + +
+
+
+
+ + + +
+ Pietro Vertechi +

+ + + +

+
+
+
+
+
+ Lightning +

+ JuliaDBMeta and StatPlots: metaprogramming tools for manipulating and visualizing data +

+

JuliaDBMeta’s macros provide a simple syntax to select, filter, map, group and transform JuliaDB data tables for in memory or out-of-core processing. Plots based visualizations can be incorporated in the pipeline. InteractBase provides a graphical interface to define and compose these opera...

+
+
+
+ + +
+
+
+
+ + + +
+ Weijian Zhang +

+ + The University of Manchester + +

+
+
+
+
+
+ Lightning +

+ EvolvingGraphs.jl: Working with Time-dependent Networks in Julia +

+

Modern networks often store the relationship between entities with time stamps. It is difficult to model and study the evolving nature of such network using traditional graph software package. We present EvolvingGraphs.jl, a Julia software package for analysing time-dependent networks.

+
+
+
+ + +
+
+
+
+ + + +
+ Francesco Zappa Nardelli +

+ + + +

+
+
+
+
+
+ Talk +

+ Subtyping Made Friendly +

+

+
+
+
+ + +
+
+
+
+ + + +
+ Vaibhav Kumar Dixit +

+ + + +

+
+
+
+
+
+ Lightning +

+ An introduction to bayesian parameter estimation of differential equation models using DiffEqBayes.jl. +

+

Parameter estimation is the problem of accurately determining the parameters of a dynamic model. I plan to introduce DiffEqBayes.jl, a package for solving these problems using bayesian techniques.

+
+
+
+ + +
+
+
+
+ + + +
+ Giulio Martella +

+ + + +

+
+
+
+
+
+ Lightning +

+ LARLIB.jl: Solid Modeling in Julia +

+

Big data mass in fields like Bioengineering needs fast computations and simplified operations on complex geometric models. LARLIB.jl is a library for efficient solid modeling operations that works on non-manifold cases with a compact representation that permits fast computations and operations.

+
+
+
+ + +
+
+
+
+ + + +
+ Anna Kiefer +

+ + Kevala Analytics + +

+
+
+
+
+
+ Lightning +

+ Whale Recognition using a CNN in Julia +

+

For decades, conservationists have captured photographs of whales and their flukes (tails) in the open water. Can these images be used to accurately identify whale species? In this talk, see one implementation of an image recognition tool using Julia that may aid global whale conservation efforts.

+
+
+
+ + +
+
+
+
+ + + +
+ Simon Byrne +

+ + Julia Computing + +

+
+
+
+
+
+ Lightning +

+ 0.1 vs 1//10: How numbers are compared +

+

Have you ever wondered why 0.1 > 1//10, 1*pi < pi or 10^16+1 > 1e16+1? I will explain how equalities and inequalities in Julia work across different numeric types.

+
+
+
+ + +
+
+
+
+ + + +
+ Mayeul d'Avezac +

+ + + +

+
+
+
+
+
+ Lightning +

+ Julia is an R&D binding agent +

+

Research and development pulls together disparate tools and creates seamless product. Julia is an integrated R&D platform: it can command an instrument, e.g. an android phone, call existing C libraries, perform complex scripting and analysis. But best of all, it can unit-test the whole ordeal.

+
+
+
+ + +
+
+
+
+ + + +
+ Chris Rackauckas +

+ + University of California, Irvine + +

+
+
+
+
+
+ Talk +

+ PKPDSimulator.jl: Drug dosage prediction in Julia +

+

Drug development costs $1.2billion over 12 years. Clinical trial simulations, using PKPD models, de-risk this investment. Simulations help narrow-down target patient, dosing schedule and trial size choices. PKPDSimulator.jl is a Julia package for trial simulation.

+
+
+
+ + +
+
+
+
+ + + +
+ Dr. Daniel Bachrathy +

+ + + +

+
+
+
+
+
+ Lightning +

+ Multi-Dimensional Bisection Method for finding the roots of non-linear implicit equation systems +

+

In the proposed talk an efficient root finding algorithm is presented, which can determine whole high-dimensional submanifolds (points, curves, surfaces…) of the roots of implicit non-linear equation systems, even in cases, where the number of unknowns surpasses the number of equations.

+
+
+
+ + +
+
+
+
+ + + +
+ Tim Holy +

+ + + +

+
+
+
+
+
+ +

+ Opening remarks +

+

+
+
+
+ + +
+
+
+
+ + + +
+ Kristoffer Carlsson +

+ + Chalmers University of Technology + +

+
+
+
+
+
+ Talk +

+ Pkg3 — The new Julia package manager +

+

Julia 1.0 comes with a brand new package manager, currently called Pkg3. Pkg3 was redesigned from scratch to solve a number of fundamental problems with the old package manager. This talk discusses the decisions we made to ensure that Pkg3 allows the Julia package ecosystem to grow and succeed.

+
+
+
+ + +
+
+
+
+ + + +
+ Jeffrey Sarnoff +

+ + + +

+
+
+
+
+
+ Lightning +

+ Math with more good bits, times+dates with nanoseconds +

+

Julia’s built-in numeric and datetime types are very good. Sometimes we need better. We introduce SaferIntegers, ArbNumerics and TimesDates for nanosecond resolution.

+
+
+
+ + +
+
+
+
+ + + +
+ Kelly Shen +

+ + Etsy + +

+
+
+
+
+
+ Lightning +

+ How Etsy Handles “Peeking” in A/B Testing +

+

Etsy relies heavily on experimentation to improve our decision-making process. In this talk, I will present how Etsy handles data peeking and how we use Julia to help us investigate and assess the problem on our platform.

+
+
+
+ + +
+
+
+
+ + + +
+ Nishanth H. Kottary +

+ + Julia Computing, Inc. + +

+
+
+
+
+
+ Lightning +

+ JuliaBox: scalable apps, GPUs and courses +

+

Over the past year Julia Computing has released a new version of JuliaBox. It was designed to be not just a hosted notebook service but also to let users deploy, scale and share their julia code. This talk describes how we achieve this and other new features.

+
+
+
+ + +
+
+
+
+ + + +
+ Jesse Bettencourt +

+ + U of Toronto + +

+
+
+
+
+
+ Lightning +

+ Self-tuning Gradient Estimators through Higher-order Automatic Differentiation in Julia +

+

Recent work in machine learning and deep reinforcement learning uses self-tuning optimization methods which utilize higher-order gradients. Higher-order automatic gradients are challenging to implement correctly, even in Tensorflow and PyTorch. I show how to do this using Flux.jl.

+
+
+
+ + +
+
+
+
+ + + +
+ James Fairbanks +

+ + GTRI + +

+
+
+
+
+
+ Talk +

+ Graph interfaces: bespoke graphs for every occasion +

+

LightGraphs defines abstractions to implement for any graph or network. Instead of re-inventing the wheel, we can share existing algorithms and functions within the ecosystem. We will live-code a new graph type. Attendees will learn to extend JuliaGraphs with a custom graph type for any application.

+
+
+
+ + +
+
+
+
+ + + +
+ Stefan Lenz +

+ + + +

+
+
+
+
+
+ Talk +

+ BoltzmannMachines.jl: a Julia-native package for training and evaluating multimodal deep Boltzmann machines +

+

We present the package “BoltzmannMachines.jl”: Different types of restricted Boltzmann machines serve as flexible building blocks for our Julia-native implementation of multimodal deep Boltzmann machines, a generative model for unsupervised deep learning on composite or partitioned data sets.

+
+
+
+ + +
+
+
+
+ + + +
+ Jarrett Revels +

+ + MIT + +

+
+
+
+
+
+ Talk +

+ Cassette: Dynamic, Context-Specific Compiler Pass Injection For Julia +

+

Cassette is a tool for injecting user-defined code transformation passes into Julia’s JIT compilation cycle, enabling normal Julia packages to analyze, optimize, and modify Cassette-unaware Julia programs via both low-level IR transformation and high-level dispatch using Cassette’s context types.

+
+
+
+ + +
+
+
+
+ + + +
+ Lyndon White +

+ + + +

+
+
+
+
+
+ Talk +

+ DataDeps.jl and other foundational tools for data driven research +

+

The focus of this talk is DataDeps.jl – BinDeps for Data – Repeatable Data Setup for Replicable Data Science. How to manage data dependencies to ensure any script can be executed by others. The secondary topic is what comes next: data ingestion, with a focus on NLP, though that generalizes.

+
+
+
+ + +
+
+
+
+ + + +
+ Torkel Loman +

+ + U of Cambridge + +

+
+
+
+
+
+ Lightning +

+ Efficient Modelling of Biochemical Reaction Networks +

+

Our new reaction reader tool is an attempt to automate the boring parts of biochemical modelling (transcribing equations). The user can now spend more time actually analysing those models! Also makes your code prettier.

+
+
+
+ + +
+
+
+
+ + + +
+ Scott Jones +

+ + Gandalf Software, Inc. + +

+
+
+
+
+
+ Lightning +

+ Enhanced String handling in Julia +

+

String performance is important in many areas, such as parsing text formats such as JSON, CSV, or bioinformatics data, for NLP (natural language processing), and for interfacing with other languages/libraries that use other encodings than UTF-8. This talk will discuss the JuliaString “ecosystem”.

+
+
+
+ + +
+
+
+
+ + + +
+ Martijn Visser +

+ + + +

+
+
+
+
+
+ Lightning +

+ Building a strong foundation for geospatial innovation +

+

This talk will showcase what is possible with the JuliaGeo related packages, with the aim to get you started if you want to do geospatial analysis in Julia. Making full use of the strengths of Julia, examples are shown of that would be either too slow or too much work in other languages.

+
+
+
+ + +
+
+
+
+ + + +
+ Niklas Korsbo +

+ + Cambridge University + +

+
+
+
+
+
+ Lightning +

+ Latexify.jl and how Julia's metaprogramming makes it useful. +

+

Latexify.jl allows you to create and render LaTeX code from not only simple types, but also arrays and even systems of equations. In this talk, I will introduce what Latexify.jl can do, how Julia’s metaprogramming makes it possible and how the underlying philosophy can be leveraged for other things.

+
+
+
+ + +
+
+
+
+ + + +
+ James Fairbanks +

+ + GTRI + +

+
+
+
+
+
+ Lightning +

+ The JuliaGraphs ecosystem: build fast -- don’t break things +

+

The JuliaGraphs ecosystem has expanded this year, with new innovations in abstract representations and modularity. We discuss these improvements, highlighting the effects of changes in Julia 0.6 and 0.7 which affected the design of the JuliaGraphs ecosystem.

+
+
+
+ + +
+
+
+
+ + + +
+ Uri Patish +

+ + + +

+
+
+
+
+
+ Lightning +

+ From Deep Neural Networks To Fully Adaptive Programs +

+

Deep neural networks can be highly useful. Nonetheless, some problems require structured programming elements such as variables, conditional execution, and loop clauses. We present a Julia framework that supports gradient based learning even when such programming elements are included in a model.

+
+
+
+ + +
+
+
+
+ + + +
+ Abhijith Chandraprabhu +

+ + Julia Computing + +

+
+
+
+
+
+ Lightning +

+ 500K - Providing training to 500K individuals across India in AI +

+

Julia Computing and EkStep have launched an initiative to train 500k individuals in the field of AI. Come hear how we’re designing the courses and delivery.

+
+
+
+ + +
+
+
+
+ + + +
+ Patrick Belliveau +

+ + + +

+
+
+
+
+
+ Lightning +

+ Large Scale Airborne Electromagnetic Geophysics in Julia +

+

My research group uses Julia to solve large-scale industrial inverse problems in geophysics. These are rich computational problems involving differential equations and optimization. I’ll explain how we’ve used Julia to make fast, modular and scalable production geophysical inversion code.

+
+
+
+ + +
+
+
+
+ + + +
+ Carlos Alberto da Costa Filho +

+ + University of Edinburgh + +

+
+
+
+
+
+ Lightning +

+ Julia and Geophysics: Rocking with C calls and Metaprogramming +

+

Can a shiny new language like Julia easily be added to a mature codebase? Yes it can! Come hear about my experience writing Julia code for Madagascar, an open-source software suite for geophysics. Be prepared for repeated abuse of ccall, metaprogramming and pipelines, but little geophysics (phew!).

+
+
+
+ + +
+
+
+
+ + + +
+ Vaska Dimitrova +

+ + + +

+
+
+
+
+
+ Lightning +

+ Optimization of a pumped-storage hydro power plant in Julia with SDDP Algorithm +

+

Optimal dispatch of pumped storage is an important mechanism when optimizing a portfolio of energy assets with regard to its exposure to the electricity market. We present a solution to this problem in Julia and compare its advantages to some existing application that we use in our everyday work.

+
+
+
+ + +
+
+
+
+ + + +
+ Jameson Nash +

+ + Julia Computing, Inc. + +

+
+
+
+
+
+ Talk +

+ Information overload: tools for making program analysis and debugging manageable +

+

We have many tools to provide some answers when analyzing Julia programs – code_warntype, @profile, VS Code workspace – but many more questions. Let’s explore a new experience for understanding Julia code!

+
+
+
+ + +
+
+
+
+ + + +
+ Alex Mellnik +

+ + + +

+
+
+
+
+
+ Lightning +

+ Showcasing Julia on the Web +

+

You just created an awesome new Julia package – congratulations! How can you show it off to potential users (many of whom may not have used Julia yet)? Create an online, interactive demo!

+
+
+
+ + +
+
+
+
+ + + +
+ Gael Forget +

+ + MIT + +

+
+
+
+
+
+ Lightning +

+ Bringing ocean, climate, and ecosystem modeling to Julia +

+

Earth systems are simulated using numerical models of increasing resolution that play a key role in predicting climate. This talk presents a Julia framework that will help educators and researchers leverage these models via an intuitive and scalable representation of gridded Earth variables.

+
+
+
+ + +
+
+
+
+ + + +
+ Helge Eichhorn +

+ + PTScientists + +

+
+
+
+
+
+ Talk +

+ Julia for Space Science: An Antidote for Complexity +

+

Julia might be a secret weapon for the next chapter of the New Space revolution. This talk will present the roadmap for the JuliaAstro and JuliaSpace organizations and demonstrate how Julia can be used to combat the current complexity crisis and enable the next generation of space explorers.

+
+
+
+ + +
+
+
+
+ + + +
+ Carl Åkerlindh +

+ + Lund U + +

+
+
+
+
+
+ Lightning +

+ Fast derivative pricing in Julia +

+

Are you interested in high performance code that is also easy to use? This talk will showcase how to price exotic financial derivatives, without having to compromise between speed and code readability.

+
+
+
+ + +
+
+
+
+ + + +
+ Diego Marinho de Oliveira +

+ + Melbourne, Australia + +

+
+
+
+
+
+ Talk +

+ Towards Real-Time Job Recommendation AI Solution with Julia +

+

RecSys is based on predicting the best item set for a user. I used Julia in a real-time solution with Genie, DataFrames and XGBoost integrated with a Search Engine. As result, it helped my DS team to deliver impacting results processing +100,000 features for a large set of jobs in incredible 250ms!

+
+
+
+ + +
+
+
+
+ + + +
+ Bogumił Kamiński +

+ + + +

+
+
+
+
+
+ Birds of a feather (bof) +

+ BOF: Julia in the classroom +

+

+
+
+
+ + +
+
+
+
+ + + +
+ Ján Dolinský +

+ + + +

+
+
+
+
+
+ Talk +

+ TIM: Unified Large-scale Forecasting System for Load, Gas, Solar and Wind in Julia +

+

TIM (Tangent Information Modeller) is a unified large-scale forecasting system written first in C++ and then in Julia. The key advantages in doing so will be shared covering both the computational and architectural aspects ranging from the engine kernel all the way up to its REST API with examples.

+
+
+
+ + +
+
+
+
+ + + +
+ Jiahao Chen +

+ + + +

+
+
+
+
+
+ Talk +

+ Parallel Prefix Polymorphism +

+

Julia’s multiple dispatch and generic functions lets you reuse code, not just for computing results, but also to visualize how the algorithm works and even prove formal correctness of an implementation. I’ll show this for parallel prefix, a fundamental algorithm of parallel computing.

+
+
+
+ + +
+
+
+
+ + + +
+ Jacob Quinn +

+ + Domo + +

+
+
+
+
+
+ Lightning +

+ HTTP.jl: Progressing library for all your Julia web needs +

+

Client and server web interactions are at the heart of most modern applications, Julia and otherwise. Web APIs open doors for cross-language and service interoperability and HTTP.jl aims to provide a robust, modern foundation for Julia programs needing request or server capabilities.

+
+
+
+ + +
+
+
+
+ + + +
+ Simon Broda +

+ + U of Amsterdam + +

+
+
+
+
+
+ Lightning +

+ ARCH Models in Julia +

+

Volatility modeling lies at the heart of much of financial risk management. The workhorse model in this field is the GARCH model, along with its various extensions. The talk describes a package that the author is developing to bring these models to Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Jane Herriman +

+ + Caltech/Lawrence Livermore National Lab + +

+
+
+
+
+
+ Birds of a feather (bof) +

+ BOF: diversity and inclusion +

+

+
+
+
+ + +
+
+
+
+ + + +
+ Yuri Vishnevsky +

+ + + +

+
+
+
+
+
+ Lightning +

+ Julia for Interactive Data Visualization: Adding Dynamic Behavior to Static Documents +

+

In this talk I introduce a new approach to authoring highly polished interactive data visualizations on the web with Julia. Such visualizations historically been difficult to create without writing custom Javascript.

+
+
+
+ + +
+
+
+
+ + + +
+ Claire Harris +

+ + University of Glasgow + +

+
+
+
+
+
+ Talk +

+ Simulating global plant biodiversity +

+

Global biodiversity loss is reaching critical levels. Working with 200M plant records, an evolutionary tree of 30k of plant species and global climate reconstructions to understand this process is a huge computational challenge, and one that requires many of Julia’s “ecosystems” working together.

+
+
+
+ + +
+
+
+
+ + + +
+ Wouter Heynderickx +

+ + + +

+
+
+
+
+
+ Lightning +

+ Systemic Model of Banking Originated Losses (SyMBOL) in Julia +

+

The need for speed: SyMBOL is a model that analyses bank failures. The core of SyMBOL is a Monte Carlo simulation with correlated random shocks and it was written in C. Given the parallel computing capabilities of Julia and a different setup, we were able to reduce the computation time by 50%.

+
+
+
+ + +
+
+
+
+ + + +
+ Paulito Palmes +

+ + IBM Dublin Research Lab + +

+
+
+
+
+
+ Lightning +

+ CombineML for Seamless Ensembling of Machine Learning Models from Scikit-learn, Caret, and Julia +

+

CombineML main feature is to provide a framework for seamless ensembling of existing machine learning implementations from scikitlearn, caret, and Julia. It supports the following ensembles: stack, voting, and best. It is a heterogeneous ensemble driven by a uniform machine learner API designed f...

+
+
+
+ + +
+
+
+
+ + + +
+ Jonathan Louis Kaplan +

+ + + +

+
+
+
+
+
+ Lightning +

+ RHEOS - Making mechanical testing more accessible with Julia +

+

Analyzing mechanical testing data can be tricky, especially for those conducting interdisciplinary research (e.g. biomechanics) who may not have in-house code. We are using Julia to develop an open source software package to make this process simpler and more reproducible.

+
+
+
+ + +
+
+
+
+ + + +
+ Hector Andrade Loarca +

+ + + +

+
+
+
+
+
+ Lightning +

+ LightFields.jl: Fast 3D image reconstruction for VR applications +

+

Virtual Reality plays the leading role on the new media revolution with Light Field reconstruction as a common technique for content generation.High industrial interests make this technique hard to understand and implement, I will present a novel method to reconstruct the depth of objects in images.

+
+
+
+ + +
+
+
+
+ + + +
+ Jane Herriman +

+ + Caltech/Lawrence Livermore National Lab + +

+
+
+
+
+
+ Lightning +

+ Making Julia inclusive and accessible +

+

How can we make Julia more inclusive of and accessible to new users from all backgrounds and experience levels? We want to create fantastic teaching materials that don’t assume a ton of prior knowledge. I’ll share what we’ve done so far to make Julia more accessible and how you can help!

+
+
+
+ + +
+
+
+
+ + + +
+ Mike Innes +

+ + + +

+
+
+
+
+
+ Talk +

+ Flux: The Elegant Machine Learning Library +

+

Flux is a new machine learning library that’s easy and intuitive to use with state-of-the-art performance. I’ll show how we achieve this using Julia’s advanced features alongside modern compiler and language technology, as well as cool things that people are doing with Flux.

+
+
+
+ + +
+
+
+
+ + + +
+ Giovanni Ballarin +

+ + Konstanz U + +

+
+
+
+
+
+ Talk +

+ GPU-Accelerated Value Function Iteration in Julia: Faster Macroeconomic Modeling +

+

Value Function Iteration (VFI) is a technique widely used by economists to solve dynamic programming problems. VFI is conceptually simple, but computationally very taxing with complex models or high dimensions. However, using Julia and GPUs, it is possible to run VFI algorithms up to 150x faster.

+
+
+
+ + +
+
+
+
+ + + +
+ Elliot Saba +

+ + + +

+
+
+
+
+
+ Talk +

+ 10 tips on how to build better binaries; you won't believe #8! +

+

Building and serving binary dependencies for Julia has been a challenging problem in the past. With BinaryBuilder.jl and BinaryProvider.jl, we present a set of powerful and straightfoward tools to compile, serve and load binary dependencies for packages on all platforms Julia supports.

+
+
+
+ + +
+
+
+
+ + + +
+ Patrick Kofod Mogensen +

+ + University of Copenhagen + +

+
+
+
+
+
+ Lightning +

+ Native Elementary Functions in Julia +

+

People doing numerical computing are greedy. They want results now and accurately, and we have been ready to accept loss of readability and extensibility to get it. As a result, the elementary functions we take for granted in paper math are often coded in low-level languages. We can do better.

+
+
+
+ + +
+
+
+
+ + + +
+ Niccolò Antonello +

+ + + +

+
+
+
+
+
+ Talk +

+ StructuredOptimization.jl: a new optimization package for Julia +

+

Numerical optimization is used in many scientific fields such as signal processing, machine learning, finance and control. We propose a new Julia package providing an intuitive language for defining and solving possibly nonconvex, nonsmooth optimization problems using natural mathematical notation.

+
+
+
+ + +
+
+
+
+ + + +
+ Demian Panigo and Pablo Gluzmann and Esteban Mocskos and Adán Mauri Ungaro and Valentin Mari +

+ + Universidad de Buenos Aires/CONICET and and + +

+
+
+
+
+
+ Lightning +

+ GSReg.jl: High Performance Computing in Econometrics. Let’s do it faster and simpler with Julia +

+

The objective of this talk is to introduce GSReg.jl, a new all-subset-regression package to perform High Performance Computing in econometrics using Julia. GSReg.jl runs 4 to 100 times faster than similar packages and comes with a simplified GUI to allow smooth-transitions for R and Stata users.

+
+
+
+ + +
+
+
+
+ + + +
+ Jacob Quinn +

+ + Domo + +

+
+
+
+
+
+ Lightning +

+ New in DataStreams.jl: Type flexibility, querying, and parallelism, oh my! +

+

What’s new in the data framework package powering some of the most popular data packages in Julia? Come learn about advancements in flexibly typed schemas, querying functionality directly integrated with IO, and automatic data transfer parallelism.

+
+
+
+ + +
+
+
+
+ + + +
+ Lionel Zoubritzky +

+ + + +

+
+
+
+
+
+ Talk +

+ Engineering Julia for Speed +

+

Julia’s design enables efficient idiomatic code optimizations. I will detail Julia’s main optimizations and explain under which conditions on the code Julia’s JIT compiler can perform them. I will also show how users meet these conditions, using static and dynamic analyses of popular Julia packages.

+
+
+
+ + +
+
+
+
+ + + +
+ Shashi Gowda +

+ + Julia Computing + +

+
+
+
+
+
+ Talk +

+ How JuliaDB works +

+

JuliaDB is a pure Julia analytical database. It support a number of features: releational database operations, parsing text files, parallel computing, tabular data storage and compression. +In this talk you will learn about the underlying building block packages that make up JuliaDB. This talk sho...

+
+
+
+ + +
+
+
+
+ + + +
+ Bart Janssens +

+ + + +

+
+
+
+
+
+ Talk +

+ Parallel computing with MPI-3 RMA and Julia +

+

The remote memory access routines from MPI-3 are a natural fit for the Julia programming model. We show how to build a custom IO and distributed array on top of them, and how this system can help with interfacing with both Julia native parallelism and external MPI-based libraries.

+
+
+
+ + +
+
+
+
+ + + +
+ Harrison Grodin +

+ + + +

+
+
+
+
+ +
+
+ + +
+
+
+
+ + + +
+ Josh Day +

+ + + +

+
+
+
+
+
+ Talk +

+ Scalable Data Science with JuliaDB and OnlineStats +

+

JuliaDB integrates with OnlineStats to provide scalable single pass algorithms (that can run in parallel) for statistics and modeling on big data. This integration allows you to transform small-scale analyses into out-of-core computations for huge datasets without changing your code.

+
+
+
+ + +
+
+
+
+ + + +
+ Jarvist Moore Frost +

+ + King's College London + +

+
+
+
+
+
+ Lightning +

+ Atomistic simulation with Julia +

+

Atomistic simulation needs custom models, to approximate through hard O(N!) scaling of the underlying physical equations. Julia is a natural language to express such physical abstractions in. I will show how you can contribute to materials research with Julia and a fistful of 1960s PhysRevs.

+
+
+
+ + +
+
+
+
+ + + +
+ Scott Thomas +

+ + + +

+
+
+
+
+
+ Lightning +

+ Julia-powered personalised mathematics homework +

+

Anyone who works in a technical field has heard something like this from family or friends: “Oh, I was never any good at maths at school.” My job is to set targeted, achievable mathematics homework so that no child ends up feeling this way. Let me tell you how I use Julia to do this.

+
+
+
+ + +
+
+
+
+ + + +
+ Bart Janssens +

+ + + +

+
+
+
+
+
+ Lightning +

+ Solving sparse linear systems with Trilinos.jl +

+

The Trilinos library features modern iterative solvers for large linear systems. Using the Tpetra library, it can exploit hybrid parallelism and GPUs. We present an overview of the current status of the package that makes this functionality available to Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Uri Patish +

+ + + +

+
+
+
+
+
+ Lightning +

+ Black-Box Combinatorial Optimization +

+

Highly parallelizable black box combinatorial optimization algorithm that only relies on function evaluations, and which returns locally optimal solutions with high probability.

+
+
+
+ + +
+
+
+
+ + + +
+ Matt Bauman +

+ + Julia Computing + +

+
+
+
+
+
+ Talk +

+ An introduction to high performance custom arrays +

+

Have you ever wondered how or why you might create a custom array? Have you never written struct ___ <: AbstractArray{T,N}? It’s easier than you might expect! I’ll give a motivating example, incrementally define and refine a custom array, and demonstrate how to make it robust and fast.

+
+
+
+ + +
+
+
+
+ + + +
+ Frank Otto +

+ + University College London + +

+
+
+
+
+
+ Lightning +

+ Hierarchical Tensor Decompositions in Julia +

+

Julia’s high-level nature and speed helped me to implement an intricate algorithm for converting a set of high-dimensional data into a very compact representation, allowing me to efficiently solve real-world research problems.

+
+
+
+ + +
+
+
+
+ + + +
+ Jens Weibezahn +

+ + + +

+
+
+
+
+
+ Lightning +

+ Joulia.jl -- A Large-scale Spatial Open-source Electricity Sector Model Package +

+

With Joulia.jl we developed a package for electricity sector models in Julia, taking advantage of the possibilities to cover all steps of the modeling workflow from data pre-processing, over the algebraic modeling and solution up to the visualization of results in an open-source environment.

+
+
+
+ + +
+
+
+
+ + + +
+ David Anthoff +

+ + University of California, Berkeley + +

+
+
+
+
+
+ Talk +

+ Visual Studio Code julia extension +

+

The julia extension for Visual Studio Code provides a convenient coding environment for julia development. This talk will highlight key features of the extension.

+
+
+
+ + +
+
+
+
+ + + +
+ Mauro Werder +

+ + + +

+
+
+
+
+
+ Lightning +

+ Parameters.jl: keyword constructors and default values for types +

+

Parameters.jl provides a macro to decorate type-definitions which adds keyword constructors and default values. When working with instances it has macros to unpack their fields. I will demo its core features, the resulting cleaner code patterns, and the improvements to code maintainability.

+
+
+
+ + +
+
+
+
+ + + +
+ Robin Deits +

+ + MIT + +

+
+
+
+
+
+ Talk +

+ JuliaRobotics: Making robots walk with Julia +

+

Do you want to build Baymax, Data, or Robby the Robot? Do you want a future with more robots for rescue, delivery, and exploration (and fewer C++ linker errors)? I’ll introduce the JuliaRobotics org and show off our work on visualizing, simulating, and controlling a humanoid robot in Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Ján Dolinský +

+ + + +

+
+
+
+
+
+ Lightning +

+ Our Journey Through the Perils of AOT Compilation +

+

We develop TIM, a computational engine for large-scale forecasting in energy industry covering load, gas, solar and wind. We share our lessons learned when trying to do AOT compilation of TIM and deploying the binary in the cloud. We cover Linux and Windows scenarios.

+
+
+
+ + +
+
+
+
+ + + +
+ Tanmay Mohapatra +

+ + Julia Computing + +

+
+
+
+
+
+ Lightning +

+ A Scalable Scheduler Plugin For Dagger on JuliaRun +

+

Computational problems can often be represented as specific types of graphs known as DAGs. That allows an execution framework to execute parts in right order, schedule in parallel, and make optimal use of available resources. We present ideas on which we are building a scalable scheduler for Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Henrik Sykora +

+ + Budapest University of Technology and Economics + +

+
+
+
+
+
+ Poster +

+ An effective method to investigate stochastic delayed systems using Julia +

+

Modelling of stochastic effects in engineering is limited not only by the few existing mathematical methods but also by their low effectivity and high complexity. An easy-to-use Julia package is presented to investigate stochastic linear delayed systems including control and machine-tool vibrations.

+
+
+
+ + +
+
+
+
+ + + +
+ Mathieu Besançon +

+ + GERAD, Montréal & INRIA Lille + +

+
+
+
+
+
+ Poster +

+ Bi-level optimization for consumption predictability in smart grids +

+

Increasing the proportion of renewable energy has become a priority for power grids, but their integration requires higher flexibility of consumption times. Using game theory and optimization, we design a framework allowing flexibility and privacy, while reducing costs for both consumer and supplier

+
+
+
+ + +
+
+
+
+ + + +
+ Mauro Werder +

+ + ETH Zurich, Switzerland + +

+
+
+
+
+
+ Poster +

+ BITE, a Baysian Ice Thickness Estimation model +

+

Glaciers and ice caps are projected to dominate global sea level rise up to 2100. To estimate ice thickness maps of such glaciers using mostly surface data, we use a semi-physical forward model combined with a Bayesian inversion scheme. We leverage Julia to allow compute intense MCMC simulations.

+
+
+
+ + +
+
+
+
+ + + +
+ Vivek Gadodia +

+ + Dravyaniti Consulting LLP + +

+
+
+
+
+
+ Poster +

+ Built to Last- Developing Robust Trading and Investment Strategies +

+

Life of a Trading strategy is unknown. 'Till how long will this work?'. As markets get more mature, with advent of ML and AI, the designer's job is getting tougher. Using rules to analyse big data by splitting it across Time-Frames, traders can gain significant edges, for all types of traders.

+
+
+
+ + +
+
+
+
+ + + +
+ Laurent Heirendt, Ph.D. +

+ + University of Luxembourg + +

+
+
+
+
+
+ Poster +

+ COBRA.jl - Gearing up for high-dimensional constraint-based modelling +

+

Julia accelerates analyses of huge-scale biochemical networks with now more than a million biochemical reactions. Through the open-source high-performance COBRA.jl package, the analysis capabilities of the COnstraint-Based Reconstruction and Analysis community are lifted to another level.

+
+
+
+ + +
+
+
+
+ + + +
+ Rob Blackwell +

+ + British Antarctic Survey + +

+
+
+
+
+
+ Poster +

+ EchoJulia – a new approach to scientific echosounder data analysis +

+

EchoJulia is a software library that is enabling new kinds of fisheries acoustic applications. From big data analysis of ship-based surveys to data collection from ocean gliders, we show how Julia is set to improve ecosystem estimates of Southern Ocean Antarctic Krill.

+
+
+
+ + +
+
+
+
+ + + +
+ Pedro Ivo de Oliveira Filho +

+ + University College London + +

+
+
+
+
+
+ Poster +

+ Enhancing Photovoltaic Solar Cell Manufacturing: Design and Scale-up of an Industrial AACVD under Uncertainty +

+

Handling uncertainty in process design and optimisation is a crucial challenge in current research and in the industry. We believe that Julia has the potential to be used as a comprehensive modelling language to enable designers to develop new systems with greater confidence.

+
+
+
+ + +
+
+
+
+ + + +
+ Dr. Zygmunt L. Szpak +

+ + Australian Institute for Machine Learning + +

+
+
+
+
+
+ Poster +

+ Estimation of Nonlinear Errors-in-Variables Models for Computer Vision Applications +

+

I will present an approximate maximum likelihood method that encapsulates a gamut of heteroscedastic errors-in-variables regression problems that often arise in computer vision applications. Julia's multiple dispatch and Unicode support facilitates a unique, concise and readable implementation.

+
+
+
+ + +
+
+
+
+ + + +
+ R Gowers +

+ + University of Warwick + +

+
+
+
+
+
+ Poster +

+ Extended Neurons with Noise in Julia +

+

Most of the time, neurons in the cortex fire due to randomly arriving inputs. The irregular firing that results is not merely noise, but is thought to play an important role in cortical computation. I show how I have implemented stochastic simulations of this irregular firing in my research.

+
+
+
+ + +
+
+
+
+ + + +
+ Andrew Collier +

+ + Exegetic Analytics + +

+
+
+
+
+
+ Poster +

+ Getting Started with Bayesian Techniques in Julia +

+

Bayesian techniques can seem challenging and esoteric. However, they promise a powerful alternative to frequentist statistics, with the possibility of extracting even more useful information from your data. This talk will help you get started with Bayesian analyses.

+
+
+
+ + +
+
+
+
+ + + +
+ Petre Caraiani +

+ + Institute for Economic Forecasting, Romanian Academy + +

+
+
+
+
+
+ Poster +

+ Introduction to Quantitative Macroeconomics using Julia +

+

The title of the presentation comes from the my forthcoming book at one of the leading publishers, Academic Press, an imprint of Elsevier. The poster (based on the book) will introduce the audience to state-of-art computational techniques used in economics through examples and applications in Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Ahan Sengupta +

+ + City of London School + +

+
+
+
+
+
+ Poster +

+ Julia Robots on the Raspberry Pi +

+

The talk is about remote control robots controlled by Julia on a Raspberry Pi. I will show how to do physical computing with Julia using the GPIO pins of the Pi.

+
+
+
+ + +
+
+
+
+ + + +
+ Miguel Raz Guzmán Macedo +

+ + UNAM + +

+
+
+
+
+
+ Poster +

+ Lessons for beginner developers: Arbitrary order generalized OrthogonalPolynomials.jl in 100 lines of Julia +

+

Julia's capabilities are amazing for scientific computing - but how to begin designing your own libraries and packages? With OrthogonalPolynomials.jl, we will showcase the development of a production ready library in 100 lines of code - with a series of video walkthroughs on step by step design.

+
+
+
+ + +
+
+
+
+ + + +
+ Renan Domingues +

+ + UFPR - Federal University of Paraná + +

+
+
+
+
+
+ Poster +

+ LU update in the Simplex Method +

+

We study the Simplex method, a linear optimization search method. The revised Simplex method was studied and implemented along with the LU update, aiming for the solution of large scale sparse problems. The method was implemented in the Julia Language and tested against available solvers.

+
+
+
+ + +
+
+
+
+ + + +
+ beckerfloh@gmail.com +

+ + Karlsruhe Institute of Technology + +

+
+
+
+
+
+ Poster +

+ PCE.jl - Towards a Julia Package for Polynomial Chaos Expansion +

+

This poster announces PCE.jl, which is a Julia Package for uncertainty quantification (UQ) using a method called 'polynomial chaos expansion' (PCE). It offers an alternative approach to Monte-Carlo-based UQ, and is also more efficient for certain problem instances.

+
+
+
+ + +
+
+
+
+ + + +
+ Will Tebbutt +

+ + University of Cambridge + +

+
+
+
+
+
+ Poster +

+ Probabilistic Programming and Gaussian Processes in Julia +

+

Deep Learning's popularity is partly derived from its composability. General probabilistic machine learning is, in fact, just as composable, but technically much more challenging. I present an interesting edge case where life is easy, and discuss how Julia is uniquely positioned to exploit this.

+
+
+
+ + +
+
+
+
+ + + +
+ Chris Rackauckas +

+ + University of California, Irvine + +

+
+
+
+
+
+ Poster +

+ The Hidden Information in Stochasticity: How Biological Organisms Use and Control Randomness +

+

Stochasticity (randomness) in biochemical reactions exists. Things diffuse and randomly bump together to bind/unbind. Yet these chemicals form the basis of life. But biological organisms evolve to their surroundings. Have they evolved to use biochemical randomness? I will demonstrate how they do it.

+
+
+
+ +
+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2018/assets/css/font-awesome/css/font-awesome.min.css b/previews/PR609/2018/assets/css/font-awesome/css/font-awesome.min.css new file mode 100644 index 000000000..748f4b331 --- /dev/null +++ b/previews/PR609/2018/assets/css/font-awesome/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont3e6e.eot?v=4.7.0');src:url('../fonts/fontawesome-webfontd41d.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont3e6e.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont3e6e.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont3e6e.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont3e6e.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.eot b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.eot new file mode 100644 index 000000000..e9f60ca95 Binary files /dev/null and b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.eot differ diff --git a/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.svg b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.svg new file mode 100644 index 000000000..855c845e5 --- /dev/null +++ b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.ttf b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.ttf differ diff --git a/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.woff b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.woff new file mode 100644 index 000000000..400014a4b Binary files /dev/null and b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.woff differ diff --git a/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.woff2 b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.woff2 new file mode 100644 index 000000000..4d13fc604 Binary files /dev/null and b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfont3e6e.woff2 differ diff --git a/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfontd41d.eot b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfontd41d.eot new file mode 100644 index 000000000..e9f60ca95 Binary files /dev/null and b/previews/PR609/2018/assets/css/font-awesome/fonts/fontawesome-webfontd41d.eot differ diff --git a/previews/PR609/2018/assets/css/grid.css b/previews/PR609/2018/assets/css/grid.css new file mode 100644 index 000000000..82a9e4239 --- /dev/null +++ b/previews/PR609/2018/assets/css/grid.css @@ -0,0 +1,40 @@ +.u-container { max-width: 1152px; } +.u-cols-1 { width: 64px } +.u-cols-2 { width: 160px } +.u-cols-3 { width: 256px } +.u-cols-4 { width: 352px } +.u-cols-5 { width: 448px } +.u-cols-6 { width: 544px } +.u-cols-7 { width: 640px } +.u-cols-8 { width: 736px } +.u-cols-9 { width: 832px } +.u-cols-10 { width: 928px } +.u-cols-11 { width: 1024px } +.u-cols-12 { width: 1120px } +.u-cols-1,.u-cols-2,.u-cols-3,.u-cols-4,.u-cols-5,.u-cols-6,.u-cols-7,.u-cols-8,.u-cols-9,.u-cols-10,.u-cols-11,.u-cols-12,.u-hmargins.u-max-cols-1,.u-max-cols-2,.u-max-cols-3,.u-max-cols-4,.u-max-cols-5,.u-max-cols-6,.u-max-cols-7,.u-max-cols-8,.u-max-cols-9,.u-max-cols-10,.u-max-cols-11,.u-max-cols-12 { margin-left: 16.0px; margin-right: 16.0px } +.u-max-cols-1 { max-width: 64px } +.u-max-cols-2 { max-width: 160px } +.u-max-cols-3 { max-width: 256px } +.u-max-cols-4 { max-width: 352px } +.u-max-cols-5 { max-width: 448px } +.u-max-cols-6 { max-width: 544px } +.u-max-cols-7 { max-width: 640px } +.u-max-cols-8 { max-width: 736px } +.u-max-cols-9 { max-width: 832px } +.u-max-cols-10 { max-width: 928px } +.u-max-cols-11 { max-width: 1024px } +.u-max-cols-12 { max-width: 1120px } +.u-cols-1,.u-cols-2,.u-cols-3,.u-cols-4,.u-cols-5,.u-cols-6,.u-cols-7,.u-cols-8,.u-cols-9,.u-cols-10,.u-cols-11,.u-cols-12,.u-hmargins.u-max-cols-1,.u-max-cols-2,.u-max-cols-3,.u-max-cols-4,.u-max-cols-5,.u-max-cols-6,.u-max-cols-7,.u-max-cols-8,.u-max-cols-9,.u-max-cols-10,.u-max-cols-11,.u-max-cols-12 { margin-left: 16.0px; margin-right: 16.0px } +.u-rows-1 { min-height: 64px} +.u-rows-2 { min-height: 160px} +.u-rows-3 { min-height: 256px} +.u-rows-4 { min-height: 352px} +.u-rows-5 { min-height: 448px} +.u-rows-6 { min-height: 544px} +.u-rows-7 { min-height: 640px} +.u-rows-8 { min-height: 736px} +.u-rows-9 { min-height: 832px} +.u-rows-10 { min-height: 928px} +.u-rows-11 { min-height: 1024px} +.u-rows-12 { min-height: 1120px} +.u-rows-1,.u-rows-2,.u-rows-3,.u-rows-4,.u-rows-5,.u-rows-6,.u-rows-7,.u-rows-8,.u-rows-9,.u-rows-10,.u-rows-11,.u-rows-12,.u-vmargins { padding-top: 16.0px; padding-bottom: 16.0px }.u-margins { margin: 16.0px } .u-pad { padding: 16.0px } diff --git a/previews/PR609/2018/assets/css/jssocials-theme-minima.css b/previews/PR609/2018/assets/css/jssocials-theme-minima.css new file mode 100644 index 000000000..3805d09b1 --- /dev/null +++ b/previews/PR609/2018/assets/css/jssocials-theme-minima.css @@ -0,0 +1,146 @@ +.jssocials-share-twitter .jssocials-share-link { + color: #00aced; } + .jssocials-share-twitter .jssocials-share-link .jssocials-share-label { + color: #00aced; } + .jssocials-share-twitter .jssocials-share-link:hover, .jssocials-share-twitter .jssocials-share-link:focus, .jssocials-share-twitter .jssocials-share-link:active { + color: #0087ba; } + .jssocials-share-twitter .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-twitter .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-twitter .jssocials-share-link:active .jssocials-share-label { + color: #0087ba; } + +.jssocials-share-facebook .jssocials-share-link { + color: #3b5998; } + .jssocials-share-facebook .jssocials-share-link .jssocials-share-label { + color: #3b5998; } + .jssocials-share-facebook .jssocials-share-link:hover, .jssocials-share-facebook .jssocials-share-link:focus, .jssocials-share-facebook .jssocials-share-link:active { + color: #2d4373; } + .jssocials-share-facebook .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-facebook .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-facebook .jssocials-share-link:active .jssocials-share-label { + color: #2d4373; } + +.jssocials-share-googleplus .jssocials-share-link { + color: #dd4b39; } + .jssocials-share-googleplus .jssocials-share-link .jssocials-share-label { + color: #dd4b39; } + .jssocials-share-googleplus .jssocials-share-link:hover, .jssocials-share-googleplus .jssocials-share-link:focus, .jssocials-share-googleplus .jssocials-share-link:active { + color: #c23321; } + .jssocials-share-googleplus .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-googleplus .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-googleplus .jssocials-share-link:active .jssocials-share-label { + color: #c23321; } + +.jssocials-share-linkedin .jssocials-share-link { + color: #007bb6; } + .jssocials-share-linkedin .jssocials-share-link .jssocials-share-label { + color: #007bb6; } + .jssocials-share-linkedin .jssocials-share-link:hover, .jssocials-share-linkedin .jssocials-share-link:focus, .jssocials-share-linkedin .jssocials-share-link:active { + color: #005983; } + .jssocials-share-linkedin .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-linkedin .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-linkedin .jssocials-share-link:active .jssocials-share-label { + color: #005983; } + +.jssocials-share-pinterest .jssocials-share-link { + color: #cb2027; } + .jssocials-share-pinterest .jssocials-share-link .jssocials-share-label { + color: #cb2027; } + .jssocials-share-pinterest .jssocials-share-link:hover, .jssocials-share-pinterest .jssocials-share-link:focus, .jssocials-share-pinterest .jssocials-share-link:active { + color: #9f191f; } + .jssocials-share-pinterest .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-pinterest .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-pinterest .jssocials-share-link:active .jssocials-share-label { + color: #9f191f; } + +.jssocials-share-email .jssocials-share-link { + color: #3490F3; } + .jssocials-share-email .jssocials-share-link .jssocials-share-label { + color: #3490F3; } + .jssocials-share-email .jssocials-share-link:hover, .jssocials-share-email .jssocials-share-link:focus, .jssocials-share-email .jssocials-share-link:active { + color: #0e76e6; } + .jssocials-share-email .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-email .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-email .jssocials-share-link:active .jssocials-share-label { + color: #0e76e6; } + +.jssocials-share-stumbleupon .jssocials-share-link { + color: #eb4823; } + .jssocials-share-stumbleupon .jssocials-share-link .jssocials-share-label { + color: #eb4823; } + .jssocials-share-stumbleupon .jssocials-share-link:hover, .jssocials-share-stumbleupon .jssocials-share-link:focus, .jssocials-share-stumbleupon .jssocials-share-link:active { + color: #c93412; } + .jssocials-share-stumbleupon .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-stumbleupon .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-stumbleupon .jssocials-share-link:active .jssocials-share-label { + color: #c93412; } + +.jssocials-share-whatsapp .jssocials-share-link { + color: #29a628; } + .jssocials-share-whatsapp .jssocials-share-link .jssocials-share-label { + color: #29a628; } + .jssocials-share-whatsapp .jssocials-share-link:hover, .jssocials-share-whatsapp .jssocials-share-link:focus, .jssocials-share-whatsapp .jssocials-share-link:active { + color: #1f7d1e; } + .jssocials-share-whatsapp .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-whatsapp .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-whatsapp .jssocials-share-link:active .jssocials-share-label { + color: #1f7d1e; } + +.jssocials-share-telegram .jssocials-share-link { + color: #2ca5e0; } + .jssocials-share-telegram .jssocials-share-link .jssocials-share-label { + color: #2ca5e0; } + .jssocials-share-telegram .jssocials-share-link:hover, .jssocials-share-telegram .jssocials-share-link:focus, .jssocials-share-telegram .jssocials-share-link:active { + color: #1c88bd; } + .jssocials-share-telegram .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-telegram .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-telegram .jssocials-share-link:active .jssocials-share-label { + color: #1c88bd; } + +.jssocials-share-line .jssocials-share-link { + color: #25af00; } + .jssocials-share-line .jssocials-share-link .jssocials-share-label { + color: #25af00; } + .jssocials-share-line .jssocials-share-link:hover, .jssocials-share-line .jssocials-share-link:focus, .jssocials-share-line .jssocials-share-link:active { + color: #1a7c00; } + .jssocials-share-line .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-line .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-line .jssocials-share-link:active .jssocials-share-label { + color: #1a7c00; } + +.jssocials-share-viber .jssocials-share-link { + color: #7b519d; } + .jssocials-share-viber .jssocials-share-link .jssocials-share-label { + color: #7b519d; } + .jssocials-share-viber .jssocials-share-link:hover, .jssocials-share-viber .jssocials-share-link:focus, .jssocials-share-viber .jssocials-share-link:active { + color: #61407b; } + .jssocials-share-viber .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-viber .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-viber .jssocials-share-link:active .jssocials-share-label { + color: #61407b; } + +.jssocials-share-pocket .jssocials-share-link { + color: #ef4056; } + .jssocials-share-pocket .jssocials-share-link .jssocials-share-label { + color: #ef4056; } + .jssocials-share-pocket .jssocials-share-link:hover, .jssocials-share-pocket .jssocials-share-link:focus, .jssocials-share-pocket .jssocials-share-link:active { + color: #e9132e; } + .jssocials-share-pocket .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-pocket .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-pocket .jssocials-share-link:active .jssocials-share-label { + color: #e9132e; } + +.jssocials-share-messenger .jssocials-share-link { + color: #0084ff; } + .jssocials-share-messenger .jssocials-share-link .jssocials-share-label { + color: #0084ff; } + .jssocials-share-messenger .jssocials-share-link:hover, .jssocials-share-messenger .jssocials-share-link:focus, .jssocials-share-messenger .jssocials-share-link:active { + color: #006acc; } + .jssocials-share-messenger .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-messenger .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-messenger .jssocials-share-link:active .jssocials-share-label { + color: #006acc; } + +.jssocials-share-vkontakte .jssocials-share-link { + color: #45668e; } + .jssocials-share-vkontakte .jssocials-share-link .jssocials-share-label { + color: #45668e; } + .jssocials-share-vkontakte .jssocials-share-link:hover, .jssocials-share-vkontakte .jssocials-share-link:focus, .jssocials-share-vkontakte .jssocials-share-link:active { + color: #344d6c; } + .jssocials-share-vkontakte .jssocials-share-link:hover .jssocials-share-label, .jssocials-share-vkontakte .jssocials-share-link:focus .jssocials-share-label, .jssocials-share-vkontakte .jssocials-share-link:active .jssocials-share-label { + color: #344d6c; } + +.jssocials-share-link { + -webkit-transition: color 200ms ease-in-out; + transition: color 200ms ease-in-out; } + .jssocials-share-link.jssocials-share-link-count .jssocials-share-count { + font-size: .5em; } + +.jssocials-share-label { + font-size: 0.8em; + color: #444; + -webkit-transition: color 200ms ease-in-out; + transition: color 200ms ease-in-out; } + +.jssocials-share-count-box { + margin-left: 0.3em; + border: 1px solid #efefef; + border-radius: 0.3em; } + .jssocials-share-count-box .jssocials-share-count { + line-height: 1.8em; + font-size: 0.8em; + color: #444; } diff --git a/previews/PR609/2018/assets/css/jssocials.css b/previews/PR609/2018/assets/css/jssocials.css new file mode 100644 index 000000000..784755255 --- /dev/null +++ b/previews/PR609/2018/assets/css/jssocials.css @@ -0,0 +1,56 @@ +.jssocials-shares { + margin: 0.2em 0; } + +.jssocials-shares * { + box-sizing: border-box; } + +.jssocials-share { + display: inline-block; + vertical-align: top; + margin: 0.3em 0.6em 0.3em 0; } + +.jssocials-share:last-child { + margin-right: 0; } + +.jssocials-share-logo { + width: 1em; + vertical-align: middle; + font-size: 1.5em; } + +img.jssocials-share-logo { + width: auto; + height: 1em; } + +.jssocials-share-link { + display: inline-block; + text-align: center; + text-decoration: none; + line-height: 1; } + .jssocials-share-link.jssocials-share-link-count { + padding-top: .2em; } + .jssocials-share-link.jssocials-share-link-count .jssocials-share-count { + display: block; + font-size: .6em; + margin: 0 -.5em -.8em -.5em; } + .jssocials-share-link.jssocials-share-no-count { + padding-top: .5em; } + .jssocials-share-link.jssocials-share-no-count .jssocials-share-count { + height: 1em; } + +.jssocials-share-label { + padding-left: 0.3em; + vertical-align: middle; } + +.jssocials-share-count-box { + display: inline-block; + height: 1.5em; + padding: 0 0.3em; + line-height: 1; + vertical-align: middle; + cursor: default; } + .jssocials-share-count-box.jssocials-share-no-count { + display: none; } + +.jssocials-share-count { + line-height: 1.5em; + vertical-align: middle; } diff --git a/previews/PR609/2018/assets/css/reset.css b/previews/PR609/2018/assets/css/reset.css new file mode 100644 index 000000000..85af6570b --- /dev/null +++ b/previews/PR609/2018/assets/css/reset.css @@ -0,0 +1,38 @@ + +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/previews/PR609/2018/assets/css/style.css b/previews/PR609/2018/assets/css/style.css new file mode 100644 index 000000000..96fd415e1 --- /dev/null +++ b/previews/PR609/2018/assets/css/style.css @@ -0,0 +1,618 @@ +html { + color: #393333; +} +a { + text-decoration: none; +} + +a { + color: #9d253d; +} + +h1 { + font-size: 32px; + margin-bottom: 12px; + line-height: 48px; + font-weight: bold; + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + +h2 { + font-size: 32px; + line-height: 40px; + margin-bottom: 16px; + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + +h3 { + font-size: 24px; + line-height: 40px; + margin-bottom: 16px; + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + +h1,h2,h3,h4 { + color: #b07950; +} +.link-color-inherit a, a.link-color-inherit { + color: inherit; +} +.u-slab { + font-family: "Roboto Slab"; +} + +.u-futura { + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + + +.banner-bg { + min-height: 384px; + background-size: cover; + -moz-background-size: cover; + background-repeat: no-repeat; + background-position: top; +} + +.light-button { + background: #ffffff; + border: 1px #888 solid; + color: #222; +} +.red-button { + background: #cb3c33; + border: none; + color: #000; +} + +.bg-blue { + background-color: #426e93; +} + +.bg-black { + background-color: #111; +} +.bg-white { + background-color: #fff; +} + +.bg-light-gray { + background-color: #ededed; +} +.bg-purple { + background: #934845; +} +.text-gray { + color: #575757; +} +.text-light-gray { + color: #cbd4db; +} +.border-gray { + border-color: #cbd4db !important; +} + +.text-dark-gray { + color: #1b1b1b; +} +.text-white { + color: #ffffff; +} +.bg-dark-gray { + background-color: #1b1b1b; +} +.u-fullwidth { + width: 98vw; +} + +/* //.active { +// border-top: solid #000 4px; +// padding-top: 12px; +// color: #000 !important; +// font-weight: bold; +//} */ + +.text-pad { + padding: 0.333em 1em; +} + +.text-red { + color: #d93939; +} + +.bg-light-blue { + background-color: #61d4e0; +} + +.text-medium-blue { + color: #426e93 +} + +.bg-dark-blue { + background-color: #27465c; +} +.text-light-blue { + color: #6586a1; +} + +.bg-white { + background-color: #ffffff; +} + +.text-overflow-fade { + overflow: hidden; +} + +.text-blue { + color: #416e93; +} + +.long-form h2 { + font-size: 24px; + font-family: 'futura-pt'; + /* font-family: 'Nunito', sans-serif; */ +} + +pre { + white-space: pre-wrap; /* Since CSS 2.1 */ + white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ + padding: 1em; + font-size: 14px; + border-radius: 7px; + background: #f7f7f8; + border: #ebebeb 1px solid; +} +pre, code { + font-family: monospace; + background: #f7f7f8; + border: #ebebeb 1px solid; +} +pre > code { + background: inherit; + border: none; +} + +code { + padding: 0.1em 0.5em; + border-radius: 4px; +} + +ul, ol { + padding-left: 1em; +} + +.u-borders { + border: 1px solid #fff; +} +.u-hborders { + border-top: 1px solid #fff; + border-bottom: 1px solid #fff; +} +.u-vborders { + border-right: 1px solid #fff; + border-left: 1px solid #fff; +} + +.u-border-bottom { + border-bottom: 1px solid #fff; +} +.u-border-collapse { + border-collapse:collapse; +} +.u-hpad { + padding-left: 16px; + padding-right: 17px; +} + +.avatar-circle { + height: 144px; + width: 144px; + border-radius:80px; + border: 8px solid #fff; + overflow: hidden; +} +.avatar-circle-talks { + position: relative; + left: 8pt; + top: -2em; + width: 70pt; + border-radius: 60px; + border: 1px solid #888888; + overflow: hidden; + background-color: #fff; +} +.avatar-talks { + color: #bf382e; + font-size: 12pt; + position: relative; + top: -35%; + min-height: 25pt; + max-height: 40pt; +} +.headerimg-talks { + position: relative; + width: 100%; + height:20%; +} +.u-fit-width { + width: 100%; + height: auto; +} + +.avatar-img { + min-height: 144px; + min-width: 144px; + max-height: 144px; + max-width: 144px; + height: auto; + width: auto; +} + +.border-white { border-color: white} +.bg-black { background-color: #000000} +.bg-gray-1 { background-color: #282828} +.bg-gray-2 { background-color: #505050} +.bg-gray-3 { background-color: #6E6E6E} +.bg-gray-4 { background-color: #969696} +.bg-white { background-color: #ffffff}.text-black { color: #000000} +.text-gray-1 { color: #282828} +.text-gray-2 { color: #505050} +.text-gray-3 { color: #6E6E6E} +.text-gray-4 { color: #969696} +.text-white { color: #ffffff}.border-black { border-color: #000000} +.border-gray-1 { border-color: #282828} +.border-gray-2 { border-color: #505050} +.border-gray-3 { border-color: #6E6E6E} +.border-gray-4 { border-color: #969696} +.border-white { border-color: #ffffff} + +.u-pad-2 { + padding: 32px; +} + +.long-form td, th { + padding: 0.5em; + border: #cfcfcf solid 1px; +} +.long-form th { + font-weight: bold; +} + +.banner-gradient { + background: radial-gradient(circle at bottom right, #e7a248, #e74248, #9d253d); /* Standard syntax */ + background-color: #e74248; +} + +.text-yellow { + color: #f0b980 +} +.text-shadow { + text-shadow: 2px 2px 2px #7d253d; + +} +.bg-yellow { + background-color: #f0b980 +} +.text-maroon { + color: #9d253d; +} +.bg-maroon { + background-color: #9d253d; +} + +/* new design */ +.previous-editions-menu { + font-size: 11pt; +} +.previous-editions-menu a { + color: #000; +} + +.main-heading { + background-repeat: no-repeat; + background-position: center bottom; + background-size: 1300pt auto; +} + +@media (min-width: 0px) { + .main-heading { + background-image: url('../img/london_skyline-gradient.jpg'); + } +} + +@media (min-width: 480px) { + .main-heading { + background-image: url('../img/london_skyline-800.jpg'); + } +} + +@media (min-width: 768px) { + .main-heading { + background-image: url('../img/london_skyline-800.jpg'); + } +} + +@media (min-width: 992px) { + .main-heading { + background-image: url('../img/london_skyline-1200.jpg'); + } +} + +@media (min-width: 1200px) { + .main-heading { + background-image: url('../img/london_skyline.jpg'); + } +} + +.main-heading h1 { + font-size: 40pt; + font-weight: 900; + color: #bf382e; + margin-top: 20pt; +} + +.main-heading h3 { + font-size: 16pt; + color: #6581df; + line-height: 120%; +} + +.heading-copy { + +} + +.heading-copy .main-title { + +} + +.main-menu { + background-color: #bf382e; +} +.main-menu .navbar .navbar-nav a.nav-link { + color: #fff; +} + +.grey-menu { + background-color: #ededed; +} +.grey-menu .navbar .navbar-nav a.nav-link { + color: #bf382e; +} + +.btn { + color: #bf382e; + background-color: #fff; + border: 1px solid #bf382e; + border-radius: 0 +} +.btn:active{ + background-color: #bf382e; +} + +.btn:hover, .btn:focus{ + color: #333; +} + +.btn.active { + color: #fff; + background-color: #bf382e; +} + +.masonry .grid-item { + /* float: left; */ + /* width: 47%; */ + /* height: auto; */ + /* margin-right: 10pt; */ + /* margin-bottom: 10pt; */ +} + +.content-box { + padding: 20pt; + color: #fff; + font-size: 14pt; + font-family: "futura-pt", sans-serif; +} +.content-box h2 { + font-size: 22pt; + color: #fff; +} +.content-box a { + text-decoration: underline; + color: #f0b980 +} + +.content-box-talk { + padding: 12pt; + color: #333333; + font-size: 14pt; + font-family: "futura-pt", sans-serif; + /* font-family: 'Nunito', sans-serif; */ +} +.content-box-talk h2 { + font-size: 22pt; + color: #bf382e; + font-family: "futura-pt", sans-serif; + /* font-family: 'Nunito', sans-serif; */ +} +.content-box-talk p { + position: relative; + color: #333333; + font-size: 14pt; +} +.content-box-talk a { + color: #bf382e; + font-size: 12pt; +} +.content-box .content-box-talk a { + text-decoration: underline; + color: #f0b980; + font-size: 14pt; +} +.header-talks { + color: #bf382e; + font-size: 12pt; + width: 100%; + height: 5%; +} +.speaker-talks { + font-size: 14pt; + color: #333333; + font-weight: 700; + display: block; + margin-left: 90pt; + margin-top: -80pt; + max-width: 80%; +} +.content-box .speaker-talks { + color: #fff; + font-size: 18pt; + margin-left: 90pt; +} +.content-box .speaker-talks .affiliation { + font-size: 16px; +} +.content-box .content-box-talk p { + color: #fff; +} +.red-box { + background-color: #bf382e; +} +/* .red-box.content-box h2 { + text-decoration: underline #ee6856; + text-decoration-skip-ink: auto; + -webkit-text-decoration-skip-ink: auto; +} */ +.white-box { + background-color: #ffffff; + border: 1px solid #aaa; + padding: 10pt; +} +.light-blue-box { + background-color: #6581df; +} +.green-box { + background-color: #64ac58; +} +.dark-blue-box { + background-color: #3857bd; +} +.purple-box { + background-color: #854c9e; +} +.dark-purple-box { + background-color: #553d6b; +} +.dark-green-box { + background-color: #607d4f; +} +.light-red-box { + background-color: #ee6856; +} + +.content-box-talk h2 a.talk-title { + font-size: 22pt; + color: #bf382e; + font-family: "futura-pt", sans-serif; + /* font-family: 'Nunito', sans-serif; */ + text-decoration: none; +} + +footer { + background-color: #232323; + color: #fff; +} +footer a { + color: #fff; +} +footer a:hover { + color: #e7a248; +} + +@media (min-width: 768px) { + .navbar-nav { + float:none; + margin:0 auto; + display: block; + text-align: center; + } + + .navbar-nav > li { + display: inline-block; + float:none; + } +} + +#talks-filter a:hover { + background-color: #bf382e; + color: #fff; +} + +#talk .avatar-circle-talks { + position: relative; + left: 8pt; + width: 100pt; + border-radius: 90px; + border: 1px solid #888888; + overflow: hidden; + background-color: #fff; +} + +#talk .speaker-talks { + font-size: 14pt; + color: #333333; + font-weight: 700; + display: block; + margin-left: 120pt; + margin-top: -95pt; + max-width: 80%; +} + +p.affiliation { + font-weight: normal; + font-size: 10pt; + margin-bottom: 0; + min-height: 20pt; +} + +#talk p.affiliation { + font-weight: normal; + font-size: 12pt; + min-height: 20pt; +} + +.back-link { + color: #bf382e; + text-decoration: none !important; + padding: 2pt; +} + +h1, h2, h3, h4, h5, h6 { + color: #bf382e; +} + +.grey-menu .navbar-nav li { + background-color: #ededed; +} + +.earlybird { + text-align: center; + background-color: cornsilk; +} + +.earlybird a { + color: #bf382e; + text-decoration: none; +} + +.sponsors { overflow: auto; } +.sponsors dl { float: left; text-align: left; overflow: auto; vertical-align: middle; } +.sponsors dt { color: #90908f; line-height: 110%; padding-right: 0.5em; } +.sponsors dt, .sponsors dd { float: left; width: 110px; margin: 0; padding: 0; display: inline-block; height: 50px; overflow: auto; } +.sponsors dd { margin-right: 18px; } \ No newline at end of file diff --git a/previews/PR609/2018/assets/css/type-scale.css b/previews/PR609/2018/assets/css/type-scale.css new file mode 100644 index 000000000..a1290cad0 --- /dev/null +++ b/previews/PR609/2018/assets/css/type-scale.css @@ -0,0 +1,48 @@ + + +p, blockquote, pre, ul, ol { + line-height: 1.75; + margin-bottom: 24px; +} +blockquote { + padding-right: 2em; + padding-left: 2em; +} + +strong, .u-bold { + font-weight: bold; +} + +ul { + padding-left: 2em; + margin-bottom: 16px; +} + + +html,body { + font-family: 'Noto Sans', sans-serif; + font-weight: 400; + font-size: 16px; + line-height: 32px; +} + +.u-body-extra-small { font-size: 14px; line-height:24px } +.u-body-small { font-size: 16px; line-height:24px } +.u-body-regular { font-size: 16px; line-height:32px } +.u-body-medium { font-size: 18px; line-height:30px } +.u-body-large { font-size: 20px; line-height:34px } + +.u-highlight-extra-large { font-size: 26px; line-height:38px } +.u-highlight-large { font-size: 24px; line-height:36px } +.u-highlight-medium { font-size: 22px; line-height:34px } +.u-highlight-small { font-size: 18px; line-height:28px } + +.u-title-extra-large { font-size: 100px; line-height: 128px } +.u-title-large { font-size: 52px; line-height: 64px } +.u-title-medium { font-size: 36px; line-height:44px } +.u-title-regular { font-size: 34px; line-height:42px } +.u-title-small { font-size: 28px; line-height:34px } +.u-title-extra-small { font-size: 18px; line-height:24px } + +.u-subline { font-size: 12px; line-height:24px } + diff --git a/previews/PR609/2018/assets/css/util.css b/previews/PR609/2018/assets/css/util.css new file mode 100644 index 000000000..0d6f808a9 --- /dev/null +++ b/previews/PR609/2018/assets/css/util.css @@ -0,0 +1,186 @@ +.u-border-bottom { + border-bottom: 1px solid #bbb; +} + +.u-uppercase { + text-transform: uppercase; +} + +.u-center { + margin: 0 auto !important; +} + +.u-space-around { + justify-content: space-around; +} + +.u-space-between { + justify-content: space-between; +} +.u-relative { + position: relative; +} + +.u-flex { + display: flex; +} + +.u-flex-grow { + flex-grow: 1.0; +} + +.u-hbox { + display: flex; + flex-direction: row; + flex-flow: row wrap; +} + +.u-vbox { + display: flex; + flex-direction: column; +} + +.u-half-width { + width: 45%; + margin-right: 2em; +} +.u-items-end { + align-items: flex-end; +} + +.u-justify-end { + justify-content: flex-end; +} +.u-items-center { + align-items: center; +} +.u-items-stretch { + align-items: stretch; +} + +.u-items-start { + align-items: flex-start; +} +.u-justify-center { + justify-content: center; +} +.u-justify-space-between { + justify-content: space-between; +} + +.u-hskip-half { width: 0.5rem; height:0; } +.u-hskip { width: 1rem; height:0; } +.u-hskip-2 { width: 2rem; height:0; } +.u-hskip-3 { width: 3rem; height:0; } +.u-vskip-half { height: 0.5rem; width:0; } +.u-vskip { height: 1rem; width:0; } +.u-vskip-2 { height: 2rem; width:0; } +.u-vskip-3 { height: 3rem; width:0; } + +.u-button { + color: #fff; + padding: 0.333em 1em; + outline: none; + border-radius: 4px; + min-width: 128px; + text-align: center; + background: #272822; +} +.u-button:hover { + background: #555; + color: #fff; +} + +.u-input { + border: none; + color: #444; + padding: 0.333em 1em; + border-radius: 4px; + min-width: 128px; + outline:none; +} + +.u-regular { + font-weight: 400; +} + +.u-extra-light { + font-weight: 200; +} +.u-thin { + font-weight: 300; +} + +.u-text-center { + text-align: center; +} + +.u-text-right { + text-align: right; +} + +.u-display-none { + display: none; +} + +.u-bold { + font-weight: bold; +} +.u-italic { + font-style: italic; +} + +.u-gray-3 { + color: #333; +} + +.u-bordered { + border: 1px solid #888; +} + +.u-flip { + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; +} + +.u-hline { + height:0; + border-bottom: 1px solid #fff; + width: 100%; +} + +.u-vline { + width:0; + border-right: 1px solid #fff; + align-self: stretch; +} +.u-self-stretch { + align-self: stretch; +} + +.u-self-end { + align-self: flex-end; +} + +.u-fit-background { + background-size: cover; + -moz-background-size: cover; + background-repeat: no-repeat; + background-position: center center; +} + +.u-relative { + position: relative; +} + +.u-bottom { + position: absolute; + bottom: 0; +} +.u-zero-margins { + margin: 0 !important; +} diff --git a/previews/PR609/2018/assets/img/JuliaCon-NG.html b/previews/PR609/2018/assets/img/JuliaCon-NG.html new file mode 100644 index 000000000..ac9c11000 --- /dev/null +++ b/previews/PR609/2018/assets/img/JuliaCon-NG.html @@ -0,0 +1,88 @@ + + + + + + Page not found · GitHub Pages + + + + +
+ +

404

+

File not found

+ +

+ The site configured at this address does not + contain the requested file. +

+ +

+ If this is your site, make sure that the filename case matches the URL.
+ For root URLs (like http://example.com/) you must provide an + index.html file. +

+ +

+ Read the full documentation + for more information about using GitHub Pages. +

+ +
+ GitHub Status — + @githubstatus +
+ + + + +
+ + diff --git a/previews/PR609/2018/assets/img/gilstrang.jpg b/previews/PR609/2018/assets/img/gilstrang.jpg new file mode 100644 index 000000000..c1f4fd941 Binary files /dev/null and b/previews/PR609/2018/assets/img/gilstrang.jpg differ diff --git a/previews/PR609/2018/assets/img/julia-logo-dots.png b/previews/PR609/2018/assets/img/julia-logo-dots.png new file mode 100644 index 000000000..a520d672d Binary files /dev/null and b/previews/PR609/2018/assets/img/julia-logo-dots.png differ diff --git a/previews/PR609/2018/assets/img/juliatocat.png b/previews/PR609/2018/assets/img/juliatocat.png new file mode 100644 index 000000000..79bb3a92b Binary files /dev/null and b/previews/PR609/2018/assets/img/juliatocat.png differ diff --git a/previews/PR609/2018/assets/img/logo.svg b/previews/PR609/2018/assets/img/logo.svg new file mode 100644 index 000000000..2f3a89711 --- /dev/null +++ b/previews/PR609/2018/assets/img/logo.svg @@ -0,0 +1,172 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/assets/img/london_skyline-1200.jpg b/previews/PR609/2018/assets/img/london_skyline-1200.jpg new file mode 100644 index 000000000..1ad283899 Binary files /dev/null and b/previews/PR609/2018/assets/img/london_skyline-1200.jpg differ diff --git a/previews/PR609/2018/assets/img/london_skyline-800.jpg b/previews/PR609/2018/assets/img/london_skyline-800.jpg new file mode 100644 index 000000000..2d014891a Binary files /dev/null and b/previews/PR609/2018/assets/img/london_skyline-800.jpg differ diff --git a/previews/PR609/2018/assets/img/london_skyline-gradient.jpg b/previews/PR609/2018/assets/img/london_skyline-gradient.jpg new file mode 100644 index 000000000..68b8dfa83 Binary files /dev/null and b/previews/PR609/2018/assets/img/london_skyline-gradient.jpg differ diff --git a/previews/PR609/2018/assets/img/london_skyline.jpg b/previews/PR609/2018/assets/img/london_skyline.jpg new file mode 100644 index 000000000..2f8ab5168 Binary files /dev/null and b/previews/PR609/2018/assets/img/london_skyline.jpg differ diff --git a/previews/PR609/2018/assets/img/mike.png b/previews/PR609/2018/assets/img/mike.png new file mode 100644 index 000000000..d1d9be4b4 Binary files /dev/null and b/previews/PR609/2018/assets/img/mike.png differ diff --git a/previews/PR609/2018/assets/img/nickhigham.jpg b/previews/PR609/2018/assets/img/nickhigham.jpg new file mode 100644 index 000000000..7d9255ea6 Binary files /dev/null and b/previews/PR609/2018/assets/img/nickhigham.jpg differ diff --git a/previews/PR609/2018/assets/img/sophiewilson.jpg b/previews/PR609/2018/assets/img/sophiewilson.jpg new file mode 100644 index 000000000..ba3172e31 Binary files /dev/null and b/previews/PR609/2018/assets/img/sophiewilson.jpg differ diff --git a/previews/PR609/2018/assets/img/sponsors/alanturing.png b/previews/PR609/2018/assets/img/sponsors/alanturing.png new file mode 100644 index 000000000..4cf5a2db7 Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/alanturing.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/amazon.png b/previews/PR609/2018/assets/img/sponsors/amazon.png new file mode 100644 index 000000000..bebb3d67e Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/amazon.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/capitalone.jpg b/previews/PR609/2018/assets/img/sponsors/capitalone.jpg new file mode 100644 index 000000000..3ad1478eb Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/capitalone.jpg differ diff --git a/previews/PR609/2018/assets/img/sponsors/conning.png b/previews/PR609/2018/assets/img/sponsors/conning.png new file mode 100644 index 000000000..86abccb8f Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/conning.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/evn.png b/previews/PR609/2018/assets/img/sponsors/evn.png new file mode 100644 index 000000000..2eded29fb Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/evn.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/gambit.png b/previews/PR609/2018/assets/img/sponsors/gambit.png new file mode 100644 index 000000000..078c04f2e Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/gambit.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/invenia.png b/previews/PR609/2018/assets/img/sponsors/invenia.png new file mode 100644 index 000000000..2a9f45037 Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/invenia.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/julia.png b/previews/PR609/2018/assets/img/sponsors/julia.png new file mode 100644 index 000000000..0ba66c47f Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/julia.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/maven.png b/previews/PR609/2018/assets/img/sponsors/maven.png new file mode 100644 index 000000000..fa0a98334 Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/maven.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/microsoft.png b/previews/PR609/2018/assets/img/sponsors/microsoft.png new file mode 100644 index 000000000..716a80d16 Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/microsoft.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/moore.jpg b/previews/PR609/2018/assets/img/sponsors/moore.jpg new file mode 100644 index 000000000..d6eb5756f Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/moore.jpg differ diff --git a/previews/PR609/2018/assets/img/sponsors/sarnoff.png b/previews/PR609/2018/assets/img/sponsors/sarnoff.png new file mode 100644 index 000000000..4e5ba771b Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/sarnoff.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/sloan.png b/previews/PR609/2018/assets/img/sponsors/sloan.png new file mode 100644 index 000000000..45926abd1 Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/sloan.png differ diff --git a/previews/PR609/2018/assets/img/sponsors/tangent.png b/previews/PR609/2018/assets/img/sponsors/tangent.png new file mode 100644 index 000000000..b2f2358db Binary files /dev/null and b/previews/PR609/2018/assets/img/sponsors/tangent.png differ diff --git a/previews/PR609/2018/assets/img/timthornham.jpg b/previews/PR609/2018/assets/img/timthornham.jpg new file mode 100644 index 000000000..11b8e1162 Binary files /dev/null and b/previews/PR609/2018/assets/img/timthornham.jpg differ diff --git a/previews/PR609/2018/assets/img/waving-flag.gif b/previews/PR609/2018/assets/img/waving-flag.gif new file mode 100644 index 000000000..07ab3101c Binary files /dev/null and b/previews/PR609/2018/assets/img/waving-flag.gif differ diff --git a/previews/PR609/2018/assets/js/jquery.sticky.js b/previews/PR609/2018/assets/js/jquery.sticky.js new file mode 100644 index 000000000..fe433c515 --- /dev/null +++ b/previews/PR609/2018/assets/js/jquery.sticky.js @@ -0,0 +1,288 @@ +// Sticky Plugin v1.0.4 for jQuery +// ============= +// Author: Anthony Garand +// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk) +// Improvements by Leonardo C. Daronco (daronco) +// Created: 02/14/2011 +// Date: 07/20/2015 +// Website: http://stickyjs.com/ +// Description: Makes an element on the page stick on the screen as you scroll +// It will only set the 'top' and 'position' of your element, you +// might need to adjust the width in some cases. + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + var slice = Array.prototype.slice; // save ref to original slice() + var splice = Array.prototype.splice; // save ref to original slice() + + var defaults = { + topSpacing: 0, + bottomSpacing: 0, + className: 'is-sticky', + wrapperClassName: 'sticky-wrapper', + center: false, + getWidthFrom: '', + widthFromWrapper: true, // works only when .getWidthFrom is empty + responsiveWidth: false, + zIndex: 'inherit' + }, + $window = $(window), + $document = $(document), + sticked = [], + windowHeight = $window.height(), + scroller = function() { + var scrollTop = $window.scrollTop(), + documentHeight = $document.height(), + dwh = documentHeight - windowHeight, + extra = (scrollTop > dwh) ? dwh - scrollTop : 0; + + for (var i = 0, l = sticked.length; i < l; i++) { + var s = sticked[i], + elementTop = s.stickyWrapper.offset().top, + etse = elementTop - s.topSpacing - extra; + + //update height in case of dynamic content + s.stickyWrapper.css('height', s.stickyElement.outerHeight()); + + if (scrollTop <= etse) { + if (s.currentTop !== null) { + s.stickyElement + .css({ + 'width': '', + 'position': '', + 'top': '', + 'z-index': '' + }); + s.stickyElement.parent().removeClass(s.className); + s.stickyElement.trigger('sticky-end', [s]); + s.currentTop = null; + } + } + else { + var newTop = documentHeight - s.stickyElement.outerHeight() + - s.topSpacing - s.bottomSpacing - scrollTop - extra; + if (newTop < 0) { + newTop = newTop + s.topSpacing; + } else { + newTop = s.topSpacing; + } + if (s.currentTop !== newTop) { + var newWidth; + if (s.getWidthFrom) { + padding = s.stickyElement.innerWidth() - s.stickyElement.width(); + newWidth = $(s.getWidthFrom).width() - padding || null; + } else if (s.widthFromWrapper) { + newWidth = s.stickyWrapper.width(); + } + if (newWidth == null) { + newWidth = s.stickyElement.width(); + } + s.stickyElement + .css('width', newWidth) + .css('position', 'fixed') + .css('top', newTop) + .css('z-index', s.zIndex); + + s.stickyElement.parent().addClass(s.className); + + if (s.currentTop === null) { + s.stickyElement.trigger('sticky-start', [s]); + } else { + // sticky is started but it have to be repositioned + s.stickyElement.trigger('sticky-update', [s]); + } + + if (s.currentTop === s.topSpacing && s.currentTop > newTop || s.currentTop === null && newTop < s.topSpacing) { + // just reached bottom || just started to stick but bottom is already reached + s.stickyElement.trigger('sticky-bottom-reached', [s]); + } else if(s.currentTop !== null && newTop === s.topSpacing && s.currentTop < newTop) { + // sticky is started && sticked at topSpacing && overflowing from top just finished + s.stickyElement.trigger('sticky-bottom-unreached', [s]); + } + + s.currentTop = newTop; + } + + // Check if sticky has reached end of container and stop sticking + var stickyWrapperContainer = s.stickyWrapper.parent(); + var unstick = (s.stickyElement.offset().top + s.stickyElement.outerHeight() >= stickyWrapperContainer.offset().top + stickyWrapperContainer.outerHeight()) && (s.stickyElement.offset().top <= s.topSpacing); + + if( unstick ) { + s.stickyElement + .css('position', 'absolute') + .css('top', '') + .css('bottom', 0) + .css('z-index', ''); + } else { + s.stickyElement + .css('position', 'fixed') + .css('top', newTop) + .css('bottom', '') + .css('z-index', s.zIndex); + } + } + } + }, + resizer = function() { + windowHeight = $window.height(); + + for (var i = 0, l = sticked.length; i < l; i++) { + var s = sticked[i]; + var newWidth = null; + if (s.getWidthFrom) { + if (s.responsiveWidth) { + newWidth = $(s.getWidthFrom).width(); + } + } else if(s.widthFromWrapper) { + newWidth = s.stickyWrapper.width(); + } + if (newWidth != null) { + s.stickyElement.css('width', newWidth); + } + } + }, + methods = { + init: function(options) { + return this.each(function() { + var o = $.extend({}, defaults, options); + var stickyElement = $(this); + + var stickyId = stickyElement.attr('id'); + var wrapperId = stickyId ? stickyId + '-' + defaults.wrapperClassName : defaults.wrapperClassName; + var wrapper = $('
') + .attr('id', wrapperId) + .addClass(o.wrapperClassName); + + stickyElement.wrapAll(function() { + if ($(this).parent("#" + wrapperId).length == 0) { + return wrapper; + } +}); + + var stickyWrapper = stickyElement.parent(); + + if (o.center) { + stickyWrapper.css({width:stickyElement.outerWidth(),marginLeft:"auto",marginRight:"auto"}); + } + + if (stickyElement.css("float") === "right") { + stickyElement.css({"float":"none"}).parent().css({"float":"right"}); + } + + o.stickyElement = stickyElement; + o.stickyWrapper = stickyWrapper; + o.currentTop = null; + + sticked.push(o); + + methods.setWrapperHeight(this); + methods.setupChangeListeners(this); + }); + }, + + setWrapperHeight: function(stickyElement) { + var element = $(stickyElement); + var stickyWrapper = element.parent(); + if (stickyWrapper) { + stickyWrapper.css('height', element.outerHeight()); + } + }, + + setupChangeListeners: function(stickyElement) { + if (window.MutationObserver) { + var mutationObserver = new window.MutationObserver(function(mutations) { + if (mutations[0].addedNodes.length || mutations[0].removedNodes.length) { + methods.setWrapperHeight(stickyElement); + } + }); + mutationObserver.observe(stickyElement, {subtree: true, childList: true}); + } else { + if (window.addEventListener) { + stickyElement.addEventListener('DOMNodeInserted', function() { + methods.setWrapperHeight(stickyElement); + }, false); + stickyElement.addEventListener('DOMNodeRemoved', function() { + methods.setWrapperHeight(stickyElement); + }, false); + } else if (window.attachEvent) { + stickyElement.attachEvent('onDOMNodeInserted', function() { + methods.setWrapperHeight(stickyElement); + }); + stickyElement.attachEvent('onDOMNodeRemoved', function() { + methods.setWrapperHeight(stickyElement); + }); + } + } + }, + update: scroller, + unstick: function(options) { + return this.each(function() { + var that = this; + var unstickyElement = $(that); + + var removeIdx = -1; + var i = sticked.length; + while (i-- > 0) { + if (sticked[i].stickyElement.get(0) === that) { + splice.call(sticked,i,1); + removeIdx = i; + } + } + if(removeIdx !== -1) { + unstickyElement.unwrap(); + unstickyElement + .css({ + 'width': '', + 'position': '', + 'top': '', + 'float': '', + 'z-index': '' + }) + ; + } + }); + } + }; + + // should be more efficient than using $window.scroll(scroller) and $window.resize(resizer): + if (window.addEventListener) { + window.addEventListener('scroll', scroller, false); + window.addEventListener('resize', resizer, false); + } else if (window.attachEvent) { + window.attachEvent('onscroll', scroller); + window.attachEvent('onresize', resizer); + } + + $.fn.sticky = function(method) { + if (methods[method]) { + return methods[method].apply(this, slice.call(arguments, 1)); + } else if (typeof method === 'object' || !method ) { + return methods.init.apply( this, arguments ); + } else { + $.error('Method ' + method + ' does not exist on jQuery.sticky'); + } + }; + + $.fn.unstick = function(method) { + if (methods[method]) { + return methods[method].apply(this, slice.call(arguments, 1)); + } else if (typeof method === 'object' || !method ) { + return methods.unstick.apply( this, arguments ); + } else { + $.error('Method ' + method + ' does not exist on jQuery.sticky'); + } + }; + $(function() { + setTimeout(scroller, 0); + }); +})); diff --git a/previews/PR609/2018/assets/js/jssocials.min.js b/previews/PR609/2018/assets/js/jssocials.min.js new file mode 100644 index 000000000..b2bc8e1b3 --- /dev/null +++ b/previews/PR609/2018/assets/js/jssocials.min.js @@ -0,0 +1,4 @@ +/*! jssocials - v1.4.0 - 2016-10-10 +* http://js-socials.com +* Copyright (c) 2016 Artem Tabalin; Licensed MIT */ +!function(a,b,c){function d(a,c){var d=b(a);d.data(f,this),this._$element=d,this.shares=[],this._init(c),this._render()}var e="JSSocials",f=e,g=function(a,c){return b.isFunction(a)?a.apply(c,b.makeArray(arguments).slice(2)):a},h=/(\.(jpeg|png|gif|bmp|svg)$|^data:image\/(jpeg|png|gif|bmp|svg\+xml);base64)/i,i=/(&?[a-zA-Z0-9]+=)?\{([a-zA-Z0-9]+)\}/g,j={G:1e9,M:1e6,K:1e3},k={};d.prototype={url:"",text:"",shareIn:"blank",showLabel:function(a){return this.showCount===!1?a>this.smallScreenWidth:a>=this.largeScreenWidth},showCount:function(a){return a<=this.smallScreenWidth?"inside":!0},smallScreenWidth:640,largeScreenWidth:1024,resizeTimeout:200,elementClass:"jssocials",sharesClass:"jssocials-shares",shareClass:"jssocials-share",shareButtonClass:"jssocials-share-button",shareLinkClass:"jssocials-share-link",shareLogoClass:"jssocials-share-logo",shareLabelClass:"jssocials-share-label",shareLinkCountClass:"jssocials-share-link-count",shareCountBoxClass:"jssocials-share-count-box",shareCountClass:"jssocials-share-count",shareZeroCountClass:"jssocials-share-no-count",_init:function(a){this._initDefaults(),b.extend(this,a),this._initShares(),this._attachWindowResizeCallback()},_initDefaults:function(){this.url=a.location.href,this.text=b.trim(b("meta[name=description]").attr("content")||b("title").text())},_initShares:function(){this.shares=b.map(this.shares,b.proxy(function(a){"string"==typeof a&&(a={share:a});var c=a.share&&k[a.share];if(!c&&!a.renderer)throw Error("Share '"+a.share+"' is not found");return b.extend({url:this.url,text:this.text},c,a)},this))},_attachWindowResizeCallback:function(){b(a).on("resize",b.proxy(this._windowResizeHandler,this))},_detachWindowResizeCallback:function(){b(a).off("resize",this._windowResizeHandler)},_windowResizeHandler:function(){(b.isFunction(this.showLabel)||b.isFunction(this.showCount))&&(a.clearTimeout(this._resizeTimer),this._resizeTimer=setTimeout(b.proxy(this.refresh,this),this.resizeTimeout))},_render:function(){this._clear(),this._defineOptionsByScreen(),this._$element.addClass(this.elementClass),this._$shares=b("
").addClass(this.sharesClass).appendTo(this._$element),this._renderShares()},_defineOptionsByScreen:function(){this._screenWidth=b(a).width(),this._showLabel=g(this.showLabel,this,this._screenWidth),this._showCount=g(this.showCount,this,this._screenWidth)},_renderShares:function(){b.each(this.shares,b.proxy(function(a,b){this._renderShare(b)},this))},_renderShare:function(a){var c;c=b.isFunction(a.renderer)?b(a.renderer()):this._createShare(a),c.addClass(this.shareClass).addClass(a.share?"jssocials-share-"+a.share:"").addClass(a.css).appendTo(this._$shares)},_createShare:function(a){var c=b("
"),d=this._createShareLink(a).appendTo(c);if(this._showCount){var e="inside"===this._showCount,f=e?d:b("
").addClass(this.shareCountBoxClass).appendTo(c);f.addClass(e?this.shareLinkCountClass:this.shareCountBoxClass),this._renderShareCount(a,f)}return c},_createShareLink:function(a){var c=this._getShareStrategy(a),d=c.call(a,{shareUrl:this._getShareUrl(a)});return d.addClass(this.shareLinkClass).append(this._createShareLogo(a)),this._showLabel&&d.append(this._createShareLabel(a)),b.each(this.on||{},function(c,e){b.isFunction(e)&&d.on(c,b.proxy(e,a))}),d},_getShareStrategy:function(a){var b=m[a.shareIn||this.shareIn];if(!b)throw Error("Share strategy '"+this.shareIn+"' not found");return b},_getShareUrl:function(a){var b=g(a.shareUrl,a);return this._formatShareUrl(b,a)},_createShareLogo:function(a){var c=a.logo,d=h.test(c)?b("").attr("src",a.logo):b("").addClass(c);return d.addClass(this.shareLogoClass),d},_createShareLabel:function(a){return b("").addClass(this.shareLabelClass).text(a.label)},_renderShareCount:function(a,c){var d=b("").addClass(this.shareCountClass);c.addClass(this.shareZeroCountClass).append(d),this._loadCount(a).done(b.proxy(function(a){a&&(c.removeClass(this.shareZeroCountClass),d.text(a))},this))},_loadCount:function(a){var c=b.Deferred(),d=this._getCountUrl(a);if(!d)return c.resolve(0).promise();var e=b.proxy(function(b){c.resolve(this._getCountValue(b,a))},this);return b.getJSON(d).done(e).fail(function(){b.get(d).done(e).fail(function(){c.resolve(0)})}),c.promise()},_getCountUrl:function(a){var b=g(a.countUrl,a);return this._formatShareUrl(b,a)},_getCountValue:function(a,c){var d=(b.isFunction(c.getCount)?c.getCount(a):a)||0;return"string"==typeof d?d:this._formatNumber(d)},_formatNumber:function(a){return b.each(j,function(b,c){return a>=c?(a=parseFloat((a/c).toFixed(2))+b,!1):void 0}),a},_formatShareUrl:function(b,c){return b.replace(i,function(b,d,e){var f=c[e]||"";return f?(d||"")+a.encodeURIComponent(f):""})},_clear:function(){a.clearTimeout(this._resizeTimer),this._$element.empty()},_passOptionToShares:function(a,c){var d=this.shares;b.each(["url","text"],function(e,f){f===a&&b.each(d,function(b,d){d[a]=c})})},_normalizeShare:function(a){return b.isNumeric(a)?this.shares[a]:"string"==typeof a?b.grep(this.shares,function(b){return b.share===a})[0]:a},refresh:function(){this._render()},destroy:function(){this._clear(),this._detachWindowResizeCallback(),this._$element.removeClass(this.elementClass).removeData(f)},option:function(a,b){return 1===arguments.length?this[a]:(this[a]=b,this._passOptionToShares(a,b),void this.refresh())},shareOption:function(a,b,c){return a=this._normalizeShare(a),2===arguments.length?a[b]:(a[b]=c,void this.refresh())}},b.fn.jsSocials=function(a){var e=b.makeArray(arguments),g=e.slice(1),h=this;return this.each(function(){var e,i=b(this),j=i.data(f);if(j)if("string"==typeof a){if(e=j[a].apply(j,g),e!==c&&e!==j)return h=e,!1}else j._detachWindowResizeCallback(),j._init(a),j._render();else new d(i,a)}),h};var l=function(a){var c;b.isPlainObject(a)?c=d.prototype:(c=k[a],a=arguments[1]||{}),b.extend(c,a)},m={popup:function(c){return b("").attr("href","#").on("click",function(){return a.open(c.shareUrl,null,"width=600, height=400, location=0, menubar=0, resizeable=0, scrollbars=0, status=0, titlebar=0, toolbar=0"),!1})},blank:function(a){return b("").attr({target:"_blank",href:a.shareUrl})},self:function(a){return b("").attr({target:"_self",href:a.shareUrl})}};a.jsSocials={Socials:d,shares:k,shareStrategies:m,setDefaults:l}}(window,jQuery),function(a,b,c){b.extend(c.shares,{email:{label:"E-mail",logo:"fa fa-at",shareUrl:"mailto:{to}?subject={text}&body={url}",countUrl:"",shareIn:"self"},twitter:{label:"Tweet",logo:"fa fa-twitter",shareUrl:"https://twitter.com/share?url={url}&text={text}&via={via}&hashtags={hashtags}",countUrl:""},facebook:{label:"Like",logo:"fa fa-facebook",shareUrl:"https://facebook.com/sharer/sharer.php?u={url}",countUrl:"https://graph.facebook.com/?id={url}",getCount:function(a){return a.share&&a.share.share_count||0}},vkontakte:{label:"Like",logo:"fa fa-vk",shareUrl:"https://vk.com/share.php?url={url}&title={title}&description={text}",countUrl:"https://vk.com/share.php?act=count&index=1&url={url}",getCount:function(a){return parseInt(a.slice(15,-2).split(", ")[1])}},googleplus:{label:"+1",logo:"fa fa-google",shareUrl:"https://plus.google.com/share?url={url}",countUrl:""},linkedin:{label:"Share",logo:"fa fa-linkedin",shareUrl:"https://www.linkedin.com/shareArticle?mini=true&url={url}",countUrl:"https://www.linkedin.com/countserv/count/share?format=jsonp&url={url}&callback=?",getCount:function(a){return a.count}},pinterest:{label:"Pin it",logo:"fa fa-pinterest",shareUrl:"https://pinterest.com/pin/create/bookmarklet/?media={media}&url={url}&description={text}",countUrl:"https://api.pinterest.com/v1/urls/count.json?&url={url}&callback=?",getCount:function(a){return a.count}},stumbleupon:{label:"Share",logo:"fa fa-stumbleupon",shareUrl:"http://www.stumbleupon.com/submit?url={url}&title={title}",countUrl:"https://cors-anywhere.herokuapp.com/https://www.stumbleupon.com/services/1.01/badge.getinfo?url={url}",getCount:function(a){return a.result.views}},telegram:{label:"Telegram",logo:"fa fa-paper-plane",shareUrl:"tg://msg?text={url} {text}",countUrl:"",shareIn:"self"},whatsapp:{label:"WhatsApp",logo:"fa fa-whatsapp",shareUrl:"whatsapp://send?text={url} {text}",countUrl:"",shareIn:"self"},line:{label:"LINE",logo:"fa fa-comment",shareUrl:"http://line.me/R/msg/text/?{text} {url}",countUrl:""},viber:{label:"Viber",logo:"fa fa-volume-control-phone",shareUrl:"viber://forward?text={url} {text}",countUrl:"",shareIn:"self"},pocket:{label:"Pocket",logo:"fa fa-get-pocket",shareUrl:"https://getpocket.com/save?url={url}&title={title}",countUrl:""},messenger:{label:"Share",logo:"fa fa-commenting",shareUrl:"fb-messenger://share?link={url}",countUrl:"",shareIn:"self"}})}(window,jQuery,window.jsSocials); \ No newline at end of file diff --git a/previews/PR609/2018/assets/js/juliacon.js b/previews/PR609/2018/assets/js/juliacon.js new file mode 100644 index 000000000..231c3e48e --- /dev/null +++ b/previews/PR609/2018/assets/js/juliacon.js @@ -0,0 +1,3 @@ +$(document).ready(function(){ + $('.main-menu').sticky({ "zIndex": 10000 }); +}); diff --git a/previews/PR609/2018/coc.html b/previews/PR609/2018/coc.html new file mode 100644 index 000000000..6644f0ffe --- /dev/null +++ b/previews/PR609/2018/coc.html @@ -0,0 +1,210 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + +
+ +
+ +

Code of Conduct

+

+ JuliaCon is dedicated to providing a harassment-free conference + experience for everyone, regardless of gender, gender identity and + expression, sexual orientation, disability, physical appearance, body + size, race, age, religion, text editor choice, or tabs vs spaces + preference. We do not tolerate harassment of conference participants + in any form. Offensive or sexual language and imagery is not + appropriate for any conference venue, including formal talks and + networking between sessions. Conference participants violating these + rules may be sanctioned or expelled from the conference (without a + refund) at the discretion of the conference organizers. + + Harassment includes, but is not limited to: +

    +
  • Offensive verbal comments related to gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, or religion +
  • Sexual images in public spaces +
  • Deliberate intimidation, stalking, or following +
  • Harassing photography or recording +
  • Sustained disruption of talks or other events +
  • Inappropriate physical contact +
  • Unwelcome sexual attention +
  • Advocating for, or encouraging, any of the above behavior +
+

+ +

Enforcement

+

+ Participants asked to stop any harassing behavior are expected to + comply immediately If a participant engages in harassing behavior, + event organizers retain the right to take any actions to keep the + event a welcoming environment for all participants. This includes + warning the offender or expulsion from the conference with no + refund. Event organizers may take action to redress anything designed + to, or with the clear impact of, disrupting the event or making the + environment hostile for any participants. We expect participants to + follow these rules at all event venues and event-related social + activities. We think people should follow these rules outside event + activities too! +

+ +

Reporting

+

+ If someone makes you or anyone else feel unsafe or unwelcome, please + report it as soon as possible. Harassment and other code of conduct + violations reduce the value of our event for everyone. We want you to + be happy at our event. People like you make our event a better + place. You can make a report either personally or anonymously. +

+ +

Personal Report

+

+ Please call or message this phone + number: +44 7920402037 or this email address + juliacon@julialang.org + (private group of the committee) + to make a personal report or to discuss any incident that may have + left you uncomfortable. This number and email address will be + continuously monitored for the duration of the event. + + When taking a personal report, our staff will ensure you are safe and + cannot be overheard. They may involve other event staff to ensure your + report is managed properly. Once safe, we'll ask you to tell us about + what happened. This can be upsetting, but we'll handle it as + respectfully as possible, and you can bring someone to support + you. You won't be asked to confront anyone and we won't tell anyone + who you are. + + Our team will be happy to help you contact hotel/venue security, local + law enforcement, local support services, provide escorts, or otherwise + assist you to feel safe for the duration of the event. We value your + attendance. +

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2018/index.html b/previews/PR609/2018/index.html new file mode 100644 index 000000000..6787f1cb8 --- /dev/null +++ b/previews/PR609/2018/index.html @@ -0,0 +1,470 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ +
+
+

JuliaCon is happening in London!

+
+

+ 7th to 11th August, 2018 at University College London
+ Roberts Engineering Building, Torrington Place, WC1E 7JE, London, UK +

+
+
+
+
+
+
+
+
+
+
+ + + + + + +
+ +
+
+ +
+
+

Live Streaming

+

+ All talks and workshops for JuliaCon 2018 are streaming live on Youtube. + Recordings of the talks can be seen on the JuliaCon 2018 playlist. +

+
+
+ +
+
+

Keynote speakers

+
+ +

+
+ + +
+ Nick Higham + +

+ + University of Manchester + +

+
+
+
+
+

Nick Higham is Royal Society Research Professor and Richardson Professor of Applied Mathematics at the + University of Manchester. His research is in numerical linear algebra + and ranges from theory to the development of algorithms and software, with a + focus on accuracy and stability. His book Functions of Matrices: + Theory and Computation (SIAM, 2008) was the first research monograph + on matrix functions and he is editor of the Princeton Companion to + Applied Mathematics (2015). He is a Fellow of the Royal Society, a + SIAM Fellow, and a Member of Academia Europaea. He is a keen expositor and + blogs at http://nickhigham.wordpress.com.

+

+
+

+ +
+
+ +

+
+ + +
+ Sophie Wilson + +

+ + Broadcom Inc. + +

+
+
+
+
+

Sophie Wilson is a Broadcom Fellow and Distinguished Engineer. + Her inventions helped to transform the computing landscape. + Sophie and Steve Furber’s development and codesign of the BBC Micro + processor led to their development of the ARM processor; + today the ARM processor powers virtually every mobile phone and tablet in the world. + By 1999, Sophie developed the Firepath SIMD LIW processor, + for which she led the design of the instruction set, and she co-founded Element 14, + which was later acquired by Broadcom. Sophie is a Fellow of the Royal Society, + a Fellow of the Royal Academy of Engineering, a Fellow of the British Computer Society, + a Fellow of the Women’s Engineering Society and an honorary Fellow of Selwyn College, Cambridge. + She has an honorary doctorate of science from Cambridge University.

+

+
+

+ +
+
+ +

+
+ + +
+ Tim Thornham + +

+ + Aviva plc. + +

+
+
+
+
+

Tim Thornham is the Financial Modelling Solutions Director at Aviva. + He is responsible for the development and maintenance of actuarial and + quantitative risk models used across the firm for financial and prudential reporting. + Aviva is the second largest UK insurer and one of Europe’s leading + providers of life and general insurance.

+ +

Tim is a qualified actuary and has worked in various roles in consultancies, +insurance companies and in an actuarial software company. Over his career, he +has specialised in actuarial modelling systems implementation, working with many +insurance companies around the world, over nearly 30 years in the industry.

+

+
+

+ +
+
+ +

+
+ + +
+ Gilbert Strang + +

+ + MIT + +

+
+
+
+
+

Gilbert Strang was an undergraduate at MIT and a Rhodes Scholar + at Balliol College, Oxford. His Ph.D. was from UCLA and since then he has taught at MIT. + He has been a Sloan Fellow and a Fairchild Scholar and is a Fellow of the + American Academy of Arts and Sciences. He is a Professor of Mathematics at MIT, + an Honorary Fellow of Balliol College, and a member of the National + Academy of Sciences. Professor Strang has published eleven books.

+ +

He was the President of SIAM during 1999 and 2000, and Chair of the Joint Policy +Board for Mathematics. He received the von Neumann Medal of the US Association +for Computational Mechanics, and the Henrici Prize for applied analysis. +The first Su Buchin Prize from the International Congress of Industrial and +Applied Mathematics, and the Haimo Prize from the Mathematical Association of +America, were awarded for his contributions to teaching around the world.

+

+
+

+ +
+
+ +

+
+ + +
+ Mike Croucher + +

+ + University of Leeds + +

+
+
+
+
+

Mike is Director of Research Computing at The University of Leeds and +an EPSRC Research Software Engineering Fellow. Previous roles include being +the co-founder of the RSE group at the University of Sheffield and Head of +Research Software Support in the faculty of Engineering and Physical Sciences +at The University of Manchester.

+ +

Mike’s entire career has been focused on one thing: +To enable researchers and educators to do computing better.

+ +

He is additionally a Principal Investigator on the EU funded OpenDreamKit +project which supports the open source mathematical software ecosystem, +Co-Investigator on the UK national RSE network and has had his name on a +bunch of other grants where he supported software stuff. +He blogs on www.walkingrandomly.com and tweets at @walkingrandomly

+

+
+

+ +
+
+ +
+
+

Julia Community Prize

+

+ The Julia Community Prize has been announced. Congratulations + to this years winners: Tim Besard, Katharine Hyatt, Chris Rackauckas and Elliot Saba. +

+
+ +
+
+

Committee

+
    +
  • Tim Holy (executive chair)
  • +
  • Avik Sengupta (finance chair)
  • +
  • Adrian Salceanu (web chair)
  • +
  • Kevin O'Brien (social media chair)
  • +
  • Pontus Stenetorp (local chair)
  • +
  • Jane Herriman (diversity chair)
  • +
  • Valentin Churavy (program chair)
  • +
  • James Fairbanks (program vice-chair)
  • +
  • Samuel Powell (local vice-chair)
  • +
  • Eric Davies
  • +
  • Mike Innes
  • +
  • Viral Shah
  • +
  • Tania Allard
  • +
+ +
+ +

Contributors

+
    +
  • Laurent Heirendt (web)
  • +
  • Sylvain Arreckx (web)
  • +
+ +

+ The JuliaCon committee is composed entirely of volunteer organizers + and can be reached at juliacon@julialang.org + with any questions or comments. +

+
+
+ +
+
+

Accommodation Guide

+

+ JuliaCon 2018 takes place at the Bloomsbury campus at UCL, which is located to the North of central London. + There are a large number of hotels, bed and breakfast, and student halls in close proximity. + Read our guide for an overview of the options and approximate pricing. +

+
+
+ +
+
+

Code of Conduct

+

+ JuliaCon is dedicated to providing a harassment-free conference + experience for everyone, regardless of gender, gender identity and + expression, sexual orientation, disability, physical appearance, body + size, race, age, religion, national and ethnic origin, + text editor choice, or tabs vs spaces preference. + We do not tolerate harassment of conference participants + in any form. Offensive or sexual language and imagery is not + appropriate for any conference venue, including formal talks and + networking between sessions. Conference participants violating these + rules may be sanctioned or expelled from the conference (without a + refund) at the discretion of the conference organizers. Our + anti-harassment policy can be found here. +

+
+
+ +
+
+

Venue

+

+ The main conference, including all talks and workshops, will be held at the University College, London. Roberts Engineering Building, Torrington Place, WC1E 7JE, London, UK. Here's a map: +

+ +

+ The Welcome Reception (sponsored by Invenia Labs) on the evening of the 8th will be held at the amazing riverside location of the + IET. 2 Savoy Place, WC2R 0BL. +

+

+ The hackathon on Saturday, the 11th, will take place in the heart of London's startup ecosystem in Shoreditch. + We will meet at the Microsoft Reactor, + 70 Wilson St, EC2A 2DB. +

+
+
+ +
+
+ + +
+ +
+
+
+
Platinum Sponsors
+
Sloan Foundation
+
+ +
+
Gold Sponsors
+
Microsoft
+
Maven
+
Invenia
+
Julia Computing
+
Capital One
+
Moore Foundation
+
+ +
+
Silver Sponsors
+
Gambit Research
+
Tangent Works
+
Amazon
+
Alan Turing Institute
+
Jeffrey Sarnoff
+
EVN
+
Conning
+
+
+
+ + + + + + + + + + + + + diff --git a/previews/PR609/2018/lightning_talks.html b/previews/PR609/2018/lightning_talks.html new file mode 100644 index 000000000..520e20098 --- /dev/null +++ b/previews/PR609/2018/lightning_talks.html @@ -0,0 +1,2131 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + +
+ +
+ +
+
+ + + + +
+ +
+
+ + + +
+
+
+
+ + + +
+ Harsha Byadarahalli Mahesh +

+ + + +

+
+
+
+
+
+ Lightning +

+ JuliaPro post 1.0 release +

+

JuliaPro is all set for a huge makeover post Julia 1.0 release, this talk is all about revealing the new features that will be included in the next generation of JuliaPro.

+
+
+
+ + +
+
+
+
+ + + +
+ S. Hessam M. Mehr +

+ + + +

+
+
+
+
+
+ Lightning +

+ Saving lives with Julia +

+

Thanks to Julia’s speed and expressiveness, our very small team (1 developer!) was quickly able to create an ecosystem of Julia libraries for state-of-the-art automatic analysis of drug mixtures using nuclear magnetic resonance (NMR) spectroscopy data.

+
+
+
+ + +
+
+
+
+ + + +
+ Meghan Ferrall-Fairbanks +

+ + + +

+
+
+
+
+
+ Lightning +

+ Unraveling lymphoma tumor microenvironment interactions with Julia +

+

Julia is my scientific computing programming language of choice to implement my mathematical model of Burkitt lymphoma, a highly aggressive disease plaguing children in Africa. This talk will appeal to people interested in solving Mathematical Biology applications with Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Josh Christie +

+ + Fugro + +

+
+
+
+
+
+ Lightning +

+ Understanding the real world: large-scale point cloud classification +

+

Fugro Roames provides automated extraction of geointelligence at scale. I’ll discuss how we are using Julia in our machine learning pipeline to identify buildings, roads, trees, and other objects in unstructured point cloud data, and how we deliver billions of points without human intervention.

+
+
+
+ + +
+
+
+
+ + + +
+ Diego Javier Zea +

+ + Sorbonne Université + +

+
+
+
+
+
+ Lightning +

+ MIToS.jl: Mutual Information Tools for protein Sequence analysis in the Julia language +

+

MIToS is a package developed for the analysis of protein sequence and structure. It allows fast and flexible calculation of conservation and coevolution scores and helps to analyze them. It has been used in a large dataset to understand evolutionary signals due to protein structures.

+
+
+
+ + +
+
+
+
+ + + +
+ Jeff Mills +

+ + + +

+
+
+
+
+
+ Lightning +

+ BayesTesting.jl: Bayesian Hypothesis Testing without Tears +

+

Bayestesting.jl is a Julia package that implements a new Bayesian hypothesis testing procedure that does not suffer from the problems inherent in both the standard Bayesian and frequentist approaches, and is easy to use in practice. Of interest to anyone who does any statistical hypothesis testing.

+
+
+
+ + +
+
+
+
+ + + +
+ Hayden Klok +

+ + + +

+
+
+
+
+
+ Lightning +

+ Teaching Statistics to the Masses with Julia +

+

In this talk I first present the hurdles and challenges associated with teaching a course with a large cohort using Julia while still in development. I then move on to present a variety of unique perspectives on the presentation of elementary statistical concepts via short and concise code snippets.

+
+
+
+ + +
+
+
+
+ + + +
+ Thijs van de Laar +

+ + Eindhoven University of Technology + +

+
+
+
+
+
+ Lightning +

+ ForneyLab.jl: a Julia Toolbox for Factor Graph-based Probabilistic Programming +

+

Scientific modeling concerns a continual search for better models for given data sets. This process can be elegantly captured in a Bayesian inference framework. ForneyLab enables largely automated scientific design loops by deriving fast, analytic algorithms for approximate Bayesian inference.

+
+
+
+ + +
+
+
+
+ + + +
+ Adrian Salceanu +

+ + + +

+
+
+
+
+
+ Lightning +

+ Tame your databases: SearchLight ORM +

+

Some people swear by them. Other, at them. But every language has one. Python has SQLAlchemy, Java has JOOQ, .NET has Entity, Ruby has ActiveRecord. Now Julia has SearchLight. The SearchLight ORM provides a powerful DSL which makes working with SQL databases more productive, secure and fun.

+
+
+
+ + +
+
+
+
+ + + +
+ Bogumił Kamiński +

+ + + +

+
+
+
+
+
+ Lightning +

+ Performance of Monte Carlo pricing of Asian options using multi-threading +

+

Multi-threading in Julia is an excellent feature to speed up Monte Carlo simulations, e.g. for Asian option pricing. However, if you are not careful how you generate pseudo random numbers you can get wrong results or have your code run slowly. I discuss how one can avoid both problems.

+
+
+
+ + +
+
+
+
+ + + +
+ Michael Krabbe Borregaard +

+ + U of Copenhagen + +

+
+
+
+
+
+ Lightning +

+ EcoJulia - towards a framework for ecological data analysis in Julia. +

+

Ecological analysis draws upon many different tools - geographic, phylogenetic, bioinformatic and simulation packages and a wide range of statistics. Most ecologists use R, but its package ecosystem is severely fragmented. EcoJulia is a framework to bring cohesive ecological data analysis to Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Tom Krauss +

+ + Epiq Solutions + +

+
+
+
+
+
+ Lightning +

+ How to design equiripple filters in Julia? +

+

Julia has great potential for signal processing, but it’s DSP.jl package is missing a fundamental filter design algorithm: “remez”, also known as the Parks-McClellan algorithm. I’m going to talk about the algorithm, review efforts to implement it in Julia, and compare it with what’s in Scipy.

+
+
+
+ + +
+
+
+
+ + + +
+ Carsten Bauer +

+ + University of Cologne + +

+
+
+
+
+
+ Lightning +

+ Julia for Physics: Quantum Monte Carlo +

+

I will share my experience on how Julia can improve numerical physics research. This will provide evidence for the claim that Julia can replace Fortran/C++ as workhorses in science. Also I’ll introduce MonteCarlo.jl, a new package for conducting (quantum) Monte Carlo simulations of physical systems.

+
+
+
+ + +
+
+
+
+ + + +
+ Thierry Dhorne +

+ + University of South Brittany + +

+
+
+
+
+ +
+
+ + +
+
+
+
+ + + +
+ Jacob Quinn +

+ + Domo + +

+
+
+
+
+
+ Lightning +

+ Domo + Julia: Learnings from scaling Julia up to process petabytes in production +

+

At Domo we see a LOT of data. Like, Fortune-500-sized automated pipelines of business-critical data kind of data. And now we’re turning to Julia to get smart about all that data. While deploying pre-1.0 may sound risky, Domo is no stranger to blazing trails in search of the right tool for the job.

+
+
+
+ + +
+
+
+
+ + + +
+ Ollin Demian Langle Chimal +

+ + Ministry of Social Development, Mexico + +

+
+
+
+
+
+ Lightning +

+ Complex Network Analysis of Political Data +

+

Political data is widely available in the internet but non-informative at all. I use Julia capabilities to extract the information from the Mexican Senate, transform it to a temporal network and get insights from the dynamics of the system.

+
+
+
+ + +
+
+
+
+ + + +
+ Eric Davies +

+ + + +

+
+
+
+
+
+ Lightning +

+ Memento: Logging for Systems and Applications +

+

Julia’s basic Logging package is sufficient for console logging but lacks the features necessary for monitoring large, multi-component systems and cloud applications. This talk will attempt to convince you to use Memento instead and demonstrate its strengths.

+
+
+
+ + +
+
+
+
+ + + +
+ Przemyslaw Szufel +

+ + Warsaw School of Economics + +

+
+
+
+
+
+ Lightning +

+ Performance of a distributed Julia simulation on an AWS Spot Fleet vs a Cray supercomputer +

+

Have you ever wondered what is faster - a supercomputer or a computational cluster in the AWS cloud? Do you want to know what is the easier option to run your massively parallel Julia program? In this presentation you will see how a massively parallel Julia scales with the cluster size increase.

+
+
+
+ + +
+
+
+
+ + + +
+ Matt Bauman +

+ + Julia Computing + +

+
+
+
+
+
+ Lightning +

+ Advocating for public policy change with Julia +

+

Harness your superpower for good and advocate for public policy issues that are important to you. I’ll tell the story about how I used a cell phone video and a Julia notebook to become part of a local movement for improved bike safety in the city of Pittsburgh.

+
+
+
+ + +
+
+
+
+ + + +
+ Aditya Puranik +

+ + The National Institute of Engineering, Mysore + +

+
+
+
+
+
+ Lightning +

+ Minecraft and Julia : A new way to build stuff and learn how to program +

+

Minecraft is arguably one of the most popular video games. The sandbox game is successful because it promotes building and creating from imagination. The PiCraft package allows manipulation of the Minecraft world. Programming in Julia we build amazing things like Mobius strips and Aztec Temples.

+
+
+
+ + +
+
+
+
+ + + +
+ Tim Holy +

+ + + +

+
+
+
+
+
+ Lightning +

+ Making the test-debug cycle more efficient +

+

Julia’s JIT-compilation needs to run on each restart, and the compilation delay can slow development of large projects. I will describe a package, Revise.jl, that allows you to do more testing and debugging in a single Julia session.

+
+
+
+ + +
+
+
+
+ + + +
+ Thomas Dickson +

+ + + +

+
+
+
+
+
+ Lightning +

+ Probabilistic modelling of long course sailing craft routing +

+

Sailing craft experience a range of environmental conditions in their voyages across the seas. I show how Julia can be used to model the weather, compare weather scenarios and optimise the route whilst avoiding the structural failure of the craft and to thus reduce cost and crew injury.

+
+
+
+ + +
+
+
+
+ + + +
+ Pietro Vertechi +

+ + + +

+
+
+
+
+
+ Lightning +

+ JuliaDBMeta and StatPlots: metaprogramming tools for manipulating and visualizing data +

+

JuliaDBMeta’s macros provide a simple syntax to select, filter, map, group and transform JuliaDB data tables for in memory or out-of-core processing. Plots based visualizations can be incorporated in the pipeline. InteractBase provides a graphical interface to define and compose these opera...

+
+
+
+ + +
+
+
+
+ + + +
+ Weijian Zhang +

+ + The University of Manchester + +

+
+
+
+
+
+ Lightning +

+ EvolvingGraphs.jl: Working with Time-dependent Networks in Julia +

+

Modern networks often store the relationship between entities with time stamps. It is difficult to model and study the evolving nature of such network using traditional graph software package. We present EvolvingGraphs.jl, a Julia software package for analysing time-dependent networks.

+
+
+
+ + +
+
+
+
+ + + +
+ Vaibhav Kumar Dixit +

+ + + +

+
+
+
+
+
+ Lightning +

+ An introduction to bayesian parameter estimation of differential equation models using DiffEqBayes.jl. +

+

Parameter estimation is the problem of accurately determining the parameters of a dynamic model. I plan to introduce DiffEqBayes.jl, a package for solving these problems using bayesian techniques.

+
+
+
+ + +
+
+
+
+ + + +
+ Giulio Martella +

+ + + +

+
+
+
+
+
+ Lightning +

+ LARLIB.jl: Solid Modeling in Julia +

+

Big data mass in fields like Bioengineering needs fast computations and simplified operations on complex geometric models. LARLIB.jl is a library for efficient solid modeling operations that works on non-manifold cases with a compact representation that permits fast computations and operations.

+
+
+
+ + +
+
+
+
+ + + +
+ Anna Kiefer +

+ + Kevala Analytics + +

+
+
+
+
+
+ Lightning +

+ Whale Recognition using a CNN in Julia +

+

For decades, conservationists have captured photographs of whales and their flukes (tails) in the open water. Can these images be used to accurately identify whale species? In this talk, see one implementation of an image recognition tool using Julia that may aid global whale conservation efforts.

+
+
+
+ + +
+
+
+
+ + + +
+ Simon Byrne +

+ + Julia Computing + +

+
+
+
+
+
+ Lightning +

+ 0.1 vs 1//10: How numbers are compared +

+

Have you ever wondered why 0.1 > 1//10, 1*pi < pi or 10^16+1 > 1e16+1? I will explain how equalities and inequalities in Julia work across different numeric types.

+
+
+
+ + +
+
+
+
+ + + +
+ Mayeul d'Avezac +

+ + + +

+
+
+
+
+
+ Lightning +

+ Julia is an R&D binding agent +

+

Research and development pulls together disparate tools and creates seamless product. Julia is an integrated R&D platform: it can command an instrument, e.g. an android phone, call existing C libraries, perform complex scripting and analysis. But best of all, it can unit-test the whole ordeal.

+
+
+
+ + +
+
+
+
+ + + +
+ Dr. Daniel Bachrathy +

+ + + +

+
+
+
+
+
+ Lightning +

+ Multi-Dimensional Bisection Method for finding the roots of non-linear implicit equation systems +

+

In the proposed talk an efficient root finding algorithm is presented, which can determine whole high-dimensional submanifolds (points, curves, surfaces…) of the roots of implicit non-linear equation systems, even in cases, where the number of unknowns surpasses the number of equations.

+
+
+
+ + +
+
+
+
+ + + +
+ Jeffrey Sarnoff +

+ + + +

+
+
+
+
+
+ Lightning +

+ Math with more good bits, times+dates with nanoseconds +

+

Julia’s built-in numeric and datetime types are very good. Sometimes we need better. We introduce SaferIntegers, ArbNumerics and TimesDates for nanosecond resolution.

+
+
+
+ + +
+
+
+
+ + + +
+ Kelly Shen +

+ + Etsy + +

+
+
+
+
+
+ Lightning +

+ How Etsy Handles “Peeking” in A/B Testing +

+

Etsy relies heavily on experimentation to improve our decision-making process. In this talk, I will present how Etsy handles data peeking and how we use Julia to help us investigate and assess the problem on our platform.

+
+
+
+ + +
+
+
+
+ + + +
+ Nishanth H. Kottary +

+ + Julia Computing, Inc. + +

+
+
+
+
+
+ Lightning +

+ JuliaBox: scalable apps, GPUs and courses +

+

Over the past year Julia Computing has released a new version of JuliaBox. It was designed to be not just a hosted notebook service but also to let users deploy, scale and share their julia code. This talk describes how we achieve this and other new features.

+
+
+
+ + +
+
+
+
+ + + +
+ Jesse Bettencourt +

+ + U of Toronto + +

+
+
+
+
+
+ Lightning +

+ Self-tuning Gradient Estimators through Higher-order Automatic Differentiation in Julia +

+

Recent work in machine learning and deep reinforcement learning uses self-tuning optimization methods which utilize higher-order gradients. Higher-order automatic gradients are challenging to implement correctly, even in Tensorflow and PyTorch. I show how to do this using Flux.jl.

+
+
+
+ + +
+
+
+
+ + + +
+ Torkel Loman +

+ + U of Cambridge + +

+
+
+
+
+
+ Lightning +

+ Efficient Modelling of Biochemical Reaction Networks +

+

Our new reaction reader tool is an attempt to automate the boring parts of biochemical modelling (transcribing equations). The user can now spend more time actually analysing those models! Also makes your code prettier.

+
+
+
+ + +
+
+
+
+ + + +
+ Scott Jones +

+ + Gandalf Software, Inc. + +

+
+
+
+
+
+ Lightning +

+ Enhanced String handling in Julia +

+

String performance is important in many areas, such as parsing text formats such as JSON, CSV, or bioinformatics data, for NLP (natural language processing), and for interfacing with other languages/libraries that use other encodings than UTF-8. This talk will discuss the JuliaString “ecosystem”.

+
+
+
+ + +
+
+
+
+ + + +
+ Martijn Visser +

+ + + +

+
+
+
+
+
+ Lightning +

+ Building a strong foundation for geospatial innovation +

+

This talk will showcase what is possible with the JuliaGeo related packages, with the aim to get you started if you want to do geospatial analysis in Julia. Making full use of the strengths of Julia, examples are shown of that would be either too slow or too much work in other languages.

+
+
+
+ + +
+
+
+
+ + + +
+ Niklas Korsbo +

+ + Cambridge University + +

+
+
+
+
+
+ Lightning +

+ Latexify.jl and how Julia's metaprogramming makes it useful. +

+

Latexify.jl allows you to create and render LaTeX code from not only simple types, but also arrays and even systems of equations. In this talk, I will introduce what Latexify.jl can do, how Julia’s metaprogramming makes it possible and how the underlying philosophy can be leveraged for other things.

+
+
+
+ + +
+
+
+
+ + + +
+ James Fairbanks +

+ + GTRI + +

+
+
+
+
+
+ Lightning +

+ The JuliaGraphs ecosystem: build fast -- don’t break things +

+

The JuliaGraphs ecosystem has expanded this year, with new innovations in abstract representations and modularity. We discuss these improvements, highlighting the effects of changes in Julia 0.6 and 0.7 which affected the design of the JuliaGraphs ecosystem.

+
+
+
+ + +
+
+
+
+ + + +
+ Uri Patish +

+ + + +

+
+
+
+
+
+ Lightning +

+ From Deep Neural Networks To Fully Adaptive Programs +

+

Deep neural networks can be highly useful. Nonetheless, some problems require structured programming elements such as variables, conditional execution, and loop clauses. We present a Julia framework that supports gradient based learning even when such programming elements are included in a model.

+
+
+
+ + +
+
+
+
+ + + +
+ Abhijith Chandraprabhu +

+ + Julia Computing + +

+
+
+
+
+
+ Lightning +

+ 500K - Providing training to 500K individuals across India in AI +

+

Julia Computing and EkStep have launched an initiative to train 500k individuals in the field of AI. Come hear how we’re designing the courses and delivery.

+
+
+
+ + +
+
+
+
+ + + +
+ Patrick Belliveau +

+ + + +

+
+
+
+
+
+ Lightning +

+ Large Scale Airborne Electromagnetic Geophysics in Julia +

+

My research group uses Julia to solve large-scale industrial inverse problems in geophysics. These are rich computational problems involving differential equations and optimization. I’ll explain how we’ve used Julia to make fast, modular and scalable production geophysical inversion code.

+
+
+
+ + +
+
+
+
+ + + +
+ Carlos Alberto da Costa Filho +

+ + University of Edinburgh + +

+
+
+
+
+
+ Lightning +

+ Julia and Geophysics: Rocking with C calls and Metaprogramming +

+

Can a shiny new language like Julia easily be added to a mature codebase? Yes it can! Come hear about my experience writing Julia code for Madagascar, an open-source software suite for geophysics. Be prepared for repeated abuse of ccall, metaprogramming and pipelines, but little geophysics (phew!).

+
+
+
+ + +
+
+
+
+ + + +
+ Vaska Dimitrova +

+ + + +

+
+
+
+
+
+ Lightning +

+ Optimization of a pumped-storage hydro power plant in Julia with SDDP Algorithm +

+

Optimal dispatch of pumped storage is an important mechanism when optimizing a portfolio of energy assets with regard to its exposure to the electricity market. We present a solution to this problem in Julia and compare its advantages to some existing application that we use in our everyday work.

+
+
+
+ + +
+
+
+
+ + + +
+ Alex Mellnik +

+ + + +

+
+
+
+
+
+ Lightning +

+ Showcasing Julia on the Web +

+

You just created an awesome new Julia package – congratulations! How can you show it off to potential users (many of whom may not have used Julia yet)? Create an online, interactive demo!

+
+
+
+ + +
+
+
+
+ + + +
+ Gael Forget +

+ + MIT + +

+
+
+
+
+
+ Lightning +

+ Bringing ocean, climate, and ecosystem modeling to Julia +

+

Earth systems are simulated using numerical models of increasing resolution that play a key role in predicting climate. This talk presents a Julia framework that will help educators and researchers leverage these models via an intuitive and scalable representation of gridded Earth variables.

+
+
+
+ + +
+
+
+
+ + + +
+ Carl Åkerlindh +

+ + Lund U + +

+
+
+
+
+
+ Lightning +

+ Fast derivative pricing in Julia +

+

Are you interested in high performance code that is also easy to use? This talk will showcase how to price exotic financial derivatives, without having to compromise between speed and code readability.

+
+
+
+ + +
+
+
+
+ + + +
+ Jacob Quinn +

+ + Domo + +

+
+
+
+
+
+ Lightning +

+ HTTP.jl: Progressing library for all your Julia web needs +

+

Client and server web interactions are at the heart of most modern applications, Julia and otherwise. Web APIs open doors for cross-language and service interoperability and HTTP.jl aims to provide a robust, modern foundation for Julia programs needing request or server capabilities.

+
+
+
+ + +
+
+
+
+ + + +
+ Simon Broda +

+ + U of Amsterdam + +

+
+
+
+
+
+ Lightning +

+ ARCH Models in Julia +

+

Volatility modeling lies at the heart of much of financial risk management. The workhorse model in this field is the GARCH model, along with its various extensions. The talk describes a package that the author is developing to bring these models to Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Yuri Vishnevsky +

+ + + +

+
+
+
+
+
+ Lightning +

+ Julia for Interactive Data Visualization: Adding Dynamic Behavior to Static Documents +

+

In this talk I introduce a new approach to authoring highly polished interactive data visualizations on the web with Julia. Such visualizations historically been difficult to create without writing custom Javascript.

+
+
+
+ + +
+
+
+
+ + + +
+ Wouter Heynderickx +

+ + + +

+
+
+
+
+
+ Lightning +

+ Systemic Model of Banking Originated Losses (SyMBOL) in Julia +

+

The need for speed: SyMBOL is a model that analyses bank failures. The core of SyMBOL is a Monte Carlo simulation with correlated random shocks and it was written in C. Given the parallel computing capabilities of Julia and a different setup, we were able to reduce the computation time by 50%.

+
+
+
+ + +
+
+
+
+ + + +
+ Paulito Palmes +

+ + IBM Dublin Research Lab + +

+
+
+
+
+
+ Lightning +

+ CombineML for Seamless Ensembling of Machine Learning Models from Scikit-learn, Caret, and Julia +

+

CombineML main feature is to provide a framework for seamless ensembling of existing machine learning implementations from scikitlearn, caret, and Julia. It supports the following ensembles: stack, voting, and best. It is a heterogeneous ensemble driven by a uniform machine learner API designed f...

+
+
+
+ + +
+
+
+
+ + + +
+ Jonathan Louis Kaplan +

+ + + +

+
+
+
+
+
+ Lightning +

+ RHEOS - Making mechanical testing more accessible with Julia +

+

Analyzing mechanical testing data can be tricky, especially for those conducting interdisciplinary research (e.g. biomechanics) who may not have in-house code. We are using Julia to develop an open source software package to make this process simpler and more reproducible.

+
+
+
+ + +
+
+
+
+ + + +
+ Hector Andrade Loarca +

+ + + +

+
+
+
+
+
+ Lightning +

+ LightFields.jl: Fast 3D image reconstruction for VR applications +

+

Virtual Reality plays the leading role on the new media revolution with Light Field reconstruction as a common technique for content generation.High industrial interests make this technique hard to understand and implement, I will present a novel method to reconstruct the depth of objects in images.

+
+
+
+ + +
+
+
+
+ + + +
+ Jane Herriman +

+ + Caltech/Lawrence Livermore National Lab + +

+
+
+
+
+
+ Lightning +

+ Making Julia inclusive and accessible +

+

How can we make Julia more inclusive of and accessible to new users from all backgrounds and experience levels? We want to create fantastic teaching materials that don’t assume a ton of prior knowledge. I’ll share what we’ve done so far to make Julia more accessible and how you can help!

+
+
+
+ + +
+
+
+
+ + + +
+ Patrick Kofod Mogensen +

+ + University of Copenhagen + +

+
+
+
+
+
+ Lightning +

+ Native Elementary Functions in Julia +

+

People doing numerical computing are greedy. They want results now and accurately, and we have been ready to accept loss of readability and extensibility to get it. As a result, the elementary functions we take for granted in paper math are often coded in low-level languages. We can do better.

+
+
+
+ + +
+
+
+
+ + + +
+ Demian Panigo and Pablo Gluzmann and Esteban Mocskos and Adán Mauri Ungaro and Valentin Mari +

+ + Universidad de Buenos Aires/CONICET and and + +

+
+
+
+
+
+ Lightning +

+ GSReg.jl: High Performance Computing in Econometrics. Let’s do it faster and simpler with Julia +

+

The objective of this talk is to introduce GSReg.jl, a new all-subset-regression package to perform High Performance Computing in econometrics using Julia. GSReg.jl runs 4 to 100 times faster than similar packages and comes with a simplified GUI to allow smooth-transitions for R and Stata users.

+
+
+
+ + +
+
+
+
+ + + +
+ Jacob Quinn +

+ + Domo + +

+
+
+
+
+
+ Lightning +

+ New in DataStreams.jl: Type flexibility, querying, and parallelism, oh my! +

+

What’s new in the data framework package powering some of the most popular data packages in Julia? Come learn about advancements in flexibly typed schemas, querying functionality directly integrated with IO, and automatic data transfer parallelism.

+
+
+
+ + +
+
+
+
+ + + +
+ Harrison Grodin +

+ + + +

+
+
+
+
+ +
+
+ + +
+
+
+
+ + + +
+ Jarvist Moore Frost +

+ + King's College London + +

+
+
+
+
+
+ Lightning +

+ Atomistic simulation with Julia +

+

Atomistic simulation needs custom models, to approximate through hard O(N!) scaling of the underlying physical equations. Julia is a natural language to express such physical abstractions in. I will show how you can contribute to materials research with Julia and a fistful of 1960s PhysRevs.

+
+
+
+ + +
+
+
+
+ + + +
+ Scott Thomas +

+ + + +

+
+
+
+
+
+ Lightning +

+ Julia-powered personalised mathematics homework +

+

Anyone who works in a technical field has heard something like this from family or friends: “Oh, I was never any good at maths at school.” My job is to set targeted, achievable mathematics homework so that no child ends up feeling this way. Let me tell you how I use Julia to do this.

+
+
+
+ + +
+
+
+
+ + + +
+ Bart Janssens +

+ + + +

+
+
+
+
+
+ Lightning +

+ Solving sparse linear systems with Trilinos.jl +

+

The Trilinos library features modern iterative solvers for large linear systems. Using the Tpetra library, it can exploit hybrid parallelism and GPUs. We present an overview of the current status of the package that makes this functionality available to Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Uri Patish +

+ + + +

+
+
+
+
+
+ Lightning +

+ Black-Box Combinatorial Optimization +

+

Highly parallelizable black box combinatorial optimization algorithm that only relies on function evaluations, and which returns locally optimal solutions with high probability.

+
+
+
+ + +
+
+
+
+ + + +
+ Frank Otto +

+ + University College London + +

+
+
+
+
+
+ Lightning +

+ Hierarchical Tensor Decompositions in Julia +

+

Julia’s high-level nature and speed helped me to implement an intricate algorithm for converting a set of high-dimensional data into a very compact representation, allowing me to efficiently solve real-world research problems.

+
+
+
+ + +
+
+
+
+ + + +
+ Jens Weibezahn +

+ + + +

+
+
+
+
+
+ Lightning +

+ Joulia.jl -- A Large-scale Spatial Open-source Electricity Sector Model Package +

+

With Joulia.jl we developed a package for electricity sector models in Julia, taking advantage of the possibilities to cover all steps of the modeling workflow from data pre-processing, over the algebraic modeling and solution up to the visualization of results in an open-source environment.

+
+
+
+ + +
+
+
+
+ + + +
+ Mauro Werder +

+ + + +

+
+
+
+
+
+ Lightning +

+ Parameters.jl: keyword constructors and default values for types +

+

Parameters.jl provides a macro to decorate type-definitions which adds keyword constructors and default values. When working with instances it has macros to unpack their fields. I will demo its core features, the resulting cleaner code patterns, and the improvements to code maintainability.

+
+
+
+ + +
+
+
+
+ + + +
+ Ján Dolinský +

+ + + +

+
+
+
+
+
+ Lightning +

+ Our Journey Through the Perils of AOT Compilation +

+

We develop TIM, a computational engine for large-scale forecasting in energy industry covering load, gas, solar and wind. We share our lessons learned when trying to do AOT compilation of TIM and deploying the binary in the cloud. We cover Linux and Windows scenarios.

+
+
+
+ + +
+
+
+
+ + + +
+ Tanmay Mohapatra +

+ + Julia Computing + +

+
+
+
+
+
+ Lightning +

+ A Scalable Scheduler Plugin For Dagger on JuliaRun +

+

Computational problems can often be represented as specific types of graphs known as DAGs. That allows an execution framework to execute parts in right order, schedule in parallel, and make optimal use of available resources. We present ideas on which we are building a scalable scheduler for Julia.

+
+
+
+ +
+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2018/posters.html b/previews/PR609/2018/posters.html new file mode 100644 index 000000000..d263e0df1 --- /dev/null +++ b/previews/PR609/2018/posters.html @@ -0,0 +1,652 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + +
+ +
+ +
+
+ + + + +
+ +
+
+ + + +
+
+
+
+ + + +
+ Henrik Sykora +

+ + Budapest University of Technology and Economics + +

+
+
+
+
+
+ Poster +

+ An effective method to investigate stochastic delayed systems using Julia +

+

Modelling of stochastic effects in engineering is limited not only by the few existing mathematical methods but also by their low effectivity and high complexity. An easy-to-use Julia package is presented to investigate stochastic linear delayed systems including control and machine-tool vibrations.

+
+
+
+ + +
+
+
+
+ + + +
+ Mathieu Besançon +

+ + GERAD, Montréal & INRIA Lille + +

+
+
+
+
+
+ Poster +

+ Bi-level optimization for consumption predictability in smart grids +

+

Increasing the proportion of renewable energy has become a priority for power grids, but their integration requires higher flexibility of consumption times. Using game theory and optimization, we design a framework allowing flexibility and privacy, while reducing costs for both consumer and supplier

+
+
+
+ + +
+
+
+
+ + + +
+ Mauro Werder +

+ + ETH Zurich, Switzerland + +

+
+
+
+
+
+ Poster +

+ BITE, a Baysian Ice Thickness Estimation model +

+

Glaciers and ice caps are projected to dominate global sea level rise up to 2100. To estimate ice thickness maps of such glaciers using mostly surface data, we use a semi-physical forward model combined with a Bayesian inversion scheme. We leverage Julia to allow compute intense MCMC simulations.

+
+
+
+ + +
+
+
+
+ + + +
+ Vivek Gadodia +

+ + Dravyaniti Consulting LLP + +

+
+
+
+
+
+ Poster +

+ Built to Last- Developing Robust Trading and Investment Strategies +

+

Life of a Trading strategy is unknown. 'Till how long will this work?'. As markets get more mature, with advent of ML and AI, the designer's job is getting tougher. Using rules to analyse big data by splitting it across Time-Frames, traders can gain significant edges, for all types of traders.

+
+
+
+ + +
+
+
+
+ + + +
+ Laurent Heirendt, Ph.D. +

+ + University of Luxembourg + +

+
+
+
+
+
+ Poster +

+ COBRA.jl - Gearing up for high-dimensional constraint-based modelling +

+

Julia accelerates analyses of huge-scale biochemical networks with now more than a million biochemical reactions. Through the open-source high-performance COBRA.jl package, the analysis capabilities of the COnstraint-Based Reconstruction and Analysis community are lifted to another level.

+
+
+
+ + +
+
+
+
+ + + +
+ Rob Blackwell +

+ + British Antarctic Survey + +

+
+
+
+
+
+ Poster +

+ EchoJulia – a new approach to scientific echosounder data analysis +

+

EchoJulia is a software library that is enabling new kinds of fisheries acoustic applications. From big data analysis of ship-based surveys to data collection from ocean gliders, we show how Julia is set to improve ecosystem estimates of Southern Ocean Antarctic Krill.

+
+
+
+ + +
+
+
+
+ + + +
+ Pedro Ivo de Oliveira Filho +

+ + University College London + +

+
+
+
+
+
+ Poster +

+ Enhancing Photovoltaic Solar Cell Manufacturing: Design and Scale-up of an Industrial AACVD under Uncertainty +

+

Handling uncertainty in process design and optimisation is a crucial challenge in current research and in the industry. We believe that Julia has the potential to be used as a comprehensive modelling language to enable designers to develop new systems with greater confidence.

+
+
+
+ + +
+
+
+
+ + + +
+ Dr. Zygmunt L. Szpak +

+ + Australian Institute for Machine Learning + +

+
+
+
+
+
+ Poster +

+ Estimation of Nonlinear Errors-in-Variables Models for Computer Vision Applications +

+

I will present an approximate maximum likelihood method that encapsulates a gamut of heteroscedastic errors-in-variables regression problems that often arise in computer vision applications. Julia's multiple dispatch and Unicode support facilitates a unique, concise and readable implementation.

+
+
+
+ + +
+
+
+
+ + + +
+ R Gowers +

+ + University of Warwick + +

+
+
+
+
+
+ Poster +

+ Extended Neurons with Noise in Julia +

+

Most of the time, neurons in the cortex fire due to randomly arriving inputs. The irregular firing that results is not merely noise, but is thought to play an important role in cortical computation. I show how I have implemented stochastic simulations of this irregular firing in my research.

+
+
+
+ + +
+
+
+
+ + + +
+ Andrew Collier +

+ + Exegetic Analytics + +

+
+
+
+
+
+ Poster +

+ Getting Started with Bayesian Techniques in Julia +

+

Bayesian techniques can seem challenging and esoteric. However, they promise a powerful alternative to frequentist statistics, with the possibility of extracting even more useful information from your data. This talk will help you get started with Bayesian analyses.

+
+
+
+ + +
+
+
+
+ + + +
+ Petre Caraiani +

+ + Institute for Economic Forecasting, Romanian Academy + +

+
+
+
+
+
+ Poster +

+ Introduction to Quantitative Macroeconomics using Julia +

+

The title of the presentation comes from the my forthcoming book at one of the leading publishers, Academic Press, an imprint of Elsevier. The poster (based on the book) will introduce the audience to state-of-art computational techniques used in economics through examples and applications in Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Ahan Sengupta +

+ + City of London School + +

+
+
+
+
+
+ Poster +

+ Julia Robots on the Raspberry Pi +

+

The talk is about remote control robots controlled by Julia on a Raspberry Pi. I will show how to do physical computing with Julia using the GPIO pins of the Pi.

+
+
+
+ + +
+
+
+
+ + + +
+ Miguel Raz Guzmán Macedo +

+ + UNAM + +

+
+
+
+
+
+ Poster +

+ Lessons for beginner developers: Arbitrary order generalized OrthogonalPolynomials.jl in 100 lines of Julia +

+

Julia's capabilities are amazing for scientific computing - but how to begin designing your own libraries and packages? With OrthogonalPolynomials.jl, we will showcase the development of a production ready library in 100 lines of code - with a series of video walkthroughs on step by step design.

+
+
+
+ + +
+
+
+
+ + + +
+ Renan Domingues +

+ + UFPR - Federal University of Paraná + +

+
+
+
+
+
+ Poster +

+ LU update in the Simplex Method +

+

We study the Simplex method, a linear optimization search method. The revised Simplex method was studied and implemented along with the LU update, aiming for the solution of large scale sparse problems. The method was implemented in the Julia Language and tested against available solvers.

+
+
+
+ + +
+
+
+
+ + + +
+ beckerfloh@gmail.com +

+ + Karlsruhe Institute of Technology + +

+
+
+
+
+
+ Poster +

+ PCE.jl - Towards a Julia Package for Polynomial Chaos Expansion +

+

This poster announces PCE.jl, which is a Julia Package for uncertainty quantification (UQ) using a method called 'polynomial chaos expansion' (PCE). It offers an alternative approach to Monte-Carlo-based UQ, and is also more efficient for certain problem instances.

+
+
+
+ + +
+
+
+
+ + + +
+ Will Tebbutt +

+ + University of Cambridge + +

+
+
+
+
+
+ Poster +

+ Probabilistic Programming and Gaussian Processes in Julia +

+

Deep Learning's popularity is partly derived from its composability. General probabilistic machine learning is, in fact, just as composable, but technically much more challenging. I present an interesting edge case where life is easy, and discuss how Julia is uniquely positioned to exploit this.

+
+
+
+ + +
+
+
+
+ + + +
+ Chris Rackauckas +

+ + University of California, Irvine + +

+
+
+
+
+
+ Poster +

+ The Hidden Information in Stochasticity: How Biological Organisms Use and Control Randomness +

+

Stochasticity (randomness) in biochemical reactions exists. Things diffuse and randomly bump together to bind/unbind. Yet these chemicals form the basis of life. But biological organisms evolve to their surroundings. Have they evolved to use biochemical randomness? I will demonstrate how they do it.

+
+
+
+ +
+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2018/prize.html b/previews/PR609/2018/prize.html new file mode 100644 index 000000000..bcb33f5f9 --- /dev/null +++ b/previews/PR609/2018/prize.html @@ -0,0 +1,157 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + +
+ +
+ +

Julia Community Prize

+ +
+ +

The Julia Community Prizes have been announced. A certificate of accomplishement and a cash prize of $1000.00 has been awarded to:

+

Tim Besard

+

For extending Julia natively to the GPU

+

Katharine Hyatt

+

For her enhancements of Julia's test suite and documentation +

+

Chris Rackauckas

+

For his development of JuliaDiffEq and his community engagement +

+

Elliott Saba

+

For his design and stewardship of Julia's binary infrastructure +

+

+ Our congratulations to the winners, and our thanks to the committee.

+
+ +

Awards Committee

+

The members of the committee for 2018 are Prof Alan Edelman, MIT; Prof Tim Holy, WU; and Mr Curtis Vogt, Invenia. +

+
+ + + + + + + + + + + + + diff --git a/previews/PR609/2018/schedule.html b/previews/PR609/2018/schedule.html new file mode 100644 index 000000000..31e391aa7 --- /dev/null +++ b/previews/PR609/2018/schedule.html @@ -0,0 +1,139 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + +
+ +
+ +

JuliaCon 2018 Schedule

+ +
+ + View the JuliaCon 2018 schedule & directory. +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks.html b/previews/PR609/2018/talks.html new file mode 100644 index 000000000..9f778a1ad --- /dev/null +++ b/previews/PR609/2018/talks.html @@ -0,0 +1,1321 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + +
+ +
+ +
+
+ + + + +
+ +
+
+ + + +
+
+
+
+ + + +
+ Jamie Brandon +

+ + + +

+
+
+
+
+
+ Talk +

+ Julia as a platform for language development +

+

Language developers are torn between the need to quickly iterate on language designs and the need to prove that those designs can be efficiently implemented. I’ll show that Julia neatly captures many of the proposed solutions to this dilemma, making it a compelling platform for language development.

+
+
+
+ + +
+
+
+
+ + + +
+ Ben J. Ward +

+ + + +

+
+
+
+
+
+ Talk +

+ BioJulia and Bioinformatics in Julia: Past, Present, Future +

+

In this talk I will describe the past, present and the future (in the context of recent changes to sequencing technology and genome assembly techniques) of BioJulia, and how we are working towards our mission of provide a performant, human-friendly bioinformatics infrastructure.

+
+
+
+ + +
+
+
+
+ + + +
+ George Datseris +

+ + + +

+
+
+
+
+
+ Talk +

+ Why Julia is the most suitable language for science …and how we use it in JuliaDynamics +

+

Julia is the best language one can do science with. It combines high performance with intuitive & simple code, and allows 1-to-1 correspondence between code and scientific algorithm. I will present an overview of the packages of the JuliaDynamics GitHub org. as examples that justify this claim.

+
+
+
+ + +
+
+
+
+ + + +
+ Nathan Daly +

+ + + +

+
+
+
+
+
+ Talk +

+ Julia apps on the App Store: Building and Distributing an application written in Julia +

+

Learn how to turn your software into a portable application you can compile, distribute - and sell - anywhere! Julia is great for building robust, cross-platform software. In April, I published the first-ever app on the Mac App Store written entirely in Julia. Learn how you can do the same!

+
+
+
+ + +
+
+
+
+ + + +
+ Hong Ge +

+ + University of Cambridge + +

+
+
+
+
+
+ Talk +

+ The Turing language for probabilistic programming +

+

We introduce recent developments in Turing.jl — a probabilistic programming language. Similar to Stan, Turing provides a black box tool for Bayesian inference. Turing provides researchers experts with a research toolbox for implementing, investigating and benchmarking new or composed algorithms.

+
+
+
+ + +
+
+
+
+ + + +
+ Peter Ahrens +

+ + MIT Computer Science and Artificial Intelligence Laboratory + +

+
+
+
+
+
+ Talk +

+ For-Loops Are Not a Frontend: Index Notation And The Future Of Array Compilers +

+

Index notation (Einstein summation) is an elegant representation for array operations, powering several recent high-level compilers for array/tensor algebra. Attend to enjoy a programmer-centric explanation of index notation, its generalizations, and how it will revolutionize array library design!

+
+
+
+ + +
+
+
+
+ + + +
+ Ranjan Anantharaman +

+ + Julia Computing, Inc. + +

+
+
+
+
+
+ Talk +

+ The New Circuitscape in Julia - modern, fast and scalable +

+

The Circuitscape rewrite in Julia provides a 4-8x benefit in speed and scalability over the old Python package . We show the specific benefits of Julia over Python and how to write an end-to-end application purely in Julia, from native Julia solvers to packaging and shipping.

+
+
+
+ + +
+
+
+
+ + + +
+ Helen Jiang +

+ + San Francisco Bay Area + +

+
+
+
+
+
+ Talk +

+ Hacking with Julia +

+

The talk shows how to implement some of the best-known attacks on real-world cryptography - in Julia! To break crypto is to solve mathematical puzzles, and it is valuable as a technical exercise, as well as an educational experiment for Julia. Few knows how to actually break crypto, want to see how?

+
+
+
+ + +
+
+
+
+ + + +
+ Zenna Tavares +

+ + + +

+
+
+
+
+ +
+
+ + +
+
+
+
+ + + +
+ Andy Ferris +

+ + Fugro Roames + +

+
+
+
+
+
+ Talk +

+ Interacting with nested data +

+

Data comes in all shapes and sizes. While Julia’s built-in arrays are wonderful for dealing with flat or “flattish” data - here I’ll introduce some strategies and tools for dealing with more complex nested data structures, the split-apply-combine paradigm, and working with relational data (tables).

+
+
+
+ + +
+
+
+
+ + + +
+ John Lapeyre +

+ + + +

+
+
+
+
+
+ Talk +

+ Symbolic Mathematics in Julia +

+

Before Julia, it was not possible, starting from scratch, for one person to make significant progress writing a tool that can compete with Wolfram on a reasonable time scale. But, the many advantages of Julia, for instance syntactic macros and access to the syntax tree, put this goal in reach.

+
+
+
+ + +
+
+
+
+ + + +
+ Todd Green +

+ + Relational AI + +

+
+
+
+
+
+ Talk +

+ Low-Level Systems Programming in High-Level Julia +

+

In designing a new language for technical computing, we believe the designers of Julia have accidentally created a great language for systems programming. We explain how efficient, low-level data structures like B+-trees can be implemented in high-level Julia code, with help from a recent package.

+
+
+
+ + +
+
+
+
+ + + +
+ Dave Kleinschmidt +

+ + Rutgers University + +

+
+
+
+
+
+ Talk +

+ A formula for bringing data across table-matrix divide +

+

Real-world data comes to you in tables full of strings, dates, numbers, etc. To analyze this data you often need to wrangle it into a numerical array. The “formula” DSL is a powerful tool to express these transformations, inspired by R but supercharged with Julia’s unique strengths.

+
+
+
+ + +
+
+
+
+ + + +
+ Gajendra Deshpande and Dr. S.A.Kulkarni +

+ + KLS Gogte Institute of Technology, Belgaum + +

+
+
+
+
+
+ Talk +

+ Brainy Things: Brain Computer Interface meets Internet of Things +

+

Welcome to the exciting world of Brain Computer Interface with Internet of Things. With our project we have made an attempt to provide voice to the voiceless and capability to the incapable (paralyzed) with the help of wonderful programming language known as Julia.

+
+
+
+ + +
+
+
+
+ + + +
+ Luis Benet and David Sanders +

+ + Universidad Nacional Autonoma de Mexico andUniversidad Nacional Autonoma de Mexico + +

+
+
+
+
+
+ Talk +

+ Representing functions and solving differential equations rigorously with Taylor models +

+

We approximate a function rigorously with Julia: find a Taylor series that is close, using automatic differentiation, and bound the resulting error using intervals, giving a “Taylor model”. We use this to get guaranteed approximate solutions of ordinary differential equations in the form of tubes.

+
+
+
+ + +
+
+
+
+ + + +
+ Michael Cai +

+ + + +

+
+
+
+
+
+ Talk +

+ Estimating Non-Linear Macroeconomic Models at the New York Fed +

+

Sophisticated tools are required to accurately estimate modern economic models, in the face of unprecedented macroeconomic conditions. The tempered particle filter is a novel method for filtering nonlinear state space models, surpassing conventional tools in accuracy and flexibility. This talk wi...

+
+
+
+ + +
+
+
+
+ + + +
+ Francesco Zappa Nardelli +

+ + + +

+
+
+
+
+
+ Talk +

+ Subtyping Made Friendly +

+

+
+
+
+ + +
+
+
+
+ + + +
+ Chris Rackauckas +

+ + University of California, Irvine + +

+
+
+
+
+
+ Talk +

+ PKPDSimulator.jl: Drug dosage prediction in Julia +

+

Drug development costs $1.2billion over 12 years. Clinical trial simulations, using PKPD models, de-risk this investment. Simulations help narrow-down target patient, dosing schedule and trial size choices. PKPDSimulator.jl is a Julia package for trial simulation.

+
+
+
+ + +
+
+
+
+ + + +
+ Kristoffer Carlsson +

+ + Chalmers University of Technology + +

+
+
+
+
+
+ Talk +

+ Pkg3 — The new Julia package manager +

+

Julia 1.0 comes with a brand new package manager, currently called Pkg3. Pkg3 was redesigned from scratch to solve a number of fundamental problems with the old package manager. This talk discusses the decisions we made to ensure that Pkg3 allows the Julia package ecosystem to grow and succeed.

+
+
+
+ + +
+
+
+
+ + + +
+ James Fairbanks +

+ + GTRI + +

+
+
+
+
+
+ Talk +

+ Graph interfaces: bespoke graphs for every occasion +

+

LightGraphs defines abstractions to implement for any graph or network. Instead of re-inventing the wheel, we can share existing algorithms and functions within the ecosystem. We will live-code a new graph type. Attendees will learn to extend JuliaGraphs with a custom graph type for any application.

+
+
+
+ + +
+
+
+
+ + + +
+ Stefan Lenz +

+ + + +

+
+
+
+
+
+ Talk +

+ BoltzmannMachines.jl: a Julia-native package for training and evaluating multimodal deep Boltzmann machines +

+

We present the package “BoltzmannMachines.jl”: Different types of restricted Boltzmann machines serve as flexible building blocks for our Julia-native implementation of multimodal deep Boltzmann machines, a generative model for unsupervised deep learning on composite or partitioned data sets.

+
+
+
+ + +
+
+
+
+ + + +
+ Jarrett Revels +

+ + MIT + +

+
+
+
+
+
+ Talk +

+ Cassette: Dynamic, Context-Specific Compiler Pass Injection For Julia +

+

Cassette is a tool for injecting user-defined code transformation passes into Julia’s JIT compilation cycle, enabling normal Julia packages to analyze, optimize, and modify Cassette-unaware Julia programs via both low-level IR transformation and high-level dispatch using Cassette’s context types.

+
+
+
+ + +
+
+
+
+ + + +
+ Lyndon White +

+ + + +

+
+
+
+
+
+ Talk +

+ DataDeps.jl and other foundational tools for data driven research +

+

The focus of this talk is DataDeps.jl – BinDeps for Data – Repeatable Data Setup for Replicable Data Science. How to manage data dependencies to ensure any script can be executed by others. The secondary topic is what comes next: data ingestion, with a focus on NLP, though that generalizes.

+
+
+
+ + +
+
+
+
+ + + +
+ Jameson Nash +

+ + Julia Computing, Inc. + +

+
+
+
+
+
+ Talk +

+ Information overload: tools for making program analysis and debugging manageable +

+

We have many tools to provide some answers when analyzing Julia programs – code_warntype, @profile, VS Code workspace – but many more questions. Let’s explore a new experience for understanding Julia code!

+
+
+
+ + +
+
+
+
+ + + +
+ Helge Eichhorn +

+ + PTScientists + +

+
+
+
+
+
+ Talk +

+ Julia for Space Science: An Antidote for Complexity +

+

Julia might be a secret weapon for the next chapter of the New Space revolution. This talk will present the roadmap for the JuliaAstro and JuliaSpace organizations and demonstrate how Julia can be used to combat the current complexity crisis and enable the next generation of space explorers.

+
+
+
+ + +
+
+
+
+ + + +
+ Diego Marinho de Oliveira +

+ + Melbourne, Australia + +

+
+
+
+
+
+ Talk +

+ Towards Real-Time Job Recommendation AI Solution with Julia +

+

RecSys is based on predicting the best item set for a user. I used Julia in a real-time solution with Genie, DataFrames and XGBoost integrated with a Search Engine. As result, it helped my DS team to deliver impacting results processing +100,000 features for a large set of jobs in incredible 250ms!

+
+
+
+ + +
+
+
+
+ + + +
+ Ján Dolinský +

+ + + +

+
+
+
+
+
+ Talk +

+ TIM: Unified Large-scale Forecasting System for Load, Gas, Solar and Wind in Julia +

+

TIM (Tangent Information Modeller) is a unified large-scale forecasting system written first in C++ and then in Julia. The key advantages in doing so will be shared covering both the computational and architectural aspects ranging from the engine kernel all the way up to its REST API with examples.

+
+
+
+ + +
+
+
+
+ + + +
+ Jiahao Chen +

+ + + +

+
+
+
+
+
+ Talk +

+ Parallel Prefix Polymorphism +

+

Julia’s multiple dispatch and generic functions lets you reuse code, not just for computing results, but also to visualize how the algorithm works and even prove formal correctness of an implementation. I’ll show this for parallel prefix, a fundamental algorithm of parallel computing.

+
+
+
+ + +
+
+
+
+ + + +
+ Claire Harris +

+ + University of Glasgow + +

+
+
+
+
+
+ Talk +

+ Simulating global plant biodiversity +

+

Global biodiversity loss is reaching critical levels. Working with 200M plant records, an evolutionary tree of 30k of plant species and global climate reconstructions to understand this process is a huge computational challenge, and one that requires many of Julia’s “ecosystems” working together.

+
+
+
+ + +
+
+
+
+ + + +
+ Mike Innes +

+ + + +

+
+
+
+
+
+ Talk +

+ Flux: The Elegant Machine Learning Library +

+

Flux is a new machine learning library that’s easy and intuitive to use with state-of-the-art performance. I’ll show how we achieve this using Julia’s advanced features alongside modern compiler and language technology, as well as cool things that people are doing with Flux.

+
+
+
+ + +
+
+
+
+ + + +
+ Giovanni Ballarin +

+ + Konstanz U + +

+
+
+
+
+
+ Talk +

+ GPU-Accelerated Value Function Iteration in Julia: Faster Macroeconomic Modeling +

+

Value Function Iteration (VFI) is a technique widely used by economists to solve dynamic programming problems. VFI is conceptually simple, but computationally very taxing with complex models or high dimensions. However, using Julia and GPUs, it is possible to run VFI algorithms up to 150x faster.

+
+
+
+ + +
+
+
+
+ + + +
+ Elliot Saba +

+ + + +

+
+
+
+
+
+ Talk +

+ 10 tips on how to build better binaries; you won't believe #8! +

+

Building and serving binary dependencies for Julia has been a challenging problem in the past. With BinaryBuilder.jl and BinaryProvider.jl, we present a set of powerful and straightfoward tools to compile, serve and load binary dependencies for packages on all platforms Julia supports.

+
+
+
+ + +
+
+
+
+ + + +
+ Niccolò Antonello +

+ + + +

+
+
+
+
+
+ Talk +

+ StructuredOptimization.jl: a new optimization package for Julia +

+

Numerical optimization is used in many scientific fields such as signal processing, machine learning, finance and control. We propose a new Julia package providing an intuitive language for defining and solving possibly nonconvex, nonsmooth optimization problems using natural mathematical notation.

+
+
+
+ + +
+
+
+
+ + + +
+ Lionel Zoubritzky +

+ + + +

+
+
+
+
+
+ Talk +

+ Engineering Julia for Speed +

+

Julia’s design enables efficient idiomatic code optimizations. I will detail Julia’s main optimizations and explain under which conditions on the code Julia’s JIT compiler can perform them. I will also show how users meet these conditions, using static and dynamic analyses of popular Julia packages.

+
+
+
+ + +
+
+
+
+ + + +
+ Shashi Gowda +

+ + Julia Computing + +

+
+
+
+
+
+ Talk +

+ How JuliaDB works +

+

JuliaDB is a pure Julia analytical database. It support a number of features: releational database operations, parsing text files, parallel computing, tabular data storage and compression. +In this talk you will learn about the underlying building block packages that make up JuliaDB. This talk sho...

+
+
+
+ + +
+
+
+
+ + + +
+ Bart Janssens +

+ + + +

+
+
+
+
+
+ Talk +

+ Parallel computing with MPI-3 RMA and Julia +

+

The remote memory access routines from MPI-3 are a natural fit for the Julia programming model. We show how to build a custom IO and distributed array on top of them, and how this system can help with interfacing with both Julia native parallelism and external MPI-based libraries.

+
+
+
+ + +
+
+
+
+ + + +
+ Josh Day +

+ + + +

+
+
+
+
+
+ Talk +

+ Scalable Data Science with JuliaDB and OnlineStats +

+

JuliaDB integrates with OnlineStats to provide scalable single pass algorithms (that can run in parallel) for statistics and modeling on big data. This integration allows you to transform small-scale analyses into out-of-core computations for huge datasets without changing your code.

+
+
+
+ + +
+
+
+
+ + + +
+ Matt Bauman +

+ + Julia Computing + +

+
+
+
+
+
+ Talk +

+ An introduction to high performance custom arrays +

+

Have you ever wondered how or why you might create a custom array? Have you never written struct ___ <: AbstractArray{T,N}? It’s easier than you might expect! I’ll give a motivating example, incrementally define and refine a custom array, and demonstrate how to make it robust and fast.

+
+
+
+ + +
+
+
+
+ + + +
+ David Anthoff +

+ + University of California, Berkeley + +

+
+
+
+
+
+ Talk +

+ Visual Studio Code julia extension +

+

The julia extension for Visual Studio Code provides a convenient coding environment for julia development. This talk will highlight key features of the extension.

+
+
+
+ + +
+
+
+
+ + + +
+ Robin Deits +

+ + MIT + +

+
+
+
+
+
+ Talk +

+ JuliaRobotics: Making robots walk with Julia +

+

Do you want to build Baymax, Data, or Robby the Robot? Do you want a future with more robots for rescue, delivery, and exploration (and fewer C++ linker errors)? I’ll introduce the JuliaRobotics org and show off our work on visualizing, simulating, and controlling a humanoid robot in Julia.

+
+
+
+ +
+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/1/index.html b/previews/PR609/2018/talks_workshops/1/index.html new file mode 100644 index 000000000..0ee2f2f6a --- /dev/null +++ b/previews/PR609/2018/talks_workshops/1/index.html @@ -0,0 +1,205 @@ + + + + + + + + + An Introduction to Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Sacha Verweij and Jane Herriman +

+ + Stanford University and Julia Computing + +

+
+
+
+ +
+
+ +
+ +
+ +
+

An Introduction to Julia

+ +

Are you new to Julia?! This introductory workshop should be accessible to anyone with technical computing needs and some experience with another programming language. We will show you why Julia is special, demonstrate how easy Julia is to learn, and get you writing Julia code.

+ +

In the first half of this tutorial, we will briefly introduce the language, giving attendees a sense of why Julia is special and what needs Julia meets. After that, we will show how easy it is to pick up Julia’s syntax, covering string manipulation, data structures, loops, conditionals, and functions.

+ +

In the second half of this tutorial, we will illustrate Julia’s speed, power, and expressiveness. Among other things, we will look at Julia’s generic linear algebra infrastructure, benchmark Julia against C and Python, and discuss how Julia’s design paradigm leads to flexible performance.

+ +

Exercises to ingrain concepts will be included throughout the tutorial with an integrative exercise at the end.

+

+ +

Speaker's bio

+

Jane Herriman is Director of Diversity and Outreach at Julia Computing and a PhD student in the Department of Applied Physics and Materials Science at Caltech. She has completed part of her PhD at Lawrence Livermore National Lab.

+ +

Sacha Verweij has recently completed his PhD in Applied Physics and Computational Mathematics at Stanford University, and is a core developer of the Julia language.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/100/index.html b/previews/PR609/2018/talks_workshops/100/index.html new file mode 100644 index 000000000..1d4746939 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/100/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Systemic Model of Banking Originated Losses (SyMBOL) in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Wouter Heynderickx +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Systemic Model of Banking Originated Losses (SyMBOL) in Julia

+ +

SyMBOL is a micro-funded statistical tool which analyses the consequences of bank failures and is used by the European Commission to assess regulatory proposals to enhance financial stability and prevent future financial crises. At the core of the model, there is a Monte Carlo simulation applying the Basel Foundation Internal Rating Based loss distribution. For security reasons, we were asked not to use our server where the C code is usually run. This forced us to re-code SyMBOL and we opted to do this in Julia. We considered different design options and faced the issue that results must be exactly the same. Our current design uses the main process to generate the random numbers, while the remote processes fetch the random numbers to calculate the correlated random shocks and check whether a bank has defaulted. The simulations stop if a pre-set number of runs (usually 100.000 runs) have at least one defaulted bank. Given this set up and the parallel computing capabilities of Julia we were able to reduce the computing time by around 50% compared to the parallel C-code discussed in Muresano and Pagano (2016). +Muresano, R., Pagano, A., 2016. Adapting and Optimizing the Systemic Model of Banking Originated Losses (SYMBOL) Tool to the Multi-core Architecture. Comput. Econ. 48, 253–280. doi:10.1007/s10614-015-9509-4

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/101/index.html b/previews/PR609/2018/talks_workshops/101/index.html new file mode 100644 index 000000000..022d2e3bb --- /dev/null +++ b/previews/PR609/2018/talks_workshops/101/index.html @@ -0,0 +1,430 @@ + + + + + + + + + CombineML for Seamless Ensembling of Machine Learning Models from Scikit-learn, Caret, and Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Paulito Palmes +

+ + IBM Dublin Research Lab + +

+
+
+
+ +
+
+ +
+ +
+ +
+

CombineML for Seamless Ensembling of Machine Learning Models from Scikit-learn, Caret, and Julia

+ +

+

Create learners for parallel processing

+ +

nprocs() ==1 && addprocs()

+ +

@everywhere import CombineML.Util

+ +

@everywhere import CombineML.Transformers

+ +

@everywhere import RDatasets

+ +

@everywhere CU=CombineML.Util

+ +

@everywhere CT=CombineML.Transformers

+ +

@everywhere RD=RDatasets

+ +

#Scikit wrapper that provides access to scikit learners

+ +

@everywhere sk_gblearner = CT.SKLLearner(

+ +

  Dict( :output => :class,

+ +

          :learner => “GradientBoostingClassifier”,

+ +

          :impl_options => Dict()

+ +

   ) +)

+ +

Select best learner from the set

+ +

@everywhere best_learner = CT.BestLearner(

+ +

      Dict(

+ +

          :learners => [sk_gblearner,CT.PrunedTree(),CT.RandomForest()],

+ +

          :output => :class, :score_type => Real, :learner_options_grid => nothing

+ +

      )

+ +

)

+ +

Learners in voting committee

+ +

@everywhere vote_learner = CT.VoteEnsemble(

+ +

     Dict(

+ +

       :output => :class,

+ +

       :learners => [

+ +

          CT.PrunedTree(), CT.DecisionStumpAdaboost(),

+ +

          CT.RandomForest(),sk_gblearner,best_learner

+ +

       ]

+ +

  )

+ +

)

+ +

Learners in stack ensemble

+ +

@everywhere stack_learner = CT.StackEnsemble(

+ +

  Dict(

+ +

    :learners => [

+ +

         CT.PrunedTree(), CT.RandomForest(),

+ +

         CT.DecisionStumpAdaboost(),

+ +

         best_learner, sk_gblearner

+ +

     ],

+ +

    :stacker => CT.RandomForest()

+ +

  ) +)

+ +

Create a Pipeline

+ +

pipeline = CT.Pipeline(

+ +

  Dict(

+ +

    :transformers => [

+ +

        CT.OneHotEncoder(), # Encodes nominal features into numeric

+ +

        CT.Imputer(), # Imputes NA values

+ +

        CT.StandardScaler(), # Standardizes features

+ +

        learner 

+ +

    ]

+ +

  ) +)

+ +

Sample dataset from Iris

+ +

dataset = RD.dataset(“datasets”, “iris”)

+ +

instances = Array(dataset[:, 1:(end-1)])

+ +

labels = Array(dataset[:, end])

+ +

Split into training and test sets

+ +

(train_ind, test_ind) = CU.holdout(size(instances, 1), 0.3)

+ +

Train and Predict

+ +

CT.fit!(pipeline, instances[train_ind, :], labels[train_ind])

+ +

predictions = CT.transform!(pipeline, instances[test_ind, :])

+ +

Compute accuracy

+ +

result = CU.score(:accuracy, labels[test_ind], predictions)

+ +

Evaluate Ensembles in Parallel

+ +

@everywhere function predict(learner)

+ +

  dataset = RD.dataset(“datasets”, “iris”)

+ +

  instances = Array(dataset[:, 1:(end-1)])

+ +

  labels = Array(dataset[:, end])

+ +

  (train_ind, test_ind) = CU.holdout(size(instances, 1), 0.3)

+ +

  pipeline = CT.Pipeline(

+ +

    Dict(

+ +

      :transformers => [

+ +

           CT.OneHotEncoder(), # Encodes nominal features into numeric

+ +

           CT.Imputer(), # Imputes NA values

+ +

           CT.StandardScaler(), # Standardizes features

+ +

           CT.PCA(),

+ +

           learner  

+ +

      ]

+ +

    )

+ +

  )

+ +

  CT.fit!(pipeline, instances[train_ind, :], labels[train_ind]);

+ +

  predictions = CT.transform!(pipeline, instances[test_ind, :]);

+ +

  result = CU.score(:accuracy, labels[test_ind], predictions)

+ +

  return result

+ +

end

+ +

using DataFrames

+ +

function main(trials)

+ +

  learners=Dict(

+ +

       :gradientboosting=>sk_gblearner, :randomforest=>CT.RandomForest(),

+ +

       :adaboost=>CT.DecisionStumpAdaboost(), :votelearner=>vote_learner,

+ +

       :bestlearner=>best_learner, :stacklearner=>stack_learner +  )

+ +

  models=collect(keys(learners))

+ +

  ctable=@parallel (vcat) for model in models

+ +

     acc=@parallel (vcat) for i=1:trials

+ +

        res=predict(learners[model])

+ +

        println(model,” => “,round(res))

+ +

        res

+ +

     end

+ +

     [model round(mean(acc)) round(std(acc)) length(acc)]

+ +

  end

+ + + + + + + + +
  sorted=sortrows(ctable,by=(x)->x[2],rev=true)> DataFrame
+ +

  rename!(sorted,Dict(:x1=>:model,:x2=>:mean_acc,:x3=>:std_acc,:x4=>:trials))

+ +

  return sorted

+ +

end

+ +

const trials = 5

+ +

res = main(trials)

+ +

@show res

+ +

Known Limitations

+ +
    +
  1. +

    Learners have only been tested on instances with numeric features.

    +
  2. +
  3. +

    Inconsistencies may result in using nominal features directly without a numeric transformation (i.e. OneHotEncoder).

    +
  4. +
+

+ +

Speaker's bio

+

I am a research scientist at the IBM Dublin Research Lab working in the areas of analytics, datamining, machine learning, and AI. I finished my Doctor of Engineering degree from the Toyohashi University of Technology in Japan (2005). I have a Master’s degree in Computer Science majoring in Artificial Intelligence (Ateneo de Manila University, 1995) and a Bachelor’s degree in Applied Mathematics (University of the Philippines in the Visayas, 1991). I used to work as a technical staff for two years in the Neuroinformatics Lab of RIKEN Brain Science Institute, Japan before finishing my DEng degree. I spent a total of 4 years as a Postdoctoral Fellow in the National University of Singapore and the National Neuroscience Institute working on diverse topics such as context-aware reasoning, datamining models for activity recognition in smarthome environment, detecting biomarkers for Parkinson’s Disease by image processing of fMRI and DTI images, and automated diagnosis of movement disorder for intelligent healthcare. Moreover, I held an Asst. Professorship for a total of 6 years in the University of the Philippines and Ateneo de Manila University. My research interests include datamining, optimization, development of intelligent agents using machine learning and evolutionary computation, neuroinformatics, and biomedical engineering.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/102/index.html b/previews/PR609/2018/talks_workshops/102/index.html new file mode 100644 index 000000000..bc937b26b --- /dev/null +++ b/previews/PR609/2018/talks_workshops/102/index.html @@ -0,0 +1,197 @@ + + + + + + + + + RHEOS - Making mechanical testing more accessible with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jonathan Louis Kaplan +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

RHEOS - Making mechanical testing more accessible with Julia

+ +

Physicists and engineers have been investigating the mechanical properties of materials for a long time. Biologists, aided by recent developments in microscopy, have gained fascinating insights into the fundamental role mechanical properties play during many biological processes. One of the barriers to entry for biologists interested in biomechanics is the mathematical and programming knowledge required to analyse viscoelastic experimental data. RHEOS, written in Julia, is an open source project aiming to address that issue whilst also providing a more general rheological analysis toolkit for anyone who wants to analyse their viscoelastic material data, biological or otherwise. The software was originally written in Python. It was slow, but just about acceptable for a patient PhD student who had other things to keep busy with whilst the data was processing. Once the decision was made to extend it and publish it as open source software, it was clear that either more of the computationally intense parts would have to be outsourced from Python, or that it should be rewritten in a new language entirely. We chose the latter and the software has now been rewritten in Julia, with a first public release scheduled for March 2018. In this talk I will discuss the software’s capabilities, examples of rheology informing biology, more detail on the motivations for choosing Julia, the features of Julia which has helped the project come together, and any obstacles I ran into along the way and how they were overcome.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/103/index.html b/previews/PR609/2018/talks_workshops/103/index.html new file mode 100644 index 000000000..b419e2dea --- /dev/null +++ b/previews/PR609/2018/talks_workshops/103/index.html @@ -0,0 +1,199 @@ + + + + + + + + + LightFields.jl: Fast 3D image reconstruction for VR applications — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Hector Andrade Loarca +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

LightFields.jl: Fast 3D image reconstruction for VR applications

+ +

Light Field reconstruction is a relatively new technique for 3D reconstruction and rendering, that can be used to compute the depth of objects from a particular scene (physical subspace) given a set of images from different viewpoints. +This technique has gained a lot of interest in the last ten years due the applications to Virtual and Augmented Reality; reflected most recently on the acquisition of the company Lytro (Light Field Camera Developer) by Google on March of this year, and the recent advances presented also by Google and Magic Leap for Light Field Applications on the new VR media revolution. Industrial interest also typically carries development closure and Light Field is not an exception, in addition it involves a great computational complexity. +Inspired by the open source spirit (characterizing the julia Comunity) and the search of interesting applications for the julia package Shearlab.jl (developed by me and presented at the last JuliaCon), I developed a julia library for Light Field reconstruction that optimizes the computation by using the Shearlet transform to represent sparsely the Light Field, called LightFields.jl. In this lightning talk I will present the basics of the LightFields.jl’s API, some nice results, and also a very easy and cheap, open hardware implementation of a Light Field Camera using no more than julia and a Raspberry Pi.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/104/index.html b/previews/PR609/2018/talks_workshops/104/index.html new file mode 100644 index 000000000..02f277fa4 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/104/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Making Julia inclusive and accessible — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jane Herriman +

+ + Caltech/Lawrence Livermore National Lab + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Making Julia inclusive and accessible

+ +

Most of us are here because we’re already using and excited about Julia. How can we make the language and ecosystem more inclusive of and accessible to potential new users coming from all backgrounds and experience levels? I believe the keys are creating fantastic teaching materials and making these materials free, open, and visible. We want to make sure that the barrier to learning Julia is low — and not just for experienced programmers. +I will share with you efforts underway in the Julia community to develop and distribute accessible materials to learn Julia, including in-person outreach at schools around North America and an online tutorial series. Of course, our focus cannot simply be on teaching Julia, but on using Julia to teach other in-demand skills, like programming and data science. To this end, I will also discuss the development of machine learning curriculum using Julia and ways that you can get involved in making the Julia language and ecosystem more accessible.

+

+ +

Speaker's bio

+

Jane is a graduate student in computational materials physics enrolled at Caltech. She is interning at Lawrence Livermore National Lab, where she is working with Xavier Andrade on methods for and applications of density functional theory.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/105/index.html b/previews/PR609/2018/talks_workshops/105/index.html new file mode 100644 index 000000000..5287ed0ce --- /dev/null +++ b/previews/PR609/2018/talks_workshops/105/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Flux: The Elegant Machine Learning Library — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Mike Innes +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Flux: The Elegant Machine Learning Library

+ +

As machine learning models grow increasingly complex, we suggest that neural networks are best viewed as an emerging, differentiable programming paradigm, and ask what decades of research into programming languages and compilers has to offer to the machine learning world. +Julia is an ideal platform not only for this kind of high-performance, numerical programming, but for the research into compiler and language features needed to push the state of the art forward. Features such as wide hardware support (GPUs, TPUs), kernel fusion, compiler-level automatic differentiation, push-button compilation and deployment and elegant mathematical syntax are all invaluable to researchers. This talk will explain how we are able to take the Julia compiler to its limits and push forward the state of the art in the machine learning world.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/106/index.html b/previews/PR609/2018/talks_workshops/106/index.html new file mode 100644 index 000000000..90b3bc06a --- /dev/null +++ b/previews/PR609/2018/talks_workshops/106/index.html @@ -0,0 +1,206 @@ + + + + + + + + + GPU-Accelerated Value Function Iteration in Julia: Faster Macroeconomic Modeling — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Giovanni Ballarin +

+ + Konstanz U + +

+
+
+
+ +
+
+ +
+ +
+ +
+

GPU-Accelerated Value Function Iteration in Julia: Faster Macroeconomic Modeling

+ +

Among the many computational techniques that economists, and more specifically macroeconomists use to solve models, value function iteration (VFI) is probably the most commonly used. VFI is simple to implement, conceptually very close to the theoretical results of dynamic programming and works over a wide range of models, especially if these entail complex stochastic elements. Unfortunately, VFI algorithms are computationally very taxing even for modern machines, usually requiring long times (in the order of hours) to converge to a solution. +To address this problem, much in the footsteps laid down by the paper by Aldrich, Fernandez-Villaverde,Gallant and Rubio-Ramirez “Tapping the Supercomputer under your Desk: Solving Dynamic Equilibrium Models with Graphics Processors” , I would like to present how it is almost trivial to use Julia, OpenCL, and the packages GPUArrays.jl and CLArrays.jl to run VFI algorithms orders of magnitude faster, using only a consumer (integrated) graphics card and without loosing appreciable precision. +We focus our attention on the following topics:

+ +
    +
  • Introduction to Dynamic Programming and why VFI is so common …Many problems in macroeconomic are usually posed, or can be posed in the form of dynamic programming: this usually entails writing the so-called Bellman equation of the problem. We introduce the Value Function Iteration algorithm in the context of the super simple Real Business Cycle model.
  • +
  • VFI in Julia …Value function iteration is easy to implement in Julia, but can be very slow: this is because the algorithm explicitly requires a maximization step. Because of the so called “curse of dimensionality” this approach does not scale well as we increase the number of points. This effectively creates a “physical” barrier between the researcher and exploring the model features with ease by changing parameters and studying the resulting solution.
  • +
  • Leveraging the GPU …We first port the VFI algorithm for the RBC using OpenCL.jl and writing a simple OpenCL kernel. This approach however is cumbersome and may be unfeasible. Then, we discuss how the packages GPUArrays.jl and CLArrays.jl allow to make this transition much, much simpler.
  • +
  • More complex models and GPU superiority …Finally, we expand the GPU value function iteration algorithm used for the RBC model to two more articulate settings: and RBC model with uncertainty; and an Overlapping Generations Model, for which the GPU implementation cuts the solution time from more than 40 minutes to less than 30 seconds, with a speed gain of around 150x.
  • +
+

+ +

Speaker's bio

+

I am an M.SC in Economics student in my second and last year at Konstanz University, Germany, in a double degree program with the University of Rome Tor Vergata. I have an undergraduate degree in Mathematics (which is and will be my secret passion), even thought I’ve now turned to Macroeconomics. My passions are: programming, tennis, pasta all’amatriciana and listening to music during long car trips. I don’t have to write code, but it gives me much joy.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/107/index.html b/previews/PR609/2018/talks_workshops/107/index.html new file mode 100644 index 000000000..a47ebcc8a --- /dev/null +++ b/previews/PR609/2018/talks_workshops/107/index.html @@ -0,0 +1,198 @@ + + + + + + + + + 10 tips on how to build better binaries; you won't believe #8! — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Elliot Saba +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

10 tips on how to build better binaries; you won't believe #8!

+ +

The old world of BinDeps.jl fades slowly into the long, dark sleep of forgotten heroes. From the deep places arises a new contender, strong and eager to lay to rest the complaints of the commonfolk. Songs of ancient deeds and whispers of arcane knowledge wend their ways around the terrible visage of BinaryBuilder.jl like a luminous crown, forcing all who lay eye upon it to tremble in a mixture of fear and awe. The age of terror has passed. A new world dawns. +Building binary dependencies for the wide range of platforms that Julia supports is difficult; BinaryBuilder makes this easier for you. Come to this talk to learn about how we are solving this problem, and how you can use these tools to compile your C/C++/Fortran binary dependencies into tarballs for use in your Julia packages. We will start with a brief introduction to the internals of BinaryProvider and BinaryBuilder, then end with building a tarball for a binary dependency and installing it for a Julia package. By the end of this talk, you should be comfortable with using BinaryBuilder to build tarballs, and using BinaryProvider to install them within your own packages.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/108/index.html b/previews/PR609/2018/talks_workshops/108/index.html new file mode 100644 index 000000000..2ee1ca48b --- /dev/null +++ b/previews/PR609/2018/talks_workshops/108/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Native Elementary Functions in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Patrick Kofod Mogensen +

+ + University of Copenhagen + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Native Elementary Functions in Julia

+ +

People doing numerical computing are greedy. They want results now and accurately, and we have been ready to accept loss of readability and extensibility to get it. As a result, the elementary functions we take for granted in paper math are often coded in low-level languages. We can do better. +The talk will go through the motivation, the work done, what remains to be done, and what further possibilities there are to improve performance and accuracy of elementary function evaluations in Julia. Collectively, these functions are often provided in so-called “libm”’s (library of mathematical functions), and many languages oriented towards numerical computing tend to call libraries written in C or Fortran. +Julia has depended on a collection of functions bundled in the C-based openlibm to provide this functionality. As we will see, there has been a push to free Julia of openlibm and similar C- or Fortran-libraries without loss of speed, accuracy or readability.

+

+ +

Speaker's bio

+

Ph.D. student in economics, JuliaNLSolvers owner and developer, Julia nerd.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/109/index.html b/previews/PR609/2018/talks_workshops/109/index.html new file mode 100644 index 000000000..0e7fe4c2e --- /dev/null +++ b/previews/PR609/2018/talks_workshops/109/index.html @@ -0,0 +1,205 @@ + + + + + + + + + StructuredOptimization.jl: a new optimization package for Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Niccolò Antonello +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

StructuredOptimization.jl: a new optimization package for Julia

+ +

StructuredOptimization provides a modelling language to formulate and solve optimization problems, using a syntax that closely resembles the original mathematical formulation. This user-friendly interface acts as a parser to use three different packages:

+ +
    +
  • ProximalOperators.jl: a library of proximal mappings of functions that are frequently used in optimization.
  • +
  • AbstractOperators.jl: a library of linear and nonlinear mappings that can be combined for gradient evaluation using automatic differentiation.
  • +
  • ProximalAlgorithms.jl: a library of optimization algorithms that includes the Proximal Gradient (PG) algorithm and its enhanced variants. StructuredOptimization can handle large-scale convex and nonconvex problems with nonsmooth cost functions and supports complex variables as well.
  • +
+ +

The package will be presented by illustrating the high versatility of the PG algorithms through a series of application examples. In particular, classical signal processing applications (sparse deconvolution and line spectra estimation) will be shown together with audio, image and video processing applications (audio de-clipping, total variation denoising and video background removal) and nonlinear classification using machine learning techniques.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/110/index.html b/previews/PR609/2018/talks_workshops/110/index.html new file mode 100644 index 000000000..8c50da23f --- /dev/null +++ b/previews/PR609/2018/talks_workshops/110/index.html @@ -0,0 +1,202 @@ + + + + + + + + + GSReg.jl: High Performance Computing in Econometrics. Let’s do it faster and simpler with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Demian Panigo and Pablo Gluzmann and Esteban Mocskos and Adán Mauri Ungaro and Valentin Mari +

+ + Universidad de Buenos Aires/CONICET and and + +

+
+
+
+ +
+
+ +
+ +
+ +
+

GSReg.jl: High Performance Computing in Econometrics. Let’s do it faster and simpler with Julia

+ +

Econometrics allows researchers to deal with competing theories about complex processes which could lead to very different diagnosis and even opposite policy advises. Advances in model selection techniques, driven by the increasing number of available HPC algorithms, constitutes one of its major contributions to Economic Theory. +In-sample model selection has benefited from using mathematical developments to reduce the search space (e.g. Branch and Bound theorems) and efficiently find the best subset regression (in terms of defined information criteria). It is also possible to use heuristic approaches like Genetic algorithms, or different dimension reduction methods like Stepwise, Lasso or Ridge estimators. While failing to guarantee global optimality, they are fast and well-suited for Big and/or Sparse Data. +On the contrary, out-of-sample model selection techniques require more computing resources. In a Machine Learning environment (e.g. problems focusing on predictive analysis) there is an increasing universe of “training/test” algorithms (many of them showing very interesting performance in Julia) to compare alternative results and find-out a suitable model. In Econometrics (e.g. problems focusing on causal inference) we require five important features which narrow the set of available algorithms: 1) Parsimony (to avoid very large atheoretical models); 2) Interpretability (for causal inference, rejecting “intuition-loss” transformation and/or complex combinations); 3) Across-models sensitivity analysis (economic theory is preferred against “best-model” unique results); 4) Robustness to time series and panel data information (preventing the use of raw bootstrapping or random subsample selection for training and test sets); and 5) advanced residual properties (e.g. going beyond the i.i.d assumption and looking for additional panel structure properties -for each model being evaluated-, which force a departure from many algorithms). +For these reasons, most economists prefer flexible all-subset-regression approaches, choosing among alternative models by means of some out-of-sample criteria, model averaging results, theoretical limits on covariates coefficients and residual constraints. While still unfeasible for Sparse Data (p>>n), hardware and software innovations allow researchers to choose among one billion models in a few hours using a standard personal computer. Therefore, almost all statistical applications have an all-subset regression function. Some of them, have even developed a parallel version of their core algorithm (pdredge in R or gsregp in Stata). +The objective of this talk is to introduce GSReg.jl (https://github.com/ParallelGSReg/GSReg.jl), a new package to perform the all-subset-regression approach exploiting Julia’s parallel capabilities and allowing users to choose between a simple GUI (https://github.com/ParallelGSReg/GSRegGUI) or an R/Stata-friendly command line interface. We will discuss its main features, pros and cons, limitations, future extensions and differences with similar existing Julia packages like BestSubsetRegressionl.jl, LARS.jl Lasso.jl, Mads.jl, ParallelSparseRegression.jl or SubsetSelection.jl. +We will show that GSReg.jl is 4 to 10 times faster than other similar alternatives and more than 100 times faster than the original (sequential) Gsreg Stata version (using a last generation personal computer). A forthcoming paper will include programming details, profiling data, extended examples and benchmarking results.

+

+ +

Speaker's bio

+

HPC, Parallel Programming, Disitributed Systems, Applying parallel resources to real life applications

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/111/index.html b/previews/PR609/2018/talks_workshops/111/index.html new file mode 100644 index 000000000..30a8ef01e --- /dev/null +++ b/previews/PR609/2018/talks_workshops/111/index.html @@ -0,0 +1,204 @@ + + + + + + + + + New in DataStreams.jl: Type flexibility, querying, and parallelism, oh my! — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jacob Quinn +

+ + Domo + +

+
+
+
+ +
+
+ +
+ +
+ +
+

New in DataStreams.jl: Type flexibility, querying, and parallelism, oh my!

+ +

The DataStreams.jl framework is behind a number of key packages in the Julia data ecosystem. At it’s core, it defines the “Source” and “Sink” interfaces that various formats can implement to automatically integrate with other formats that also implement the interfaces. This solves the one-to-many interop problem that always plagues data formats (“what? it only takes CSV files??”). With DataStreams, it’s quick and easy to implement the interface and automatically hook into the rest of the Julia data ecosystem. +So what’s new and noteworthy in DataStreams?

+ +
    +
  • Flexibly typed schemas: a long-standing issue with any sort of data transfer is how to align expected types between source and sink; Base julia itself has pioneered a flexible, yet performant solution in it’s implementation of map over collections. This same approach has been applied to DataStreams to allow dynamic, type-inference-independent transfer from sources to sinks.
  • +
  • IO-integrated querying functionality: how many times have you thought, “sheesh, I wish there was a way to only parse a few columns, filter out certain values, and apply a transformation to this csv file all at the same time!” Ok, maybe not those words exactly, but with DataStreams, now you can! A fully integrated query-planner can now take any number of transformations and apply them at the IO-level to avoid more data transfer than absolutely necessary and fuse them all together in tightly compiled Julia code.
  • +
  • Data transfer parallelism: Sinks can now signal to Sources that they support parallel streaming; this can lead to massive improvements in data throughput and fully leveraging a system’s resources
  • +
+

+ +

Speaker's bio

+

Attended Carnegie Mellon for a master’s degree in data science and active Julia contributor for 4 years now.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/112/index.html b/previews/PR609/2018/talks_workshops/112/index.html new file mode 100644 index 000000000..fc26861f1 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/112/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Engineering Julia for Speed — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Lionel Zoubritzky +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Engineering Julia for Speed

+ +

The Julia language has been designed in order to offer performance without sacrificing productivity. Its secret is a combination of carefully chosen features, such as multiple dispatch and rich type annotations, and some optimizations like inlining done by the just-in-time compiler. I will explain how the code is optimized by Julia’s JIT before being given to the LLVM back end, and, as a consequence, why a specific coding style is required for performance. I will also look at a selection of fifty popular Julia packages to see how amenable they are to these optimizations, using static and dynamic analyses. Finally, I will briefly talk about Julia’s design against the context of other related programming languages, to show the singular place it occupies.

+

+ +

Speaker's bio

+

Currently in first year of Master at the École Normale Supérieure.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/114/index.html b/previews/PR609/2018/talks_workshops/114/index.html new file mode 100644 index 000000000..6a0ff9a83 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/114/index.html @@ -0,0 +1,229 @@ + + + + + + + + + How JuliaDB works — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Shashi Gowda +

+ + Julia Computing + +

+
+
+
+ +
+
+ +
+ +
+ +
+

How JuliaDB works

+ +

JuliaDB is a pure Julia analytical database. It makes loading large datasets and playing with them easy and fast. JuliaDB needs to support a number of features: releational database operations, quickly parsing text files, parallel computing, data storage and compression. +This talk is a bottom-up look at the construction of JuliaDB. We will talk about the scope and implementation of underlying building block packages, namely IndexedTables, TextParse, Dagger, OnlineStats and PooledArrays. This talk should help beginners get started using, as well as hacking on JuliaDB!

+ +
    +
  • Why we built JuliaDB?
  • +
  • Brief introduction to Indexed tables
  • +
  • Table construction
  • +
  • Benefits of Indexing
  • +
  • NDSparse view of a table
  • +
  • Selecting the data you need
  • +
  • Selection semantics
  • +
  • Aggregation
  • +
  • groupreduce vs groupby
  • +
  • Many aggregations at once
  • +
  • Use of selections in grouping
  • +
  • OnlineStats
  • +
  • Joins
  • +
  • Use of selection
  • +
  • About parallelism in JuliaDB
  • +
  • Representation of a distributed dataset
  • +
  • How parallel operations work
  • +
  • Demo of parallel speedup on a 100GB dataset.
  • +
  • Plotting
  • +
  • Demo of partitionplot on a big dataset
  • +
  • Demo of PlugAndPlot.jl and Sputnik.jl working with JuliaDB
  • +
  • Some trivia that are useful
  • +
  • Representation of String arrays
  • +
  • Representation of PooledArrays
  • +
  • The role of sortperm
  • +
  • Using the full power of Julia
  • +
  • User defined types and functions
  • +
  • Performance comparisons
  • +
+

+ +

Speaker's bio

+

I’m a Julia programmer at Julia Computing.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/115/index.html b/previews/PR609/2018/talks_workshops/115/index.html new file mode 100644 index 000000000..8cb211b3b --- /dev/null +++ b/previews/PR609/2018/talks_workshops/115/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Parallel computing with MPI-3 RMA and Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Bart Janssens +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Parallel computing with MPI-3 RMA and Julia

+ +

The objective of this talk is to illustrate how some of the “modern” MPI functions can be used to build new parallel tools in Julia and interface with existing native parallelism in Julia. The motivation for this work is to simplify working with libraries such as Trilinos. +We will begin by outlining the differences between the Julia native parallelism and the MPI “single program, multiple data” approach. Next follows a gentle introduction to the MPI-3 calls (now available in MPI.jl master), which perform communication in a one-sided way, so not all processes need to call MPI routines at the same time. This property is very useful to build a custom Julia IO (similar to TCPSocket) for point-to-point communications over MPI. This IO can then be used to build a Julia cluster manager, enabling native Julia parallelism over asynchronous MPI communication. The steps required to build this system (code here) will be outlined, together with some caveats encountered when implementing the interface required for IO. Once a program is running on an MPI cluster manager, it becomes possible to switch on the fly between native Julia parallel calls and MPI calls, which we will illustrate using a simple example. +Distributed arrays are another key area where one-sided MPI calls can be put to use. The MPIArrays.jl package provides such an array type. The advantage of using MPI directly rather than the Julia parallel framework is that the “single program, multiple data” paradigm is preserved, so interfacing with external libraries using MPI becomes trivial. Furthermore, MPI supports the high-performance interconnects such as Infiniband that are available on many clusters. We will present the basic ideas behind MPIArrays, and show how building the basic distributed AbstractArray takes just a few lines of Julia code. A benchmark using a dense matrix-vector product will show it compares favorably to DistributedArrays.jl and the C++ library Elemental. We will then finish the talk with a concrete example of using MPIArrays to build the sparsity structure of a linear system to be solved by the Trilinos C++ library.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/116/index.html b/previews/PR609/2018/talks_workshops/116/index.html new file mode 100644 index 000000000..9c84752ed --- /dev/null +++ b/previews/PR609/2018/talks_workshops/116/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Algebraic Simplification Using Rewrite.jl — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Harrison Grodin +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Algebraic Simplification Using Rewrite.jl

+ +

Term rewriting is essential to a wide variety of fields, including elementary, boolean, and abstract algebras. Because existing symbolic simplification tools in Julia typically operate within fixed domains, it is difficult to obtain a level of control which allows for flexible inclusion and exclusion of specific mathematical properties. This talk discusses SymReduce.jl, a new term rewriting library written in Julia that simplifies algebraic expressions based on custom, domain-specific axioms. We will highlight aspects of our implementation and demonstrate the simplification process within sample domains.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/117/index.html b/previews/PR609/2018/talks_workshops/117/index.html new file mode 100644 index 000000000..89130b389 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/117/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Scalable Data Science with JuliaDB and OnlineStats — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Josh Day +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Scalable Data Science with JuliaDB and OnlineStats

+ +

JuliaDB is a distributed database for high performance analytics that allows you to load large multi-file datasets across multiple processes, index the data for fast queries, and save tables to disk for quick reloading. JuliaDB is 100% Julia, so user-defined functions are compiled and you can efficiently store any data type. +OnlineStats is a Julia package that provides online algorithms for statistics, machine learning, and big data visualization. Online algorithms update estimators one observation at a time in a single pass, making it unnecessary that your data fit in memory. JuliaDB interfaces with OnlineStats to provide a scalable analytical framework that does the heavy lifting for you. The same operations used on toy datasets can therefore be efficiently executed on a cluster without changing your code. +This combination provides a powerful workflow for dealing with both large and small datasets. This talk will demonstrate how you can take advantage of these packages to implement scalable analytics over your own datasets.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/118/index.html b/previews/PR609/2018/talks_workshops/118/index.html new file mode 100644 index 000000000..857895af9 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/118/index.html @@ -0,0 +1,201 @@ + + + + + + + + + Atomistic simulation with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jarvist Moore Frost +

+ + King's College London + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Atomistic simulation with Julia

+ +

We can predict the properties of materials entirely within a computer. All material properties - strength, colour, opacity, conductivity etc. - come about as a result of the electronic structure adopted by the electrons in a material. This we can calculate by solving the Schrodinger equation. Unfortunately exact solutions are computationally intractable due to the O(N!) scaling with the number of electrons - the electron correlation problem. Progress in computational materials design has been made by solving approximate forms of this equation, numerically. +Venerable codes written in Fortran (and to a limited extent in C) consume the majority of cycles on public super conductors. The often archaic code bases limits how easily they can be extended. The existence of standard, optimised, codes has enabled an enormous amount of research. At the same time, development of codes in relatively few walled gardens of physics has reduced the scope of techniques that are applied. +Modern materials design attempts to go beyond predicting properties of pure crystals. Generally this is because disordered materials can be made with less energy and time. Trying to predict the properties of these materials is a challenge, as the length and time scales so exceed that which we can get to even with approximate theories. As such, we need bespoke codes and models to be able to model these systems. +I will describe successful research projects in condensed matter theory which have made essential use of Julia, and will attempt to explain why Julia, with its mathematical expressiveness, physical abstraction, and high performance, is a natural language for future work in condensed matter theory. +I will discuss revisiting Polaron mobility theories from the 1960s (https://github.com/jarvist/PolaronMobility.jl), approximate forms of quantum-nuclear effects (https://github.com/jarvist/FeynmanKleinert.jl) and Tight-Binding approaches to large scale electronic structure calculations.

+

+ +

Speaker's bio

+

A simple physicist who works in computational materials design. Everything we make is wiggling and jiggling atoms, and these are fun to simulate.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/119/index.html b/previews/PR609/2018/talks_workshops/119/index.html new file mode 100644 index 000000000..a9a57a1f4 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/119/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Julia-powered personalised mathematics homework — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Scott Thomas +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Julia-powered personalised mathematics homework

+ +

Teaching children is hard, mathematics in particular. It’s all too easy for a student to shrug and say, “I’m just no good at maths.” Perhaps the most important way we can support them is by showing that they can always get better with practice, and one of the great promises of educational technology is to help busy teachers assign targeted and achievable tasks… but while it’s easy to gamify some parts of mathematics, it’s harder to produce something that meets every student at their level. +My job at a UK educational research company is to do just that. We work in local classrooms to design and evaluate mathematics lessons and we produce personalised homework every week. As we work with more schools, it’s increasingly important to quickly try new things and carry out experiments to check that what we’re doing is effective. I’d like to share how I have increasingly been using Julia in my investigations into effective mathematics homework, giving you an inside view on what it has made easy (and what still causes pain).

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/12/index.html b/previews/PR609/2018/talks_workshops/12/index.html new file mode 100644 index 000000000..fb5fe383f --- /dev/null +++ b/previews/PR609/2018/talks_workshops/12/index.html @@ -0,0 +1,198 @@ + + + + + + + + + JuliaPro post 1.0 release — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Harsha Byadarahalli Mahesh +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

JuliaPro post 1.0 release

+ +

JuliaPro is a free prepackaged bundle of Julia which includes debugger, integrated development environment, 100+ curated packages, data visualization and plotting tools. More than 15,000 users have downloaded JuliaPro since its inception, and the number of JuliaPro users are growing every day. +Julia 1.0 is bringing in a lot of new exciting features to Julia ecosystem. With this in mind, we’re improving JuliaPro to take advantage and enhance its usability. We are also adding new features to JuliaPro such as GPU support, reduced installer size, long term support and many more. All these exciting features will be showcased in this talk.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/120/index.html b/previews/PR609/2018/talks_workshops/120/index.html new file mode 100644 index 000000000..7c3d97770 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/120/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Solving sparse linear systems with Trilinos.jl — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Bart Janssens +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Solving sparse linear systems with Trilinos.jl

+ +

The Trilinos C++ library features a large collection of packages, with a focus on solving large linear systems. The Trilinos.jl package is an effort to provide access to the modern iterative solvers from the Belos package from within Julia. It focuses on using the sparse matrix structures from the Tpetra package, which enables features such as hybrid parallelism and GPU computing. +In Trilinos, the solvers are driven by so-called parameter lists, which allow setting up the linear solver and preconditioner to use. This way, all iterative solvers from the Belos package (including GMRES and CG) are available from Julia, with preconditioners from the Ifpack2 package (providing ILU-type preconditioners) and the MueLU algebraic multigrid package. As with all of Trilinos, these support parallel execution using MPI. In our talk, we will show how to configure a parameter list from within Julia, build the linear system and finally solve it. In many places, native Julia interfaces are implemented, such as an array interface operating directly on views of Trilinos vectors, the Associative interface for parameter lists and the \ operator to perform the actual linear system solution. +The talk will conclude with an example, showing how to solve the 2D Laplace equation and presenting a timing comparison with other Julia packages and native C++ Trilinos, showing that using the Julia interface does not slow down the system assembly.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/121/index.html b/previews/PR609/2018/talks_workshops/121/index.html new file mode 100644 index 000000000..bdac09288 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/121/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Black-Box Combinatorial Optimization — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Uri Patish +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Black-Box Combinatorial Optimization

+ +

Combinatorial optimization is a common theme in computer science which underlies a considerable variety of problems. While in general such problems are NP-Hard, from a practical point of view, locally optimal solutions can be quite useful. However, combinatorial problems require special solution strategies, and generic approaches like gradient methods for the continuous setting are hard to come by. We present a new stochastic optimization algorithm that can be applied in a generic fashion to a variety of combinatorial problems, and which only relies on function evaluations. In contrast to standard optimization algorithms, the new algorithm is highly parallelizable, and can rely on multiple evaluations simultaneously. The new algorithm is provided as part of a new Julia package that capitalizes on Julia’s parallel computation infrastructure in a manner that is completely transparent to the end user. Together with Julia’s excellent JIT compilation, this leads to a highly effective distributed optimizer for combinatorial problems that requires end users to provide nothing more than the function they seek to optimize.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/122/index.html b/previews/PR609/2018/talks_workshops/122/index.html new file mode 100644 index 000000000..2d3d22810 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/122/index.html @@ -0,0 +1,197 @@ + + + + + + + + + An introduction to high performance custom arrays — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Matt Bauman +

+ + Julia Computing + +

+
+
+
+ +
+
+ +
+ +
+ +
+

An introduction to high performance custom arrays

+ +

The ability to define fully-functional custom arrays with a struct definition and just a handful of methods is a powerful tool in Julia, but there are some tips and tricks that are essential to making them both fast and robust. In this talk, I’ll implement a custom array following the AbstractArray interface, and then we’ll dig in deeper to examine and iteratively optimize the generated code in a typical use-case. We’ll examine some key examples where custom arrays can completely transform an algorithm. You’ll be able to follow along with an incremental approach to defining and improving the arrays. Along the way, you’ll learn about the key idioms — like Holy traits and bounds-checking — that are integral to this interface. Finally, I’ll take a look at some of the more advanced custom arrays that are published, useful, and widely used.

+

+ +

Speaker's bio

+

Matt Bauman is a Senior Research Scientist at JuliaComputing at their Chicago outpost, where he spends lots of time working on Julia’s arrays. He’s been contributing to both the core language and multiple packages since 2014. At his previous position as a Data Science Fellow at the University of Chicago’s Center for Data Science and Public Policy, he longed for dot-broadcasting in Python. He recently defended his PhD dissertation in Bioengineering from the University of Pittsburgh, focusing on neural prosthetics.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/123/index.html b/previews/PR609/2018/talks_workshops/123/index.html new file mode 100644 index 000000000..e623ab80d --- /dev/null +++ b/previews/PR609/2018/talks_workshops/123/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Hierarchical Tensor Decompositions in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Frank Otto +

+ + University College London + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Hierarchical Tensor Decompositions in Julia

+ +

Tensor decompositions are a powerful method to compactly represent high-dimensional data. Such data is encountered quite naturally in the numerical treatment of quantum systems with many particles, e.g. small molecules. In this talk I will show how Julia helped me to represent a nine-dimensional potential energy surface for the H3O2- molecule as a compact hierarchical tensor, which allowed for a very efficient numerical computation of its ground state. The resulting Julia code for computing hierarchical tensor decompositions may be of general use for dealing with structured high-dimensional data.

+

+ +

Speaker's bio

+

Frank has a PhD in Theoretical Chemistry, and many years of experience with scientific software development and high performance computing. In 2017 he joined the Department of Chemistry at University College London as an HPC support specialist. Frank has been keenly following the development of Julia since 2013, and continues to advocate its use to his colleagues.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/125/index.html b/previews/PR609/2018/talks_workshops/125/index.html new file mode 100644 index 000000000..4e628facf --- /dev/null +++ b/previews/PR609/2018/talks_workshops/125/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Joulia.jl -- A Large-scale Spatial Open-source Electricity Sector Model Package — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jens Weibezahn +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Joulia.jl -- A Large-scale Spatial Open-source Electricity Sector Model Package

+ +

In this paper, we develop a fully open-source bottom-up electricity sector model with high spatial resolution using the Julia programming environment, describing source code and data set. This large-scale model of the German electricity market includes both generation dispatch in the spot market as well as the physical transmission network, minimizing total system costs in a linear approach. It simulates the market on an hourly basis, taking into account demand, renewables infeed, storages, and exchanges with neighboring countries. Following an open-source approach, model code and used data set are being made fully publicly accessible and open-source solvers like ECOS and CLP are being used. The model is then being benchmarked regarding runtime of building and solving against a representation in GAMS as a commercial algebraic modeling language and against Gurobi, CPLEX, and Mosek as commercial solvers. With this paper we want to show the power and abilities as well as the beauty of open-source modeling systems, increasing transparency in policy advice, available free of charge to everyone and using the advatages of open data, open-source modeling, and open-access publications.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/126/index.html b/previews/PR609/2018/talks_workshops/126/index.html new file mode 100644 index 000000000..a76ead3a9 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/126/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Visual Studio Code julia extension — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ David Anthoff +

+ + University of California, Berkeley + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Visual Studio Code julia extension

+ +

This talk will give an overview of the Julia extension for VS Code. The extension currently provides syntax highlighting, an integrated REPL, code completion, hover help, an integrated linter, code navigation, integration with the Julia testing infrastructure and integrated support for Weave documents (Julia’s knitr equivalent). A 30-minute version of this talk would talk about the internals of the extension. We would describe the Julia language server (our implementation of the Microsoft Language Server Protocol) that provides the integration with the VS Code UI. Other topics we would cover are our approach to build a robust and reliable software delivery mechanism that does not depend on the shared Julia package directory, our custom parser that is used in the language server and the developments currently being made to provide actionable parse-time formatting and linting hints, as well as any other features we might add between now and JuliaCon.

+

+ +

Speaker's bio

+

David Anthoff is an environmental economist who studies climate change and environmental policy. He co-develops the integrated assessment model FUND that is used widely in academic research and in policy analysis. His research has appeared in Science, Nature Climate Change, the Journal of Environmental Economics and Management, Environmental and Resource Economics, the Oxford Review of Economic Policy and other academic journals. He contributed a background research paper to the Stern Review and has advised numerous organizations (including US EPA and the Canadian National Round Table on the Environment and the Economy) on the economics of climate change.

+ +

He is an assistant professor in the Energy and Resources Group at the University of California, Berkeley. Previously he was an assistant professor in the School of Natural Resources and the Environment of the University of Michigan, a postdoc at the University of California, Berkeley and a postdoc at the Economic and Social Research Institute in Ireland. He also was a visiting research fellow at the Smith School of Enterprise and the Environment, University of Oxford.nHe holds a Ph.D. (Dr. rer. pol.) in economics from the University of Hamburg (Germany) and the International Max Planck Research School on Earth System Modelling, a MSc in Environmental Change and Management from the University of Oxford (UK) and a M.Phil. in philosophy, logic and philosophy of science from Ludwig-Maximilians-Universität München (Munich, Germany).

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/127/index.html b/previews/PR609/2018/talks_workshops/127/index.html new file mode 100644 index 000000000..7e52b200b --- /dev/null +++ b/previews/PR609/2018/talks_workshops/127/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Parameters.jl: keyword constructors and default values for types — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Mauro Werder +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Parameters.jl: keyword constructors and default values for types

+ +

Parameters.jl is a small package providing macros which add keyword constructors to types including the possibility to set default values for each field. This allows to effectively construct with types which have a large number of fields, as often encountered –for instance– to hold configurations of programs. Additionally, it provides macros to unpack (and pack) the values within a type, thus allowing to access them easily inside functions (or other scopes). +using Parameters @with_kw struct MyT a::Int = 1 # … m = 1:3 # … z::String = "zzz" end myt = MyT(z="j") # MyT(1, 1:3, "j") function f(myt::MyT, x) @unpack a, m = myt m + a + x end f(myt, 1) # 3:5 Keyword constructors and default field values are so useful that they are scheduled to hit Julia during a 1.x release (#10146). But don’t wait until then, unleash their power now!

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/128/index.html b/previews/PR609/2018/talks_workshops/128/index.html new file mode 100644 index 000000000..7caf299a5 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/128/index.html @@ -0,0 +1,208 @@ + + + + + + + + + JuliaRobotics: Making robots walk with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Robin Deits +

+ + MIT + +

+
+
+
+ +
+
+ +
+ +
+ +
+

JuliaRobotics: Making robots walk with Julia

+ +

Robotics research combines some of the best challenges from optimization, differential equations, machine learning, and high-performance computing. Robots are complex dynamical systems, and the fundamental questions of how to coordinate and control all but the simplest of robots are still open. It’s up to us as scientists and engineers and makers to bring about the best robotic future we can, and Julia will be part of that future. +In this talk, I’ll discuss how we’re replacing Python, C++, and MATLAB with a new set of tools in Julia to simulate, visualize, and control robots. I’ll also introduce the JuliaRobotics organization, which has been founded to coordinate and promote robotics software development in Julia. +In particular, I’ll discuss our work at MIT towards a major goal: controlling a 350 pound hydraulic walking humanoid robot in Julia. In the process, I’ll talk about the custom tools that we’ve built in JuliaRobotics as well as the ways we’re integrating with the excellent tools from JuliaDiffEq, JuliaOpt, FluxML, JuliaGeometry, JuliaGizmos, and more. You’ll hear about:

+ + +

+ +

Speaker's bio

+

Robin is a PhD student at MIT who should probably be working on his thesis instead of writing JuliaCon talk proposals. His early PhD work involved planning and control of the Atlas humanoid robot at the DARPA Robotics Challenge, and he is now interested in helping walking robots safely move through the world without falling. He’s a recovering former MATLAB user, and he’s been developing robotics tools in Julia for the past few years. You can see some of his work on github some of his silly projects on his blog and some of his thoughts on Julia for robotics at Julia Computing’s case studies.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/129/index.html b/previews/PR609/2018/talks_workshops/129/index.html new file mode 100644 index 000000000..9d6970764 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/129/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Our Journey Through the Perils of AOT Compilation — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Ján Dolinský +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Our Journey Through the Perils of AOT Compilation

+ +

We followed AOT capabilities of Julia closely since very early, i.e., Julia in v0.3 as this is one of the crucial capabilities for a commercial product development. Recently there was a useful article written by Viral which guided us through the AOT compilation process. After some trials we successfully managed to compile our Julia source code and put it in the production. Moreover, we enhanced the original scripts to make the compilation process smoother and enabled its automation. We would like to share our journey through this entire mission in detail covering compilation on Linux and Windows too. +We shall also take into account performance comparisons of JIT compiled routines to their AOT versions.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/13/index.html b/previews/PR609/2018/talks_workshops/13/index.html new file mode 100644 index 000000000..471670870 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/13/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Julia as a platform for language development — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jamie Brandon +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Julia as a platform for language development

+ +

Many problems turn out to be compiler problems, in fields as diverse as database querying, ‘big data’ engines, machine learning, probabilistic programming, web APIs, GUI development, network configuration, distributed systems and model checking. +But creating a quality compiler from scratch takes an incredible amount of effort. The PL community has long recognized this problem and has produced a whole zoo of proposed solutions, including shared virtual machines (eg JVM, CLR), staging (eg Terra, Squid) and partial evaluation (eg RPython, Truffle). +Using examples from both personal and commercial projects, I’ll show that many of these approaches are already available in Julia, and can be mixed and matched as needed to produce fast language implementations with minimal effort. I’ll also cover problems we’ve encountered along with workarounds.

+

+ +

Speaker's bio

+

I make programming languages and interfaces. Until recently a researcher at RelationalAI, working on declarative languages for in-database machine learning.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/130/index.html b/previews/PR609/2018/talks_workshops/130/index.html new file mode 100644 index 000000000..65d99a131 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/130/index.html @@ -0,0 +1,198 @@ + + + + + + + + + A Scalable Scheduler Plugin For Dagger on JuliaRun — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Tanmay Mohapatra +

+ + Julia Computing + +

+
+
+
+ +
+
+ +
+ +
+ +
+

A Scalable Scheduler Plugin For Dagger on JuliaRun

+ +

We at Julia Computing are working on a scheduler for running large DAGs (directed acyclic graphs) on many nodes in parallel. Though the concepts it is being built on are generic, it currently leverages on the existing Julia package Dagger (for representing computation DAGs) and is intended to be used with JuliaRun (to deploy Julia applications in production at scale). +Based on experiences in running large scale DAG computations with JuliaDB, this talk will present problems we encountered and our approach to tackle them. In particular: - minimizing data transfer across process and node boundaries - inter-process data transfer without blocking computation - avoiding single point scheduler bottleneck - graceful failure handling

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/14/index.html b/previews/PR609/2018/talks_workshops/14/index.html new file mode 100644 index 000000000..990944c4a --- /dev/null +++ b/previews/PR609/2018/talks_workshops/14/index.html @@ -0,0 +1,199 @@ + + + + + + + + + BioJulia and Bioinformatics in Julia: Past, Present, Future — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Ben J. Ward +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

BioJulia and Bioinformatics in Julia: Past, Present, Future

+ +

At JuliaCon 2015, Daniel Jones presented BioJulia: A modern Bioinformatics framework. In the years following, as julia has developed, so has BioJulia grown in the number of packages, and the number of contributors. +At the same time, sequencing technology has moved at a rapid pace, resulting more data, and in new techniques for assembling and analysing genomes. As a result biologists and bioinformaticians face both conceptual, scientific, and engineering questions: What is the canonical representation of a genome? What is the best way to analyse genomic data to address my hypothesis? How can these analyses be made reliable and repeatable? How do we do it quickly and efficiently, and on commonly available hardware? +In this talk I will present how BioJulia has developed since 2015 and how we have addressed some of the challenges current Bioinformatics practices have presented us with. I will also talk about some of the directions Bioinformatics research (in particular genome assembly and multi-genome analyses) is heading, and where I think BioJulia development will be heading in anticipation of this comming “pan-genomics era”.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/142/index.html b/previews/PR609/2018/talks_workshops/142/index.html new file mode 100644 index 000000000..732a33a5f --- /dev/null +++ b/previews/PR609/2018/talks_workshops/142/index.html @@ -0,0 +1,213 @@ + + + + + + + + + An effective method to investigate stochastic delayed systems using Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Henrik Sykora +

+ + Budapest University of Technology and Economics + +

+
+
+
+ +
+
+ +
+ +
+ +
+

An effective method to investigate stochastic delayed systems using Julia

+ +

An effective method to investigate stochastic delayed systems using Julia

+ +

During investigation of dynamical systems, stochastic effects are often neglected, however stochastic excitations many times influence the behaviour of the systems. In case of applying deterministic models to approximate stochastic systems, during the identification process of system parameters usually their mean value is used as the parameter, while the measured variation is used to qualify the measurements. This approach often does not describe well enough the behaviour of the investigated system and leads to false results. +An example from mechanical engineering problems is machine tool vibrations, where the goal is to avoid vibration during the material removal process in order to ensure the best surface quality, while maintaining the highest possible material removal rate. The mathematical models, through which the dynamics of the machining is investigated are almost exclusively deterministic delayed differential equations. However, the forces originating from the cutting depend on a large number of factors (e.g. friction, high frequency changes in chip formation, material inhomogeneity), which gives the process a highly stochastic nature. +Another possible application is the investigation of traffic dynamics in the presence of vehicles equipped with connected cruise control (CCC), using vehicle-to-vehicle (V2V) communication. One goal of the corresponding researches is to avoid a phenomena called phantom traffic jam, during which spontaneous traffic jam forms without any accident or roadblock, due to the drivers’ large reaction times and limited perception range. The use of autonomous vehicles decreases the reaction times, but to gain beyond line of sight information one has to apply V2V communication. The simplest method for this technology is that each vehicle measures its position and velocity (e.g. with GPS and on board velocity sensors) and broadcasts it to the other vehicles. The broadcasted signal is received by the other vehicles, and they use this data to control their velocity. A challenge is that packet losses occur, which results in a “jerky” behaviour of the vehicle. To investigate the effect of the packet losses, usually deterministic packet loss patterns are used, introducing time-dependent time delay into the system. However, these packet losses occur stochastically, causing the time delay to be stochastic.

+ +

To facilitate the investigation of the stationary behaviour of such systems, a Julia package was created. This package is able to handle stochastic delayed linear systems, which can be written in the following structure:

+ +\[\mathrm{d}\mathbf{x}_t = \left(\mathbf{A}(t) \mathbf{x}_t + \mathbf{B}(t) \mathbf{x}_{t-\tau(t)}\right)\mathrm{d}t +\left(\boldsymbol{\sigma}(t)+\boldsymbol{\alpha}(t)\mathbf{x}_t + \boldsymbol{\beta}(t) \mathbf{x}_{t-\tau(t)}\right)\mathrm{d}W_t,\] + +

where $\mathbf{x}(t)\in \mathbb{R}^d$ is the $d$-dimensional state vector, $\mathbf{A}(t),\mathbf{B}(t),\boldsymbol{\alpha}(t),\boldsymbol{\beta}(t) \in\mathbb{R}^{d\times d}$ are deterministic, time dependent coefficient matrices, $\sigma(t)\in\mathbb{R}^d$ is the vector corresponding to the additive noise $\tau(t) \in \mathbb{R}$ is the time delay, which can change between discrete values stochastically. To model the stochastic effects in the parameters, the $W_t$ Wiener process is used. +The package is capable to compute moment stability and stationary $\lim_{t\to\infty}\mathbb{E}\left(\mathbf{x}_t\mathbf{x}_t^\top\right)$ second moment of the delayed system. Furthermore, the method is generalised to handle multiple time delays and stochastic excitations. One has to only supply the coefficient matrices and the time delay as functions of time, then the package calculates the mentioned stationary properties of the investigated system.

+ +

Machine tool vibrations: +Conference proceeding at ASME, Homepage of the ERC SIREN project +Connected cruise control V2V communication: Book chapter on Springer.com

+

+ +

Speaker's bio

+

Henrik Sykora is a PhD student at the Budapest University of Technology. His main research topic is the investigation of the behaviour of linear stochastic delayed differential equations. After spending some time in Karlsruhe University of Technology and a few months in University of Michigan, he realized that even if there is a good mathematical method, it is worth few, if it cannot be used by others quickly and simply. That’s why he is striving to create a Julia package, with which he can give not only published results, but also a possible tool for others. +When he is not glued to a chair gazing at a computer screen, he tries to teach mechanics to mechanical engineering students, reads books about great and not so great (but nevertheless successful) people, and tries not to tap too much during his brazilian Jiu-Jitsu trainings.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/143/index.html b/previews/PR609/2018/talks_workshops/143/index.html new file mode 100644 index 000000000..2ef599561 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/143/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Bi-level optimization for consumption predictability in smart grids — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Mathieu Besançon +

+ + GERAD, Montréal & INRIA Lille + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Bi-level optimization for consumption predictability in smart grids

+ +

Power grids are evolving with the integration of distributed and renewable generation sources and with the possibility of exchange of information between consumers and the aggregator supplying them. We highlight an application of bi-level optimization for such situation involving a new energy tariff setting for residential consumers, implemented in Julia first as a black-box problem, then decomposed as a set of linear problems with JuMP.

+

+ +

Speaker's bio

+

Mathieu Besançon is a PhD student in a double program between Ecole Polytechnique of Montréal, Canada at GERAD, and the INOCS team at INRIA Lille, France. His research focuses on optimization in smart grids for the development of simple, robust and scalable Demand Response programs.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/144/index.html b/previews/PR609/2018/talks_workshops/144/index.html new file mode 100644 index 000000000..cf96edb4b --- /dev/null +++ b/previews/PR609/2018/talks_workshops/144/index.html @@ -0,0 +1,197 @@ + + + + + + + + + BITE, a Baysian Ice Thickness Estimation model — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Mauro Werder +

+ + ETH Zurich, Switzerland + +

+
+
+
+ +
+
+ +
+ +
+ +
+

BITE, a Baysian Ice Thickness Estimation model

+ +

The around 200’000 glaciers and ice caps around the world are projected to dominate global sea level rise up to 2100. Whilst air-borne and ground-based ice penetrating radar works very well, it cannot be applied to all glaciers. Thus to estimate their thickness methods based on remotely sensed surface data are needed. We present such a method based on a simple, semi-physical forward model based on mass conservation and basic ice physics and combine it with a Bayesian inversion approach. Using MCMC techniques we can estimate maps of ice thickness and their errors. The forward model is reasonably well tuned and can calculate a thickness map of a big glacier in less than 0.1s. The inversion is done using KissMCMC.jl which implements a Affine Invariant Markov chain Monte Carlo (MCMC) Ensemble sampler modeled after the Python emcee implementation.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/145/index.html b/previews/PR609/2018/talks_workshops/145/index.html new file mode 100644 index 000000000..1638e1c4a --- /dev/null +++ b/previews/PR609/2018/talks_workshops/145/index.html @@ -0,0 +1,203 @@ + + + + + + + + + Built to Last- Developing Robust Trading and Investment Strategies — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Vivek Gadodia +

+ + Dravyaniti Consulting LLP + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Built to Last- Developing Robust Trading and Investment Strategies

+ +

How often have we across trading strategies that work well in back-test, but don’t do as well after going live. Or they may do well, and then stop working abruptly. The problem is very challenging to deal with, especially when clients also start losing faith with the draw-down duration getting extended. What is, then a way to get the edge on your side? How to design effective systems which gain advantage of price moves when in favour, but go on the defensive when the markets are not in favour. This is a classic combination of combining defensive and attacking strategies simultaneously, to build highly effective systems. By combining price action and indicators on multiple time-frames, analysing larger chunks of data like a parallel processor would do, we can make more robust and profitable strategies.

+ +

In the talk, I’ll be showing: +a) Guide-lines around how to select time-frames, and selection of indicators to apply on the different time-frames. +b) Compare and show some couple of examples from single time-frame systems v/s multi-time frame systems coded in Julia in different asset classes.

+

+ +

Speaker's bio

+

I have been involved in systematic trading for the past 10 years and developed over a 100 models across various frequencies i.e. high, medium and low, across global markets. Currently, I manage a suite of non-correlated strategies which are being used by Proprietary Desks, Hedge Funds, High Net Worth Individuals to manage their portfolio risks and generate absolute returns. A large part of the reason of our systems having survived is due to the usage of Multiple Time Frames in analysing market data, and using Julia to work with multiple Time-Series in parallel.

+ +

I have coded in multiple languages using VBA, C++, Java, Python, Julia and have hands on experienced working on large scale complex projects for enterprises. I found trading systems to be the area that helps me use and apply multi-disciplinary skills and I continue to learn and develop on that. It’s a journey, which I believe is best lived by sharing ideas and continuously growing, learning from mistakes.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/146/index.html b/previews/PR609/2018/talks_workshops/146/index.html new file mode 100644 index 000000000..3d23d4588 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/146/index.html @@ -0,0 +1,200 @@ + + + + + + + + + COBRA.jl - Gearing up for high-dimensional constraint-based modelling — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Laurent Heirendt, Ph.D. +

+ + University of Luxembourg + +

+
+
+
+ +
+
+ +
+ +
+ +
+

COBRA.jl - Gearing up for high-dimensional constraint-based modelling

+ +

The COnstraint-Based Reconstruction and Analysis (COBRA) community is developing ever larger biochemical networks. Reconstructions with millions of biochemical reactions are on the horizon. The limits of traditional implementations in MATLAB, Python, or C, are reached when exploring such large networks, especially when performing the same analysis on thousands of these large models. +A main requirement for accelerating existing and new COBRA methods is a short development time and the ability to gain speedups with the convenience of writing code similar to Python or MATLAB while assuring parallelism across multiple nodes without traditional MPI- based languages. This is why the COBRA community turned towards Julia, and released the high-level, high-performance, and open-source COBRA.jl package. +DistributedFBA.jl [1], part of COBRA.jl, allows to perform a flux variability analysis or any of its related types efficiently, especially on large (up to 500’000 reactions) and huge-scale models (more than 500’000 reactions). PALM.jl [2] allows to launch analyses based on the COBRA Toolbox [3] across several computing nodes simultaneously, and this for hundreds of models. The COBRA Toolbox is a comprehensive software suite of interoperable COBRA methods written in MATLAB, which has found widespread applications in biology, biomedicine, and biotechnology because its functions can be flexibly combined to implement tailored COBRA protocols for any biochemical network. +Julia is the language of choice when it comes to accelerating analyses of large and huge-scale biochemical networks. With the COBRA.jl package, reconstruction and analysis of large and huge-scale models is made possible and accelerated.

+

+ +

Speaker's bio

+

Laurent Heirendt was born in 1987 in Luxembourg City, Luxembourg (Europe). He received his BSc in Mechanical Engineering from the Ecole Polytechnique Fédérale de Lausanne, Switzerland in 2009. A year later, he received his MSc in Advanced Mechanical Engineering from Imperial College London in the UK, where his research and thesis focused on developing a general dynamic model for shimmy analysis of aircraft landing gear that is still in use today. He received his Ph.D. in 2014 in Aerospace Science from the University of Toronto, Canada. He developed a thermo-tribomechnical model of an aircraft landing gear, which led to a patent pending design of a critical aircraft landing gear component. He then worked in industry and oversaw the structural analysis of large aircraft docking structures. Recently, Laurent started as a Research Associate at the Luxembourg Centre for Systems Biomedicine, where he works in the numerical optimization of large biochemical networks using Julia. Besides his mother tongue Luxembourgish, he is fluent in English, French, and German, and he is currently learning Brazilian Portuguese.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/147/index.html b/previews/PR609/2018/talks_workshops/147/index.html new file mode 100644 index 000000000..412f395fc --- /dev/null +++ b/previews/PR609/2018/talks_workshops/147/index.html @@ -0,0 +1,199 @@ + + + + + + + + + EchoJulia – a new approach to scientific echosounder data analysis — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Rob Blackwell +

+ + British Antarctic Survey + +

+
+
+
+ +
+
+ +
+ +
+ +
+

EchoJulia – a new approach to scientific echosounder data analysis

+ +

Fisheries surveys are typically conducted using echosounders on research ships to estimate animal abundance and biomass. New unmanned, marine autonomous vehicles and underwater gliders are being used to increase spatial and temporal sampling, but existing acoustic processing software is inadequate for embedded, autonomous applications. +EchoJulia is a new, open source software library being developed at the British Antarctic Survey, Cambridge, UK as part of a PhD studentship. We found that the Julia programming language has enabled the same code to be used for embedded systems prototypes, desktop interfaces, and batch-mode, big data processing. +Rob will talk about his field work in the Southern Ocean, his decision to use Julia for acoustic data processing, as well as the resulting applications in acoustic noise removal and Antarctic krill swarm detection.

+

+ +

Speaker's bio

+

After a long career in the computer software industry, Rob Blackwell is now a PhD candidate at the British Antarctic Survey learning about Scientific Computing and Data Science applied to fisheries acoustics. It’s really just an excuse to hack Julia code.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/148/index.html b/previews/PR609/2018/talks_workshops/148/index.html new file mode 100644 index 000000000..39060daa9 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/148/index.html @@ -0,0 +1,201 @@ + + + + + + + + + Enhancing Photovoltaic Solar Cell Manufacturing: Design and Scale-up of an Industrial AACVD under Uncertainty — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Pedro Ivo de Oliveira Filho +

+ + University College London + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Enhancing Photovoltaic Solar Cell Manufacturing: Design and Scale-up of an Industrial AACVD under Uncertainty

+ +

The global energy sector has now sustainability as one of its main objectives and solar technology is amongst the most viable options for a reliable and clean energy production. Reducing the cost of solar modules is a crucial element to increase the potential of such a solution. Solar cells are based on Transparent and Conductive Oxide (TCO) films, which can be produced via a process called Aerosol-Assisted Chemical Vapour Deposition (AACVD). Concisely, this process is based on sequential stages. Firstly, aerosol is generated from a solution containing TCO precursors. Then, the aerosol is transported to a heated chamber, where the solvent evaporates and the precursors deposit, forming the desired film. Not only can TCOs be produced by this process, but also composites, powders, coatings, nanotubes, etc.

+ +

Although there is some research available in the literature reporting small scale experimental results of the AACVD technique, there is little about computational modelling. The latter would nevertheless be crucial for the design and scale-up of the AACVD. Consequently, we present an integrated model composed of aerosol generation, transport and delivery. For the aerosol generation, we predict the range of droplet sizes obtained via ultrasonic atomisation of the precursor solution. This is done using probability distributions, which become one of the inputs for the transport model. We can then predict the aerosol loss as a function of the properties of the droplets, the flow and the piping system. The model output shows the fraction of aerosol that reaches the heated chamber as well as its size range. It has been tested for a variety of scenarios, using different combinations of horizontal, inclined and vertical pipes. Finally, the solvent evaporation in the heated chamber is modelled, which depends mainly on the temperature profile of the site and the flow conditions. The precursors are now free to deposit and form the desired products. Uncertainty and sensitivity analyses are performed throughout the process.

+ +

The stochastic aspects of aerosol generation, transport and delivery were incorporated using probability distributions. Experimental results were used to validate the model predictions for droplet sizes for the generated aerosol and the loss during transport. Through the formulation of an optimisation problem, the model presented has been used to suggest possible designs for the transport system, minimising the aerosol loss. This approach is suitable for transport distances on the scale of industrial processes. Other applications based on particle atomisation and transport, such as fuel combustion and spray drying or cooling, can also use the models presented here. Finally, the knowledge acquired while handling uncertainties in the modelling of the AACVD process has been used to plan a modelling framework based on Julia that will enable us to represent uncertainties and manipulate variables with uncertain values.

+

+ +

Speaker's bio

+

Pedro received his BEng in Chemical Engineering with first-class honours in 2015 from the Federal University of Minas Gerais (UFMG). He was part of the Scientific Initiation Program in Mathematics at the same university (2011-2014). He was a fellow of the Science without Borders program at McMaster University, Canada (2012-2013). In 2015 Pedro started his PhD studies at University College London, while maintaining hobbies like football, volunteering, activities related to the work of J. R. R. Tolkien and C. S. Lewis, etc.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/149/index.html b/previews/PR609/2018/talks_workshops/149/index.html new file mode 100644 index 000000000..eab4068e2 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/149/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Estimation of Nonlinear Errors-in-Variables Models for Computer Vision Applications — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Dr. Zygmunt L. Szpak +

+ + Australian Institute for Machine Learning + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Estimation of Nonlinear Errors-in-Variables Models for Computer Vision Applications

+ +

A central task in computer vision involves fitting parametric models to digitised images. In particular, given a collection of image feature locations, one seeks a set of parameters that describe a specific relationship between the image locations. Often the data-parameter connection takes the form of a system of equations, and the underlying estimation task falls into the category of non-linear heteroscedastic errors-in-variables regression problems. +I will present an approximate maximum likelihood cost function and concomitant numerical scheme which encapsulates a broad class of problems including conic fitting, optical flow, homography and fundamental matrix estimation; trifocal tensor estimation; camera calibration and three-dimensional rigid motion estimation. Thanks to Julia’s Unicode support and multiple dispatch capability I will be able to demonstrate a clear and concise implementation which embodies the various natural levels of mathematical abstraction that lead to generic code.

+

+ +

Speaker's bio

+

Zygmunt L. Szpak received his Ph.D. degree in Computer Science from the University of Adelaide, Australia, in 2013, and his M.Sc. degree in Computer Science from the University of KwaZulu-Natal, South Africa, in 2009. He is a senior research fellow at the Australian Institute for Machine Learning—an institute at the University of Adelaide. He works on numerous industry inspired computer vision problems. In the last couple of years, his work has focused on the application of machine learning and multiple-view geometry techniques for the development of smart medical devices.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/15/index.html b/previews/PR609/2018/talks_workshops/15/index.html new file mode 100644 index 000000000..debbba139 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/15/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Why Julia is the most suitable language for science …and how we use it in JuliaDynamics — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ George Datseris +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Why Julia is the most suitable language for science …and how we use it in JuliaDynamics

+ +

Because scientific computing requires the highest performance, most science related libraries are written in C/Fortran and define a high-level API, most commonly in Python. Julia solves this “two-languages” problem, and also offers many more benefits. In my talk I want to focus on something that I consider a big, but often unstressed, asset of Julia: the fact that it brings unprecedented code clarity and intuition, both of which are crucial for scientific progress. I want to argue about how Julia removes “black-boxes” and “blind-trust” by allowing you to easily inspect and understand source code without being a developer. +The packages of the JuliaDynamics GitHub organization (currently: DynamicalSystemsBase.jl, ChaosTools.jl and DynamicalBilliards.jl) have been written to take full advantage of this asset of Julia. In my talk I will briefly overview them and show examples of how one can have a 1-1 correspondence between computer code and scientific thought and algorithms.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/150/index.html b/previews/PR609/2018/talks_workshops/150/index.html new file mode 100644 index 000000000..dd49947b2 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/150/index.html @@ -0,0 +1,201 @@ + + + + + + + + + Extended Neurons with Noise in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ R Gowers +

+ + University of Warwick + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Extended Neurons with Noise in Julia

+ +

Neurons in the brain are highly complex structures which are bombarded by randomly arriving synaptic inputs. Indeed, most of the time, neurons in the cortex fire due to random fluctuations and are in the “subthreshold regime”. Understanding how neurons behave in this noisy environment is important to understanding computation in the brain. My poster gives an overview of how I have used Julia for my theoretical models, numerical simulations and data analysis.

+ +

Neurons are highly elongated with differences in synapses along their length, and I am interested in how the spatial properties of neurons affect their firing behaviour. Therefore, it is necessary to numerically solve stochastic differential equations in both space and time. Julia allowed me to create and run these simulations with little difficulty. Since I am interested in numerous random trials to calculate the average firing rate from a population of neurons, the relative ease of simple parallelisation in Julia has been very helpful to me. The profiling of simulations has also been very useful for finding inefficiencies and making my code run faster.

+ +

A wide range of different neuronal parameters are typically explored during simulations, and it is therefore useful to save these parameters of a simulation in an easy to read manner with the simulation data itself. To this end, the HDF5 derived JLD file format has been invaluable. It has also been useful in restructuring real-world data obtained from experiments, in which I used various techniques to infer the parameters.

+

+ +

Speaker's bio

+

I am a second year PhD student at the University of Warwick currently doing research in computational neuroscience. Previously, I have done some research in thin film transistors and resistive memory. I have been using Julia for about 3 years now, when I used it to find all possible solutions to a puzzle.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/151/index.html b/previews/PR609/2018/talks_workshops/151/index.html new file mode 100644 index 000000000..e1cba1e88 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/151/index.html @@ -0,0 +1,203 @@ + + + + + + + + + Getting Started with Bayesian Techniques in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Andrew Collier +

+ + Exegetic Analytics + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Getting Started with Bayesian Techniques in Julia

+ +

What are the minimum things you need to know to start applying Bayesian techniques in Julia? This talk will provide an entry level discussion covering the following topics:

+ +
    +
  • What can Bayes do for me? (A blitz introduction to Bayesian methods)
  • +
  • What is Stan?
  • +
  • Using Stan in Julia.
  • +
+

+ +

Speaker's bio

+

Andrew Collier is a freelance Data Scientist, working at the interface between Academia and Industry. He spends most of his time in R, Python, SQL and the BASH, but dabbles in a wide range of other technologies. He enjoys giving training and public speaking.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/152/index.html b/previews/PR609/2018/talks_workshops/152/index.html new file mode 100644 index 000000000..ff28f1763 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/152/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Introduction to Quantitative Macroeconomics using Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Petre Caraiani +

+ + Institute for Economic Forecasting, Romanian Academy + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Introduction to Quantitative Macroeconomics using Julia

+ +

The presentation is based on the results in my forthcoming book “Introduction to Quantitative Macroeconomics using Julia” forthcoming at Academic Press. The presentation will deal first with general numerical techniques, covering techniques related to linear algebra, root finding or optimization based on available packages in Julia. The presentation becomes more technical in the second part, where I cover specific techniques employed in macroeconomics, but that can be used in related disciplines like finance, operation research, statistics, optimization: dynamic programming, simulation techniques, solving and simulating systems of stochastic difference equations. +The presentation will balance theory with applications in Julia and the code to accompany the book will be available online.

+

+ +

Speaker's bio

+

I am a Senior Researcher at the Institute for Economic Forecasting, Romanian Academy. I have a PhD in economics and I do research in quantitative modeling. I have published numerous papers in peer-reviewed journals.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/153/index.html b/previews/PR609/2018/talks_workshops/153/index.html new file mode 100644 index 000000000..0cd6a6d14 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/153/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Julia Robots on the Raspberry Pi — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Ahan Sengupta +

+ + City of London School + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Julia Robots on the Raspberry Pi

+ +

This talk is about remote-control robots using by a Raspberry Pi, with code written in Julia. The motors and other peripherals are connected to the Raspberry Pi via the GPIO pins. This shows physical uses of Julia and teaches how to access motors and other elements attached to a Pi via GPIO in Julia. In addition, it also shows how to hack wireless third-party video game controllers in Julia. In this program, Julia will communicate wirelessly with the controller and control the motors and the other miscellaneous accessories of the robot. Julia will also process the images coming out of the robot’s camera.

+

+ +

Speaker's bio

+

I’m 12 years old and have a great interest in programming. I started coding in Scratch when I was 9 years old but I can now code in Python and Julia.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/154/index.html b/previews/PR609/2018/talks_workshops/154/index.html new file mode 100644 index 000000000..1776064b4 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/154/index.html @@ -0,0 +1,208 @@ + + + + + + + + + Lessons for beginner developers: Arbitrary order generalized OrthogonalPolynomials.jl in 100 lines of Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Miguel Raz Guzmán Macedo +

+ + UNAM + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Lessons for beginner developers: Arbitrary order generalized OrthogonalPolynomials.jl in 100 lines of Julia

+ +

Getting started is hard. +As of yet, there is no standard “Practices and principles of Software design in Julia” canonical reference. +This talk seeks to add a resource to beginner steps STEM people face when starting with package development in design. +Yes, our manuals state explicitly how different functions work by themselves, but composing simple behaviors to build a tool and solve a problem is a rich and complex design space where no obvious answers exist. Adventurous early adopters haven’t necessarily slogged in this phase due to prior experience in other languages, but a repertoire of incremental handheld software design practices and principles is welcome. +This is where I find OrthogonalPolynomials.jl exciting. In a terse ~100 lines of code, one can produce arbitray order generalized canonical orthogonal polynomials that have a myriad of applications in numerical computing. This means that a vast amount of functionality can be obtained with very little Julia code through the simple use of multiple dispatch a little metaprogramming, and generated functions. +So OK, you can build a Julia package that has stellar functionality. This is not new - what is new is to produce documentation of the entirety of the design process in curated Youtube Videos and livestreams to answer questions about the increasing simplifications and tradeoffs of the design, and extending the conversation to the viewership is where I believe the added value for the Julia Community in this talk lies.

+

+ +

Speaker's bio

+

I am a Mexican physics student interested in the overlap of HPC and physics with the use of Julia. +I participated in competitive debating in HS and university, landed handstands all around the world and am a wannabe polyglot. +I enjoy climbing, reading long form foreign policy analysis, and building communities to care for those most vulnerable. +If you see my tweets, I’ve probably added you to the ever-growing list of Julia tweeters, and if you see my posts on Discourse, you will have probably seen my push for a growing resource for Spanish speakers diving into Julia. +To wanna see what I’m about, feel free to drop into my stream for some casual programming riffing on the speedrunning videogame community online. +(Although its probs best to wait until school is over.) +God bless summer!

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/154/twitch.tv/brainrpg.html b/previews/PR609/2018/talks_workshops/154/twitch.tv/brainrpg.html new file mode 100644 index 000000000..ac9c11000 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/154/twitch.tv/brainrpg.html @@ -0,0 +1,88 @@ + + + + + + Page not found · GitHub Pages + + + + +
+ +

404

+

File not found

+ +

+ The site configured at this address does not + contain the requested file. +

+ +

+ If this is your site, make sure that the filename case matches the URL.
+ For root URLs (like http://example.com/) you must provide an + index.html file. +

+ +

+ Read the full documentation + for more information about using GitHub Pages. +

+ + + + + + +
+ + diff --git a/previews/PR609/2018/talks_workshops/155/index.html b/previews/PR609/2018/talks_workshops/155/index.html new file mode 100644 index 000000000..cb0a4a850 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/155/index.html @@ -0,0 +1,199 @@ + + + + + + + + + LU update in the Simplex Method — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Renan Domingues +

+ + UFPR - Federal University of Paraná + +

+
+
+
+ +
+
+ +
+ +
+ +
+

LU update in the Simplex Method

+ +

Linear programming is highly used for problem solving, since many real life applications can be well represented by minimizing costs under constraints, allowing the most efficient way to allocate and manage resources. This study is focused in the Simplex method, a linear optimization search method characterized by moving along the edges of the viable region while always decreasing the function value.

+ +

The revised Simplex method was studied and implemented along with the LU update for performance improvement, aiming for the solution of large scale sparse problems. The method was implemented fully in the Julia Language and tested against the available solvers in the JuMP platform.

+

+ +

Speaker's bio

+

I’m an undergraduate chemical engineering student from Brazil. I love science and computational mathematics and hope to be working with research in the future.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/156/index.html b/previews/PR609/2018/talks_workshops/156/index.html new file mode 100644 index 000000000..f1e77c7c6 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/156/index.html @@ -0,0 +1,203 @@ + + + + + + + + + PCE.jl - Towards a Julia Package for Polynomial Chaos Expansion — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ beckerfloh@gmail.com +

+ + Karlsruhe Institute of Technology + +

+
+
+
+ +
+
+ +
+ +
+ +
+

PCE.jl - Towards a Julia Package for Polynomial Chaos Expansion

+ +

PCE.jl - Towards a Julia Package for Polynomial Chaos Expansion

+ +

Uncertainties and inaccuracies pervade all kinds of models that are derived from experimental data. Introducing random variables into the governing equations of a dynamical system is one way to describe the inherent uncertainty. A polynomial chaos expansion (PCE) of a random variable is a spectral representation in terms of an orthogonal polynomial basis and can be used as a technique for uncertainty quantification and uncertainty propagation. +This poster announces PCE.jl, a Julia Package for uncertainty quantification that was part of my masters thesis at the Optimization & Control Group at KIT, Germany.

+

+ +

Speaker's bio

+

Hey, my name is Florian and I’m from Karlsruhe, Baden-Württemberg, Southern Germany. I studied cognitive and computer science in Tübingen and Karlsruhe and next month I am starting a Phd in CS at KIT. I am interested in numerical computing, image processing and beer :) +I once climbed a mountain near Reykjavik while it was hailing and I will never do it again.

+ +

My favorite member of One Direction is, of course, Louis Tomlinson.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/157/index.html b/previews/PR609/2018/talks_workshops/157/index.html new file mode 100644 index 000000000..e60852043 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/157/index.html @@ -0,0 +1,208 @@ + + + + + + + + + Probabilistic Programming and Gaussian Processes in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Will Tebbutt +

+ + University of Cambridge + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Probabilistic Programming and Gaussian Processes in Julia

+ +

The goal of a Probabilistic Programming Language (PPL) is to make probabilistic modeling as composable and straightforward to use as Deep Learning (DL). A PPL enables domain experts to compose probabilistic models and perform inference, without having to worry precisely how inference happens. This is analogous to how DL frameworks let you compose various layers and learn their parameters, without having to worry about the details of how their gradients are computed.

+ +

Unfortunately, a PPL that works well in practice is significantly harder to implement than a DL framework. This is because a PPL ultimately approximates high-dimensional integrals (hard), whereas a DL framework is concerned with computing high-dimensional gradients (easy-ish). There is, however, an edge case in which PP is easy: if all of the random variables in our programme are jointly Gaussian, then these high-dimensional integrals can be computed exactly. Perhaps surprisingly, by considering very large collections of jointly Gaussian random variables, known as Gaussian processes (GPs), we can construct a large class of useful probabilistic models for functions.

+ +

In this poster I

+
    +
  • present a simple ML problem which is solved very well by GPs;
  • +
  • present some seemingly simple extensions to this problem which are tricky to do with traditional it-does-one-thing-well style machine learning software, but which are trivial in a PP framework;
  • +
  • present the core computational problem associated with GPs, which drives a large amount of research, and discuss how a variety of Julia’s features (syntactic loop fusion, support for specially-structured matrices via multiple dispatch, amongst others) make it the ideal language in which to realise PP with GPs;
  • +
  • discuss how integration with Turing.jl is natural, and how this will enable the use of GPs as a component in general probabilistic models; and
  • +
  • highlight some gaps in Julia’s linear algebra ecosystem that, if filled / improved, would be immediately useful for GPs.
  • +
+

+ +

Speaker's bio

+

Will is a PhD student in the Computational and Biological Learning lab at the University of Cambridge, working on problems in probabilistic machine learning. He is particularly interested in Gaussian processes, automating Bayesian inference, and the use of machine learning to solve problems in climate science. When not working he can be found playing the guitar, or listening to people play it well.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/158/index.html b/previews/PR609/2018/talks_workshops/158/index.html new file mode 100644 index 000000000..c9756f211 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/158/index.html @@ -0,0 +1,197 @@ + + + + + + + + + The Hidden Information in Stochasticity: How Biological Organisms Use and Control Randomness — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Chris Rackauckas +

+ + University of California, Irvine + +

+
+
+
+ +
+
+ +
+ +
+ +
+

The Hidden Information in Stochasticity: How Biological Organisms Use and Control Randomness

+ +

Randomness and stochasticity are prevalent features of biological phenomena. Usually, experiments are repeated multiple times and the average results are taken to be indicative of the truth. However, I will show that the randomness in the data due to the experimental variation is not “just noise”, but rather a rich source of information. We will focus on retinoic acid signaling in the developing zebrafish hindbrain. There it will be demonstrated using stochastic differential equation models in via DifferentialEquations.jl that the protein crabp2a is able to control the level of biological noise without changing the mean values, a feature we will call mean-independent noise attenuation. We will describe how a very specific level of randomness in the retinoic acid signal is required for hindbrain segmentation to properly occur, and show that mean-independent noise attenuation causes crabp2a to act as a control knob to achieve the appropriate noise levels and allows the rhombomere boundaries to sharpen. Additionally, we will show that this information about the internal biochemical randomness constrains the possible models of hindbrain signaling networks, and use this to mathematically deduce the source of the random variation. Together, the audience should leave with an understanding that randomness may be far more insightful than the average behavior.

+

+ +

Speaker's bio

+

I am a mathematician and theoretical biologist at the University of California, Irvine. My programming language of choice is Julia and I am the lead developer of the JuliaDiffEq organization dedicated to solving differential equations (and includes the package DifferentialEquations.jl). My research is in time stepping methods for solving stochastic differential equations (SDEs) and applications to stochastic partial differential equations (SPDEs) which model biological development.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/16/index.html b/previews/PR609/2018/talks_workshops/16/index.html new file mode 100644 index 000000000..4019421c2 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/16/index.html @@ -0,0 +1,201 @@ + + + + + + + + + Saving lives with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ S. Hessam M. Mehr +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Saving lives with Julia

+ +

Healthcare, law enforcement, and regulatory bodies worldwide are working hard to keep up with the recent outpour of new designer drugs hitting the streets. The poster child of the phenomenon, fentanyl, is a notoriously addictive synthetic opioid with numerous potent derivatives, some deadly in milligram quantities. Quite a few of these are routinely encountered in drug samples throughout Canada, often mixed with various cutting agents. Drug overdose related to fentanyls took the lives of 2,861 Canadians in 2016 alone. +Whatever the appropriate response to the crisis, it would requires a new breed of analytical technique that can quickly differentiate between and quantify the many members of this growing zoo of opioids. To this end, a recent addition to the toolbox at Health Canada is nuclear magnetic resonance (NMR) spectroscopy, which studies the interaction between radiofrequency (RF) waves and atomic nuclei (typically hydrogen, i.e. proton) placed in a very strong magnetic field. The resulting spectra reflect the electronic/magnetic environment of each proton in a given chemical compound, giving an indication of its molecular structure. Although they provide a wealth of quantitative structural information about sample constituents, NMR spectra of complex mixtures are difficult to manually interpret, especially by non-experts. This is often the case with street drugs, where samples often contain 3-6 major components. +Luckily, the NMR spectrum of a mixture can often be approximated by the linear combination of those of its constituents. We have used this property to write a Julia program that, given the NMR spectra for various compounds of interest, uses this mathematical decomposition scheme to find the exact composition of an unknown mixture. As always, things do get more complicated since the above relationship is only approximately true. In reality, mixing different chemicals together slightly modifies each compound’s contribution to the overall spectrum. Still, we found it straightforward to prototype and implement more robust implementations of the algorithm in Julia that could deal with this added complexity. +The end result, NMR.jl, is the core project of the nascent JuliaNMR ecosystem on GitHub. NMR.jl aims to be a general-purpose NMR processing library and comes with state-of-the-art routines for automatic quantitative analysis of mixtures. Julia’s multiple dispatch semantics, excellent performance, and interactive development style allowed us to design much of the library in an exploratory manner and freely experiment with different ideas. +This talk gives an overview of NMR.jl and how its spectral decomposition algorithm is being used at Health Canada’s Drug Analysis Service. We hope to demonstrate the unique features of the Julia programming language that helped quickly prototype and implement NMR.jl and the custom automation routines around it, all without sacrificing performance. Aside from the language itself, we hope to credit the excellent Julia libraries (e.g. Plots.jl) without which NMR.jl would not have been possible.

+

+ +

Speaker's bio

+

Hessam Mehr is an electrical engineer turned synthetic chemist who graduated from the University of British Columbia last year and badly misses the good old days of graduate school. Between September 2017 and March 2018, Hessam was working with Health Canada to develop techniques for analyzing drug samples using nuclear magnetic resonance. Currently, he is a post-doc at the University of Glasgow where he continues to spend his free time biking, learning new human and computer languages, practicing calligraphy (not very well at all), and baking bread.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/17/index.html b/previews/PR609/2018/talks_workshops/17/index.html new file mode 100644 index 000000000..e77848877 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/17/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Unraveling lymphoma tumor microenvironment interactions with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Meghan Ferrall-Fairbanks +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Unraveling lymphoma tumor microenvironment interactions with Julia

+ +

Burkitt’s lymphoma is a highly aggressive B-cell non-Hodgkin lymphoma that accounts for about half of all childhood cancers in areas of holoendemic malaria across Africa and Papau New Guinea. This rapidly growing malignancy has a cell doubling time of every 24-48 hours, suggesting that the tumor microenvironment plays an important role in tumor evolution and progression. To study the tumor microenvironment, we used Jupyter Notebook to implement a game theoretic, ordinary differential equation-based framework. We seek to understand the dynamics between lymphoma cells, fibroblasts, and macrophages using DifferentialEquations.jl. To this end, we parameterized our mathematical model using longitudinal cell-growth data from triple culture experiments with different initial conditions of each cell type, using MonteCarloProblem with Optim.jl and L1-Loss Regularization with PenaltyFunctions.jl. Julia’s platform provided a cohesive, easy to use environment, customizable to our specific problem, allowing us to easily estimate our model parameters simultaneously over 47 different growth conditions. From our parameter estimated, we could infer the biological interactions in the lymphoma tumor microenvironment. This will enable us to propose better detection and treatment strategies for lymphoma. Julia provided an integrated ecosystem which allowed us to use one single platform to create our model, estimate parameters from experimental data, and make predictions from in silico simulations.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/18/index.html b/previews/PR609/2018/talks_workshops/18/index.html new file mode 100644 index 000000000..21d30a8c3 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/18/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Understanding the real world: large-scale point cloud classification — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Josh Christie +

+ + Fugro + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Understanding the real world: large-scale point cloud classification

+ +

Fugro has collected huge amounts of data relating to the Earth’s surface and subsurface. Manual methods of classification are time-consuming and expensive. In the last year, we have developed algorithms using Julia to provide per-point classification of 3D point clouds using our own spatial feature libraries in combination with classifiers such as XGBoost. This work has been so successful that we’ve been able to provide detail about a range of real-world objects, such as buildings, roads, powerlines, vehicles and fences, to our clients without requiring expensive and slow human quality assurance processes. +In this talk I’ll discuss the machine learning algorithms we use, approaches for optimisation, data storage, and our greatest challenges and opportunities going forward.

+

+ +

Speaker's bio

+

Josh is a data scientist/engineer at Fugro, where he develops machine learning algorithms to model the world from lidar and imagery data.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/2/index.html b/previews/PR609/2018/talks_workshops/2/index.html new file mode 100644 index 000000000..f462a7e98 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/2/index.html @@ -0,0 +1,212 @@ + + + + + + + + + A practical introduction to metaprogramming in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Andy Ferris +

+ + Fugro Roames + +

+
+
+
+ +
+
+ +
+ +
+ +
+

A practical introduction to metaprogramming in Julia

+ +

In many programming environments, user friendliness must be traded of with execution speed. Using abstractions or “generic” code may come with a run-time overhead. Avoiding abstract or generic code exposes the user to underlying details that they may not care about, making code harder to read and reason about at a higher level, reducing programmer productivity. Often two languages are even employed - one for rapid prototyping, and one for deployment.

+ +

It doesn’t have to be this way. The Julia language has been carefully constructed to allow for many common abstractions to be dealt with statically at compile time and have a have a zero run-time cost. This workshop will cover the topic of “metaprogramming” in Julia, which plays a large role in providing for low-cost abstractions and generic APIs. Traditionally, a “meta” program is logic which executes at compile time to help generate the code of a resulting program - that is, it is code that generates other code.

+ +

In this workshop we will cover the building blocks of metaprogramming in Julia, starting with one of its core concepts - multiple dispatch, which in combination with the type system is itself is a Turing-complete computational environment. We will then begin working our way to more advanced topics such as traits, macros, constant propagation and generated functions, following approximately this order:

+ +
    +
  • Multiple dispatch as a metaprogramming technique
  • +
  • Method inlining: faster than C
  • +
  • Games with tuples: splatting, slurping and recursion
  • +
  • Dispatch revisited: traits
  • +
  • Constant propagation (and what are @pure functions?)
  • +
  • Expressions and macros
  • +
  • Generated functions and when (not) to use them
  • +
  • This workshop will attempt to be a pedagogical tutorial on how and when to use these techniques, full of practical examples I’ve seen in the wild or have used in my own code. Consideration will be given in how to use metaprogramming and still maintain a readable code base. Advice will also be provided on how to work with the compiler, and not against it, and how to make effective use of tools such as @code_typed. At the end of the workshop I hope you will have learned a technique or two that will help you to create generic, user-friendly APIs without sacrificing peak performance.
  • +
+

+ +

Speaker's bio

+

I am an algorithm and software engineer at Fugro Roames, applying machine learning techniques to big data in order to make sense of and to model the physical world. I have been using Julia since v0.3 for both research and commercial production-at-scale, and am the author of several Julia packages including StaticArrays.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/20/index.html b/previews/PR609/2018/talks_workshops/20/index.html new file mode 100644 index 000000000..6fa4c6164 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/20/index.html @@ -0,0 +1,208 @@ + + + + + + + + + MIToS.jl: Mutual Information Tools for protein Sequence analysis in the Julia language — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Diego Javier Zea +

+ + Sorbonne Université + +

+
+
+
+ +
+
+ +
+ +
+ +
+

MIToS.jl: Mutual Information Tools for protein Sequence analysis in the Julia language

+ +

Background Coevolution methods generate a growing interest in the scientific community due to its usefulness to predict the tridimensional protein structures, protein-protein binding interfaces and functionally important sites [1,2]. Mutual Information (MI) algorithm is useful for determining covariation or coevolving between positions in a Multiple Sequence Alignment (MSA). There is a great number of tools for estimating MI and derived scores from a MSA [3,4]. Although, none of them use a high level programming language, easy to use and modify, while having a good performance. As the Julia language is a high level programming language for scientific computing with a close to C performance [5], MIToS implements MI analysis and several useful tools for MSA and protein structure management in it. +Materials and methods MIToS starting point was an improvement of the algorithm published by Buslje et. al. [1]. Other MI derived scores described in Brown & Brown [3] and Dickson & Gloor [4] were also included in MIToS. MIToS implements all the necessary tools for developing and testing new scores based on amino acid frequencies: functions and types for dealing with MSAs, parsing protein structures and determine inter residue contacts, mapping information between sequence and structure using SIFTS and predictive performance testing using ROC curves. MIToS also allows running these analysis from a command line, without requiring programming knowledge. We successfully used it to integrate structural and sequence information from a protein family large dataset. +Results MIToS modules allow to write and run an entire protein sequence and structure analysis pipeline in a single programming language. Julia performance and easy to use parallelism allow us to run these analyses on a large dataset of protein sequence and structures and to test multiple hypotheses, parameter combinations, etc. As a result, we were able to create new knowledge about the relation between the evolutionary signals and the change of protein structures through the evolution [6]. +Conclusions MIToS allows users to access the the Julia language programming power for analysing and managing protein multiple sequence alignments. The implementation of several useful scripts in MIToS for command line execution allows acceding to this new MI implementations and its derived score to non-programmers. MIToS tools makes MSA editing and MI calculation easy and facilitates the integration of sequence and structure information. +References <ol type="1"> <li>Buslje, C. M., Santos, J., Delfino, J. M., & Nielsen, M. Correction for phylogeny, small number of observations and data redundancy improves the identification of coevolving amino acid pairs using mutual information. Bioinformatics 2009, 25(9), 1125-1131.

+
    +
  • Buslje, C. M., Teppa, E., Di Doménico, T., Delfino, J. M., & Nielsen, M. Networks of high mutual information define the structural proximity of catalytic sites: implications for catalytic residue identification. PLoS Comput Biol 2010, 6(11), e1000978-e1000978.
  • +
  • Brown, C. A., & Brown, K. S. Validation of coevolving residue algorithms via pipeline sensitivity analysis: ELSC and OMES and ZNMI, oh my. PloS one 2010,5(6), e10779.
  • +
  • Dickson, R. J., & Gloor, G. B. The MIp Toolset: an efficient algorithm for calculating Mutual Information in protein alignments. arXiv preprint 2013, arXiv:1304.4573.
  • +
  • Bezanson, J., Edelman, A., Karpinski, S., & Shah, V. B. Julia: A fresh approach to numerical computing. arXiv preprint 2014, arXiv:1411.1607.
  • +
  • Zea, D.J., Monzon, A.M., Parisi, G. and Marino-Buslje, C., 2017. How is structural divergence related to evolutionary information?. bioRxiv, p.196782.
  • +
+

+ +

Speaker's bio

+

I learned C at the university, then I did Bash, Perl, Python and R during the PhD. Now I’m a postdoc student doing Bioinformatics that has moved all its research pipeline into Julia. I think that Julia and its ecosystem are mature enough to do research with it. Also, MIToS shows how Julia can be used to solve the two/multiple language problem in Bioinformatics. MIToS also uses high-level abstractions that are possible in Julia to be faster than its C predecessor, even for someone without a strong programming background.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/21/index.html b/previews/PR609/2018/talks_workshops/21/index.html new file mode 100644 index 000000000..45c32cd11 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/21/index.html @@ -0,0 +1,199 @@ + + + + + + + + + BayesTesting.jl: Bayesian Hypothesis Testing without Tears — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jeff Mills +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

BayesTesting.jl: Bayesian Hypothesis Testing without Tears

+ +

BayesTesting.jl implements a fresh approach to hypothesis testing in Julia. The Jeffreys-Lindley-Bartlett paradox does not occur.  Any prior can be employed, including uninformative and reference priors, so the same prior employed for inference can be used for testing, and objective Bayesian posteriors can be used for testing. In standard problems when the posterior distribution matches (numerically) the frequentist sampling distribution or likelihood, there is a one-to-one correspondence with the frequentist test.  The resulting posterior odds against the null hypothesis are easy to interpret (unlike p-values), do not violate the likelihood principle, and result from minimizing a linear combination of type I and II errors rather than fixing the type I error before testing. The testing procedure satisfies the Neyman-Pearson lemma, so tests are uniformly most powerful, and satisfy the most general Bayesian robustness theorem. +BayesTesting.jl provides functions for a variety of standard testing situations, along with more generic modular functions to easily allow the testing procedure to be employed in novel situations. For example, given any Monte Carlo or MCMC posterior sample for an unknown quantity, θ, the generic BayesTesting.jl function mcodds can be used to test hypotheses concerning θ, often with one or two lines of code. +The talk will demonstrate application of the new approach in several standard situations, including testing a sample mean, comparison of means, and regression parameter testing. A brief presentation of the methodology will be followed by examples. The examples illustrate our experiences with implementing the new testing procedure in Julia over the past year.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/22/index.html b/previews/PR609/2018/talks_workshops/22/index.html new file mode 100644 index 000000000..932be4b54 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/22/index.html @@ -0,0 +1,200 @@ + + + + + + + + + Julia apps on the App Store: Building and Distributing an application written in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Nathan Daly +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Julia apps on the App Store: Building and Distributing an application written in Julia

+ +

Turning your Julia software into a compiled, portable application is simple. In only a few steps you can have your code compiled to run on any computer, even if your users have never heard of Julia. +We will use ApplicationBuilder.jl to build an application together, starting from scratch and ending with a complete, distributable application. +We will also discuss a few options for adding a GUI to your application. +After this talk, you will be empowered to write, compile, and sell software written in Julia!

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/23/index.html b/previews/PR609/2018/talks_workshops/23/index.html new file mode 100644 index 000000000..38b918d2f --- /dev/null +++ b/previews/PR609/2018/talks_workshops/23/index.html @@ -0,0 +1,197 @@ + + + + + + + + + The Turing language for probabilistic programming — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Hong Ge +

+ + University of Cambridge + +

+
+
+
+ +
+
+ +
+ +
+ +
+

The Turing language for probabilistic programming

+ +

Probabilistic programming is becoming an attractive approach to probabilistic machine learning. Through relieving researchers from the tedious burden of hand-deriving inference algorithms, not only does it enable the development of more accurate and interpretable models but it also encourage reproducible research. However, successful probabilistic programming systems require flexible, generic and efficient inference engines. In this work, we present a system called Turing for flexible composable probabilistic programming inference. Turing has an intuitive modelling syntax and supports a wide range of sampling based inference algorithms. Most importantly, Turing inference is composable: it combines Markov chain sampling operations on subsets of model variables, e.g. using a combination of a Hamiltonian Monte Carlo (HMC) engine and a particle Gibbs (PG) engine. This composable inference engine allows the user to easily switch between black-box style inference methods such as HMC, and customized inference methods. Our aim is to present Turing and its composable inference engines to the community and encourage other researchers to build on this system to help advance the field of probabilistic machine learning.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/24/index.html b/previews/PR609/2018/talks_workshops/24/index.html new file mode 100644 index 000000000..56276331f --- /dev/null +++ b/previews/PR609/2018/talks_workshops/24/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Teaching Statistics to the Masses with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Hayden Klok +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Teaching Statistics to the Masses with Julia

+ +

For several years, Julia has been used as a tool of choice for several specialized courses around the globe. However, with V1.0 still in the works, using it as a teaching tool for massive (service) statistics courses bears some risks. Nevertheless, in a second year engineer statistics course, taught to a student body involving 500 students, we have used Julia and JuliaBox for two years consecutively. Through this experience, we have also developed an array of elementary to intermediate coding examples, each presenting a different aspect of probability, statistics, and the Julia language.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/25/index.html b/previews/PR609/2018/talks_workshops/25/index.html new file mode 100644 index 000000000..28c9d5e48 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/25/index.html @@ -0,0 +1,202 @@ + + + + + + + + + ForneyLab.jl: a Julia Toolbox for Factor Graph-based Probabilistic Programming — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Thijs van de Laar +

+ + Eindhoven University of Technology + +

+
+
+
+ +
+
+ +
+ +
+ +
+

ForneyLab.jl: a Julia Toolbox for Factor Graph-based Probabilistic Programming

+ +

Scientific modeling concerns a continual search for better models for given data sets. This process can be elegantly captured in a Bayesian (probabilistic) inference framework. ForneyLab is an open source probabilistic programming toolbox that enables largely automated design loops by deriving fast, analytic algorithms for message passing-based approximate Bayesian inference. +Probabilistic programming extends conventional programming languages with the facility to compute rationally with random variables through probability calculus. ForneyLab is a Julia package that allows the user to specify a probabilistic model and pose inference problems on those models. In return, FL automatically constructs a Julia program that executes a message passing-based approximate inference procedure. In conjunction with a specification of (possibly streaming) data sources, the inference program can be executed to fit the model to the data. Additionally, ForneyLab provides a measure of the performance of the model fit, thus facilitating comparison to alternative models. Typical applications include the design of dynamic models for (Bayesian) machine learning systems, statistical signal processing, computational neuroscience, etc. +More specifically, a design cycle in ForneyLab consists of three phases. First, in the build phase, the end user specifies a (probabilistic) model. Through the use of macros, the model is specified in a domain-specific syntax that strongly resembles notational conventions in alternative probabilistic programming languages. Usually, even complex model specifications fit on less than one page of code. Under the hood, ForneyLab builds a Forney-style factor graph (FFG), which is a computational network representation of the model. A strong feature of the FFG formalism includes its extremely modular make-up, which allows re-use of computational inference primitives. The choice for FFG-based model specifications (and consequently, message passing-based inference procedures) is where ForneyLab differs from competing probabilistic programming languages (aside from our choice for a native Julia realization). +Next, in the schedule phase, the user specifies the inference problem. This is usually encoded by a few lines of code. ForneyLab then automatically derives a message passing algorithm that, when executed, computes the posterior marginal probability over the desired variables. The generated message passing code may contain thousands of code lines, depending on the size of the model. A clear asset of message passing-based inference algorithms is that they are comprised of many cheap and analytical updates that can be re-used across models, and furthermore can potentially be implemented on dedicated (parallel) hardware configurations. This contrasts to modern sampling-based approaches to inference, such as Markov chain Monte Carlo and Automatic Differentiation Variational Inference, which usually require massive computational resources. +In the final infer phase, ForneyLab parses and executes the automatically generated inference program. For the user, this action is initiated by one statement. Additionally, a separate function can be generated to evaluate the model fit, which provides insights on model quality and algorithm convergence during inference. +ForneyLab relies heavily on Julia’s meta-programming functionality. Not only does it use macros for the model specification, but the main output is also a Julia program by itself. This flexibility, together with benefits of the modular FFG approach, makes it a powerful tool for a scientist or engineer who wants to develop models for a given data set.

+

+ +

Speaker's bio

+

Thijs van de Laar received his MSc degree in natural sciences from the Radboud University Nijmegen in 2010. Currently he works as a PhD student in the BIASlab group (http://biaslab.org) at the Electrical Engineering department at Eindhoven University of Technology (TU/e). He is interested in Bayesian machine learning for personalized audio processing.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/26/index.html b/previews/PR609/2018/talks_workshops/26/index.html new file mode 100644 index 000000000..7ca6754cd --- /dev/null +++ b/previews/PR609/2018/talks_workshops/26/index.html @@ -0,0 +1,210 @@ + + + + + + + + + For-Loops Are Not a Frontend: Index Notation And The Future Of Array Compilers — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Peter Ahrens +

+ + MIT Computer Science and Artificial Intelligence Laboratory + +

+
+
+
+ +
+
+ +
+ +
+ +
+

For-Loops Are Not a Frontend: Index Notation And The Future Of Array Compilers

+ +

The task of writing a complete library for linear algebra can be summarized as:

+
    +
  • For all linear algebra problems:
  • +
  • For all matrix and problem structures:
  • +
  • For all data types:
  • +
  • For all architectures and networks:
  • +
  • +
  • Produce the best algorithms with respect to performance and accuracy UC Berkeley CS267 Class Notes +In Julia, the explosion in the number of array types and operations (both in terms of representation and function) has added even more dimensions of complexity to this problem. Automation is necessary to handle the software engineering complexity of a performant linear algebra compiler, and defining the inputs with a unified generic computational framework for array operations is the first step. +Index notation (Einstein summation) is a powerful representation of array operations that is general enough to encapsulate most nested loops on array accesses, but simple enough for humans and machines to understand and manipulate. With some small generalizations of the datatypes and operations, this notation can elegantly express important computations in a staggering range of applications. A few examples include machine learning, quantum chemistry, graph algorithms, data mining, and image processing. +Index notation is catching on as an API for array metaprogramming. Several emerging computational frameworks for linear algebra and tensor operations have have emerged that use index notation (or subsets thereof) to describe input operations. TACO (a compiler for operations on sparse tensors), Cyclops (A library for performing distributed tensor contractions), Facebook’s Tensor Comprehensions (A compiler for tensor expressions seen in deep learning applications) and the Tensor Contraction Engine (A library for dense tensor operations arising in computational chemistry) are just a few prominent examples of libraries which use index notation to describe input operations. Libraries for stencil computation (such as Halide) also often use syntax which can be thought of as a generalization of index notation. +By using this simple representation of array computations, we can separate the description of an operation from how the operation is actually implemented. When the operation is described in index notation, it becomes easy to optimize the implementation or specialize the whole operation for new or mixed array or element types. With small modifications, index notation can generalize broadcast, transpose, and reduce operations, providing more specific control of which axes should be manipulated. Index notation can also generalize Julia’s more complicated getindex and setindex! operations. This was originally recognized by the ArrayMeta.jl project, with the goal of unifying the implementation of an entire Julia Array type into a single generated function. Several Julia projects have used index notation as an interface to linear-algebraic metaprogramming, among them ArrayMeta.jl, TensorOperations.jl, and Tensors.jl. +Since index notation was created for use in scientific domains to describe tensor operations, few descriptions are targeted towards programmers. In this talk, I will give a programmer-centric description of index notation and it’s various flavors, showing how it can be used to describe some example operations. I will summarize how index notation separates mechanism and policy in the ecosystem of tensor implementations and compilers. Finally, I will explain how to transform and specialize index notation from the operation to the array types to the elementwise operations.
  • +
+

+ +

Speaker's bio

+

I write algorithms to improve interfaces and automate performance engineering tasks in scientific computing. When I get distracted, I enjoy woodworking, glassblowing, burritos, and climbing. I am a second year computer science graduate student at MIT, and Department of Energy Computational Science Graduate Fellow.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/27/index.html b/previews/PR609/2018/talks_workshops/27/index.html new file mode 100644 index 000000000..5e6f20a00 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/27/index.html @@ -0,0 +1,200 @@ + + + + + + + + + Tame your databases: SearchLight ORM — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Adrian Salceanu +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Tame your databases: SearchLight ORM

+ +

SearchLight is an Object Relational Mapping layer for Julia. It exposes a concise but powerful API for database querying and persistence by simply manipulating Julia objects – while also packing a versatile DSL for database migrations, and a robust helper for data validation. It can future-proof your code with its transparent support for multiple backends (SQLite, MySQL, PostgreSQL, ODBC and JDBC) while implementing best practices with automatic user input escaping, support for environments, file generators, database seeding, logging and more. +SearchLight models are nothing but Plain Julia Objects so they can augment your existing codebase. Or they can be the foundation for building your next data-centric applications: SearchLight promotes a streamlined workflow through convention over configuration and handy generators. +It can also considerably reduce development time with its large set of built-in types and the wide support for CRUD operations. And if you need more control, you can always get down to the metal and run raw SQL queries or retrieve the underlying DataFrame results, through SearchLight’s lower level API. +Join me on a quick tour of the main features and learn how to use SearchLight to tame your databases!

+

+ +

Speaker's bio

+

Seasoned web developer on a quest to reinvent web development through Julia. Creator of Genie, the highly productive Julia web framework. Author of “Julia v1 By Example”.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/28/index.html b/previews/PR609/2018/talks_workshops/28/index.html new file mode 100644 index 000000000..17cf12122 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/28/index.html @@ -0,0 +1,205 @@ + + + + + + + + + Performance of Monte Carlo pricing of Asian options using multi-threading — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Bogumił Kamiński +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Performance of Monte Carlo pricing of Asian options using multi-threading

+ +

During the talk I discuss how to use MersenneTwister pseudorandom number generator in-built into Julia in multi-threading computations. +It is divided into three parts:

+
  1. The implementation of MersenneTwisteris not thread-safe. I show an example of bad results of a simulation when a single instance of RNG is shared by more than one thread. +* You can use randjump function to create several independent RNGs. I explain why and how it can be used in multi-threading code. +* When using many threads on modern CPUs, you often you can improve the performance of the code by making sure that fields of RNGs do not have adjacent memory locations. I show that randjump by default creates adjacent RNGs and how this can be fixed. The above issues will be presented using an example of Asian option pricing using Monte Carlo simulation. Here are example timings of the code with and without fixing of randjump output (run on AWS EC2 c4.4xlarge 16 vCPU machine): +
    1. single thread: 3.0583 s. +* 16 threads; default randjump: 0.9068 s. +* 16 threads; fixed randjump: 0.3399 s. +
+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/29/index.html b/previews/PR609/2018/talks_workshops/29/index.html new file mode 100644 index 000000000..3e57a5f70 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/29/index.html @@ -0,0 +1,197 @@ + + + + + + + + + The New Circuitscape in Julia - modern, fast and scalable — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Ranjan Anantharaman +

+ + Julia Computing, Inc. + +

+
+
+
+ +
+
+ +
+ +
+ +
+

The New Circuitscape in Julia - modern, fast and scalable

+ +

Circuitscape is a widely used tool in landscape ecology. It borrows ideas from electronic circuit theory to predict connectivity in heterogeneous landscapes. We have re-implemented Circuitscape (originally a Python package) in Julia, providing a 4-8x benefit in speed and scalability. This talk will focus on two main thrusts: 1. The specific benefits that Julia provides over Python, and how that manifests in the end-user experience. The Julia package has several additional features as compared to the Python package: the ability to switch solvers seamlessly, single precision support, and the ability to provide parallelism on all three platforms (Mac, Linux and Windows). 2. How we developed a complete end-to-end product in pure Julia, from writing native Julia iterative solvers (AMG.jl) to packaging and shipping, including writing our own Windows installers.

+

+ +

Speaker's bio

+

Ranjan Anantharaman is a data scientist at Julia Computing. His interests span applied mathematics and numerical computing, and he enjoys working with computation across a variety of fields and domains.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/3/index.html b/previews/PR609/2018/talks_workshops/3/index.html new file mode 100644 index 000000000..c499fc61d --- /dev/null +++ b/previews/PR609/2018/talks_workshops/3/index.html @@ -0,0 +1,212 @@ + + + + + + + + + Machine Learning with Julia: Elegance, Speed and Ease — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Mike Innes, Deniz Yuret, and Pontus Stenetorp +

+ + Julia Computing, Koç University, and University College London + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Machine Learning with Julia: Elegance, Speed and Ease

+ +

Machine Learning (ML) is at its core the art of programming by data, rather than by hand, and ML has risen to become one of the most desirable skills in academia and industry. The common maxim is that two traits control who rules the ML landscape, ability to find and ingest more data and those that can innovate the quickest. Given these traits, we argue that Julia is uniquely poised as a very strong contender as the language for ML; as we allow for quick development cycles and offer unrivalled speed. After a quick introduction to the basics of ML, we will give the audience a description of the lay of the land in terms of libraries and frameworks in Julia, and finally proceed to build simple to complex models using the premier framework Flux. After attending the workshop the audience will be familiar with the basics of ML to avoid common pitfalls and be ready to tackle their own ML problems the Julian way.

+

+ +

Speaker's bio

+

Mike Innes is a software engineer at Julia Computing, where he works on among other things the Juno IDE and the machine learning ecosystem. He is the creator of the Flux machine learning library.

+ +

Deniz Yuret is an associate professor of Computer Engineering at Koç University in Istanbul working at the Artificial Intelligence Laboratory, as well as a long-time Julia contributor and original creator of the deep learning framework Knet.

+ +

Pontus Stenetorp is a senior research associate at University College London, where he spends most of his research time on natural language processing and machine learning.

+

+ + +

Resources

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/30/index.html b/previews/PR609/2018/talks_workshops/30/index.html new file mode 100644 index 000000000..fc771ed4f --- /dev/null +++ b/previews/PR609/2018/talks_workshops/30/index.html @@ -0,0 +1,199 @@ + + + + + + + + + EcoJulia - towards a framework for ecological data analysis in Julia. — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Michael Krabbe Borregaard +

+ + U of Copenhagen + +

+
+
+
+ +
+
+ +
+ +
+ +
+

EcoJulia - towards a framework for ecological data analysis in Julia.

+ +

Today’s ecologists rely increasingly on complex data analysis, and the ability to creatively define new analyses and design new computational tools has become a key component of ecological research. Ecologists generally rely on the R programming language for this, which has opened up exciting new possibilities, but also has inherent problems. Performance-critical functionality in R generally needs to be implemented in C or Fortran, making library code essentially a black box for scientific users. But more fundamentally there isn’t a strong culture for widespread collaboration on developing software tools in the ecological community, meaning that useful functionality is scattered across a fragmented package landscape. +Becaus of its combination of clear syntax and quick processing speed, Julia has the potential to solve these issues. Julia makes the development of efficient libraries easy for any researcher, and anyone familiar with the language can easily understand package code. But more importantly, Julia creates an opportunity to start from scratch, and develop a package ecosystem for ecology where different packages use the same types and interfaces. +We present the beginnings of such an infrastructure for ecological data analysis in Julia, that allows for an integrated and cohesive ecosystem of packages, without sacrificing the freedom of creating new packages with new implementations. We will also demonstrate the SpatialEcology package, which makes it easy to analyse ecological data in a split-apply-combine framework.

+

+ +

Speaker's bio

+

I’m a tenure-track professor at University of Copenhagen. I’ve used Julia since 0.4 and has used it for several published papers. I run EcoJulia together with Tim Poisot (Uni Montreal) with collaboration with Richard Reeve (Uni Glasgow). I’ve also been heavily invested in JuliaPlots in the past. Michael Krabbe Borregaard, MSc, PhD Assistant Professor (TT), Center for Macroecology, Evolution & Climate Natural History Museum of Denmark, University of Copenhagen Universitetsparken 15, DK-2100 Copenhagen Subject Editor, Ecography Associate Editor, Global Ecology and Biogeography Featured recent papers: Island biogeography: Taking the long view of nature’s laboratories, Science (2017) Oceanic island biogeography through the lens of the general dynamic model: assessment and prospect, Biological Reviews (2016). An Anthropocene map of genetic diversity, Science (2016)

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/32/index.html b/previews/PR609/2018/talks_workshops/32/index.html new file mode 100644 index 000000000..0c280e89c --- /dev/null +++ b/previews/PR609/2018/talks_workshops/32/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Hacking with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Helen Jiang +

+ + San Francisco Bay Area + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Hacking with Julia

+ +

To break cryptography is to solve mathematical puzzles, so Julia is perfect for the mission of attacking crypto. With this new use case, I would like to share what I discovered about Julia’s advantages and limitations. This includes: what are the kinds of crypto-puzzle-solving that Julia is best suited for? How is Julia used in building up these attacks? How would Julia be used for further cryptanalysis? +Some well-known but hard-to-get-right attacks I plan to share may include: block cipher cryptography (CBC) bitflipping attack, breaking fixed-nonce CBC in CTR mode, attacking a popular random number generator (RNG), breaking fixed-nonce XOR, and breaking stream cipher from a RNG. Want to see Julia in the wild in real-world hacking? Curious about how Julia functions in this not-so-common use case? This talk may be just right for you.

+

+ +

Speaker's bio

+

Helen does research and development at the intersection of cybersecurity and machine learning, solving problems and building solutions. Because she is not good at writing her own bio, she welcomes you to ask her in person about her stories, learnings, research, experiences, and evolution.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/33/index.html b/previews/PR609/2018/talks_workshops/33/index.html new file mode 100644 index 000000000..b8ff15a54 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/33/index.html @@ -0,0 +1,202 @@ + + + + + + + + + Omega: Fast, Causal Inference from Simple Parts — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Zenna Tavares +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Omega: Fast, Causal Inference from Simple Parts

+ +

Abstract + Omega is a library for probabilistic and causal inference. It started with the question “How can we say what we want to say in probabilistic languages?”. More precisely, we wondered why frameworks for deep learning and probabilistic inference provide little support to add declarative knowledge to our models. For instance, we should be able to simply assert that our classifiers are robust from adversarial attack; that they and are algorithmically fair; that physical objects persist continuously through time, in order to make make object tracking more robust; that human and mouse models are similar, so that measurements from mice help us make better inferences about humans, where data is expensive. Omega is the culmination of a theoretical and engineering effort to address this challenge. In short, an Omega program is a normal Julia function augmented with uncertainty, and inference is execution of that function under constraints. The salient features that distinguish Omega from other approaches are:

+
  1. Declarative knowledge: Omega allows you to condition on any Julia predicate, providing a mechanism to encode declarative knowledge about a domain. +* Causal inference: Omega allows you to imagine counter-factually what would happen under different scenarios. +* Higher-order: Omega allows you to condition on distributional properties such as expectation, variance, and divergences.  This allows us to encode properties such as algorithmic fairness and robustness directly. In this talk I will outline the principles of Omega through several examples in probabilistic and causal inference. I will also dive into some implementation details, such as how for inference we hijack the random number generator and automatically turn Boolean functions into "soft" Boolean function. +
+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/34/index.html b/previews/PR609/2018/talks_workshops/34/index.html new file mode 100644 index 000000000..b97f015ad --- /dev/null +++ b/previews/PR609/2018/talks_workshops/34/index.html @@ -0,0 +1,197 @@ + + + + + + + + + How to design equiripple filters in Julia? — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Tom Krauss +

+ + Epiq Solutions + +

+
+
+
+ +
+
+ +
+ +
+ +
+

How to design equiripple filters in Julia?

+ +

The existing Finite Impulse Response (FIR) filter design routines in the DSP.jl package are window based - a suboptimal technique that starts with an optimal L2 approximation to a desired response, and then applies a window to smooth out the ringing around the transition band. “remez” - the common name for the Parks-McClellan algorithm - is a better technique that gives much better control over the filter’s deviations from the desired response in the pass- and stop-bands. It designs FIR filters with optimal Chebyshev approximations to the desired response. In this talk I’ll provide an overview of the algorithm and efforts to include a pure Julia implementation in DSP.jl, and compare it to scipy’s C implementation.

+

+ +

Speaker's bio

+

I’ve been working in signal processing and wireless communications, doing software and system development for over 20 years. I worked 5 years at MathWorks (makers of MATLAB) between my MS and PhD, and 15+ years combined at Motorola and Epiq Solutions. I am coinventor on 15 issued US patents and have authored or coauthored over 20 conference and journal papers. I am on linked in and github. I gave a talk at my son’s High School AP CS class (click on a slide to zoom in, arrow keys to navigate) about computers and engineering that also includes some of my personal philosophy about learning and life.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/35/index.html b/previews/PR609/2018/talks_workshops/35/index.html new file mode 100644 index 000000000..1394823cb --- /dev/null +++ b/previews/PR609/2018/talks_workshops/35/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Julia for Physics: Quantum Monte Carlo — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Carsten Bauer +

+ + University of Cologne + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Julia for Physics: Quantum Monte Carlo

+ +

Julia has the potential to become the major programming language in numerical physics. In this presentation I will share my personal story about how switching to Julia has improved my physics research as well as outline some issues I have encountered. I will explain how I replaced an opaque C++ quantum Monte Carlo code by a clean and simple Julia implementation. While showing similar performance in large scale simulations of so-called metallic quantum critical points the Julia code has an order of magnitude fewer lines and allows one to perform number crunching and analysis in the same framework. I will argue that Julia’s type system and multiple dispatch paradigm naturally leads to flexible code which can be used in many different projects. As an implementation of this idea, I will conclude by introducing MonteCarlo.jl, a new package for simulating physical systems such as spin models and itinerant fermions by various (quantum) Monte Carlo flavors.

+

+ +

Speaker's bio

+

Carsten is a Ph.D. student in the theoretical physics department of the University of Cologne working on quantum criticality in metals. He studied physics and computer science at the Goethe University Frankfurt, the University of Florida, and the TU Darmstadt.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/36/index.html b/previews/PR609/2018/talks_workshops/36/index.html new file mode 100644 index 000000000..bae5bc09f --- /dev/null +++ b/previews/PR609/2018/talks_workshops/36/index.html @@ -0,0 +1,202 @@ + + + + + + + + + Interacting with nested data — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Andy Ferris +

+ + Fugro Roames + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Interacting with nested data

+ +

In this talk I will identify some commonly occurring data manipulation tasks, and introduce strategies to deal with them concisely and generically. By the end, you will be equipped with the tools to

+
    +
  • extend Julia’s notion of multiple indexing to container types other than arrays
  • +
  • manipulate data by adding new tools beyond Julia’s existing map, filter and reduce functionality to provide generic, higher-order functions for inherently nested data, such as splitting, grouping, combining and joining operations
  • +
  • represent relational data with in-built Julia types, and manipulate relations with the tools above To be specific, we aim to cover the key features of Indexing.jl, SplitApplyCombine.jl and the somewhat-cheekily-named MinimumViableTables.jl.
  • +
+

+ +

Speaker's bio

+

I am an algorithm and software engineer at Fugro Roames, applying machine learning techniques to big data in order to make sense of and to model the physical world. I have been using Julia since v0.3 for both research and commercial production-at-scale, and am the author of several Julia packages including StaticArrays.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/37/index.html b/previews/PR609/2018/talks_workshops/37/index.html new file mode 100644 index 000000000..d547f601b --- /dev/null +++ b/previews/PR609/2018/talks_workshops/37/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Teaching Data Analysis first steps with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Thierry Dhorne +

+ + University of South Brittany + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Teaching Data Analysis first steps with Julia

+ +

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/38/index.html b/previews/PR609/2018/talks_workshops/38/index.html new file mode 100644 index 000000000..e1d2a3f25 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/38/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Domo + Julia: Learnings from scaling Julia up to process petabytes in production — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jacob Quinn +

+ + Domo + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Domo + Julia: Learnings from scaling Julia up to process petabytes in production

+ +

Domo is the operating system for your business. Bring all your data into one place, transform it, and start getting real insights and value out of it. Automatically generating insights on petabytes of Fortune 500 data is no trivial task, so we turned to Julia for a solution that has performance, scale, and most importantly, statistics close to the heart. +Come learn about our custom Julia stack: how it came together, what we’ve learned scaling it, and how we’re leveraging it to bring automatic insights to Domo users.

+

+ +

Speaker's bio

+

Attended Carnegie Mellon for a master’s degree in data science and active Julia contributor for 4 years now.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/39/index.html b/previews/PR609/2018/talks_workshops/39/index.html new file mode 100644 index 000000000..a232ae5a7 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/39/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Complex Network Analysis of Political Data — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Ollin Demian Langle Chimal +

+ + Ministry of Social Development, Mexico + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Complex Network Analysis of Political Data

+ +

Complex Network Analysis of Political Data The Mexican Senate was recently awarded for fulfilling its transparency obligations, meaning that a vast amount of information is on their website. The problem is that the way in which they present it is largely uninformational so a complex network approach is proposed to study the dynamics of the given system. +We use Cascadia package and Julia’s parallelization capabilities in order to scrap the data that we consider useful for our research and export it to the graph oriented database Neo4j and make an exploratory data analysis for attendancy and voting patterns. Using LightGraphs package we build a temporal weighted network and apply a self developed algorithm for community detection in order to study coalition dynamics. Finally we make use of RCall to build a visualization that represents such dynamics through an alluvial diagram getting interest insight such as party switching and opposite parties coalitions. +As we want to make this as automatic and portable as possible, everything runs in Docker containers and is orchestrated via Docker Compose and a Luigi Pipeline. That gives us the opportunity to enlarge and analyze new information automatically once a week.

+

+ +

Speaker's bio

+

Musician who studied Physics and Data Science. Currently working at the Ministry of Social Development in Mexico using data science to focalize aid to those with greater needs.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/4/index.html b/previews/PR609/2018/talks_workshops/4/index.html new file mode 100644 index 000000000..cd814ac43 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/4/index.html @@ -0,0 +1,228 @@ + + + + + + + + + Numerical Analysis in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Sheehan Olver +

+ + Imperial College, London + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Numerical Analysis in Julia

+ +

This workshop proposal brings together 4 speakers on different topics in numerical analysis. The aim of the workshop is to have demonstrations of Julia packages in this area in a way to motivate the results to a “general” audience. Our speakers cover a variety of areas to give a broad demonstration of what is now possible using Julia.

+ +

Speakers and titles

+
    +
  • Sheehan Olver: ApproxFun.jl, Approximating Functions and Solving Differential Equations.
  • +
  • David P. Sanders: ValidatedNumerics.jl, Rigorous Floating-point Calculations with Interval Arithmetic.
  • +
  • R. Mikael Slevinsky: FastTransforms.jl, Fast Orthogonal Polynomial Transforms.
  • +
  • Weijian Zhang: MatrixDepot.jl, Testing Linear Algebra Algorithms in Julia.
  • +
+ +

Abstracts

+

ApproxFun.jl, Approximating Functions and Solving Differential Equations +Sheehan Olver, Imperial College, London

+ +

ApproxFun.jl is a Julia package that makes working with functions on a computer fast and easy. Basic algebra and calculus operations are available, so that one can, for example, differentiate the function $\sin\cos^2 x$ as easy as typing sin(cos(x)^2)'. Further capabilities include solving differential equations and random number sampling. This talk will demonstrate the capabilities of ApproxFun, and how Julia’s approach to typing allows for these capabilities to be used with other types, such as Dual numbers (from DualNumbers.jl) or BigFloats.

+ +

ValidatedNumerics.jl, Rigorous Floating-point Calculations with Interval Arithmetic +David P. Sanders, Universidad Nacional Autónoma de México

+ +

I will present a suite of Julia packages in the JuliaIntervals organisation which provide implementations of numerical methods that provide results that are guaranteed to be correct. These are based on interval arithmetic, i.e. defining arithmetic and elementary functions acting on intervals of real numbers.

+ +

This gives us a tool to calculate with continuous sets of real numbers, and thus rigorously bound the range of a function over a given set. Applications of this technology include finding, in a guaranteed way, all the roots of a multivariable function in a given region of space, and finding the global optimum of a function.

+ +

FastTransforms.jl, Fast Orthogonal Polynomial Transforms +R. Mikael Slevinsky, University of Manitoba

+ +

FastTransforms.jl allows the user to conveniently work with orthogonal polynomials with degrees well into the millions. Transforms include conversion between Jacobi polynomial expansions, with Chebyshev, Legendre, and ultraspherical polynomial transforms as special cases. For the signal processor, all three types of nonuniform fast Fourier transforms available. As well, spherical harmonic transforms and transforms between orthogonal polynomials on the triangle allow for the efficient simulation of partial differential equations of evolution. Algorithms include methods based on asymptotic formulae to relate the transforms to a small number of fast Fourier transforms, matrix factorizations based on the Hadamard product, hierarchical matrix decompositions à la Fast Multipole Method, and the butterfly algorithm.

+ +

MatrixDepot.jl, Testing Linear Algebra Algorithms in Julia +Weijian Zhang, University of Manchester

+ +

Test matrices are important for exploring the behavior of linear algebra algorithms and for measuring their performance with respect to accuracy, stability, convergence rate, speed, or robustness. We give a brief historical remark on the development of test matrices in different programming languages and then focus on the advantage of using MatrixDepot.jl for testing and exploring new algorithms in Julia. Using both contrived and real-world examples, we demonstrate the power of MatrixDepot.jl which takes advantage of many nice Julia features, such as using multiple dispatch to help provide a simple user interface and to allow matrices to be generated in any of the numeric data types supported by the language.

+

+ +

Speaker's bio

+

I am a Reader (equivalent to Assoc. Professor) in Applied Mathematics and Mathematical Physics at Imperial College, London. My research is in numerics, in particular spectral methods and complex analytical methods. I have extensive experience with programming Julia, having developed several packages (ApproxFun.jl, BandedMatrices.jl, BlockBandedMatrices.jl, etc.).

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/40/index.html b/previews/PR609/2018/talks_workshops/40/index.html new file mode 100644 index 000000000..7b1ef6056 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/40/index.html @@ -0,0 +1,206 @@ + + + + + + + + + Memento: Logging for Systems and Applications — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Eric Davies +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Memento: Logging for Systems and Applications

+ +

Memento is a logging library for Julia designed for software systems and cloud applications. It’s the ideal choice in Julia for monitoring large, multi-component applications as it gives users control and flexibility over all aspects of logging for each component. +Memento’s main features:

+
    +
  • Set log levels to control verbosity for any part of your project using modular, hierarchical logging
  • +
  • Send logs for parts of your project to multiple places in different formats using modular, hierarchical log handling
  • +
  • Log to a variety of backends including Syslog
  • +
  • Skip log message creation for performance when it wouldn’t be logged
  • +
  • v0.6 and v0.7 support
  • +
  • v0.7+: substitute Base’s logger for Memento This talk will demonstrate these features and will showcase Memento in action in a simulated application environment. It will also compare Memento to other approaches to logging in Julia.
  • +
+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/41/index.html b/previews/PR609/2018/talks_workshops/41/index.html new file mode 100644 index 000000000..0cb64e042 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/41/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Symbolic Mathematics in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ John Lapeyre +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Symbolic Mathematics in Julia

+ +

The same unique feature set that makes Julia great for a variety of numerical domains makes it the best choice today for implementing a general-purpose symbolic math language. I’ll begin with a brief zoology of symbolic math languages, and explain why I am interested in those that focus on giving the user great flexibility in rewriting essentially meaningless symbolic expressions. I’ll give an overview of the distinct achievements of the projects in the Julia community that share this focus. Symata.jl is the most highly developed of these projects. I’ll show how Symata.jl provides another example of how the astonishing productivity of the Julia ecosystem allows one to compete with industry heavy-weights, and opens possibilities that are closed to these existing systems.

+

+ +

Speaker's bio

+

John Lapeyre has worked in industry in device physics and data science, and in academia in statistical physics. Before working on symbolic math in Julia, he was a developer for the Maxima computer algebra project.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/42/index.html b/previews/PR609/2018/talks_workshops/42/index.html new file mode 100644 index 000000000..47be3978d --- /dev/null +++ b/previews/PR609/2018/talks_workshops/42/index.html @@ -0,0 +1,205 @@ + + + + + + + + + Low-Level Systems Programming in High-Level Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Todd Green +

+ + Relational AI + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Low-Level Systems Programming in High-Level Julia

+ +

Computer system software, like operating systems, database management systems, or video game engines, has traditionally been implemented in low-level programming languages like C or C++. There are good reasons for this: among them, systems programmers must routinely cope with resource constraints dictating low-level control over memory layouts and memory management. Such concerns are some of the very ones that productivity languages like Julia seek to hide from view. +For example, consider the venerable B+-tree, which has been used for decades in database systems, file systems, and elsewhere. A B+-tree is a tree-structured index (over, say, file system metadata or SQL tables) aiming to minimize disk I/O for datasets too large to fit in main memory. It achieves this by using large nodes, sized to some multiple of operating system pages, with wide fanout. Because nodes are so wide, the tree is very shallow, and searching from root to leaf incurs just a few disk I/Os. Here’s a picture from Wikipedia (in a real B+-tree, the nodes would contain thousands of entries each and have more intricate internal structure): +B+-treeB+-tree In a student project, B+-trees could be implemented in a straightforward way, with e.g. search through a node done by deserializing the page’s contents into appropriate heap-allocated data structures in the host language, and then working with those data structures. In a real implementation, however, this is considered unacceptably slow and resource-intensive; instead the page itself is simply “cast” to a C/C++ data structure, for example, and worked with directly. Systems languages are distinguished by their capability to support this style of programming. +At the same time, systems programmers are painfully aware of the productivity limitations of languages like C/C++, and recurrent attempts have been made over the years in nearly every systems context to experiment with the use of higher-level languages. Indeed, the most famous and successful example of this is C itself, which replaced assembly language as the “high-level” systems alternative of its time. +Recently, in database systems, the use of query compilation (on-the-fly compilation of ad-hoc SQL queries into machine code) has become more or less ubiquitous in high-performance systems. The pain of implementing query compilation in a traditional systems language like C/C++ has motivated researchers to explore the use of higher-level languages like Scala, equipped with staged code generation libraries like LMS or Squid, in order to build high-performance systems prototypes. +In such a context, Julia presents an intriguing alternative, due to its excellent performance and well-developed staged metaprogramming facilities. But if we want to build a full-blown database system in Julia, can we also implement low-level data structures like B+-trees in a way that is both idiomatic to Julia (and therefore productive), but also efficient? +In this talk, we answer this question in the affirmative, by showing how such data structures can be implemented with help from a recently-developed package called Blobs package. Blobs (see also ManualMemory) uses Julia metaprogramming techniques to make it easy and efficient to lay out complex data structures within a memory region, such as an OS page. Data structures are defined as ordinary isbits Julia structs, and can have rich nested structure. Rather than give examples here, take a look at the package overview. +We’ll give a quick and self-contained overview of the necessary background on paged data structures, and then show how to use Blobs to implement such data structures natively in Julia. +B+-trees are a bit old-fashioned nowadays, so time allowing, we may also try to cover an example of a more recent paged data structure, the Bε-tree. This data structure allows a precisely tunable tradeoff between read- and write-performance, and has been used recently in advanced database systems (TokuDB, LogicBlox) and file systems (BetrFS).

+

+ +

Speaker's bio

+

T.J. Green is a Computer Scientist at Relational AI. Previously, he was a Computer Scientist at LogicBlox, and an Assistant Professor at UC Davis. He received his B.S. in Computer Science from Yale University in 1997, his M.S. in Computer Science from the University of Washington in 2001, and his Ph.D. in Computer and Information Science from the University of Pennsylvania in 2009. His awards include Best Student Paper at ICDT 2009, the Morris and Dorothy Rubinoff Award in 2010 (awarded to the outstanding computer science dissertation from the University of Pennsylvania), an honorable mention for the 2011 Jim Gray SIGMOD dissertation award, an NSF CAREER award in 2010, and Best Paper Runner-Up at ICDE 2012. Prior to beginning his Ph.D., he worked at Microsoft as a Software Design Engineer and Development Lead, and at Xyleme as a Software Design Engineer.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/43/index.html b/previews/PR609/2018/talks_workshops/43/index.html new file mode 100644 index 000000000..4e448eb2c --- /dev/null +++ b/previews/PR609/2018/talks_workshops/43/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Performance of a distributed Julia simulation on an AWS Spot Fleet vs a Cray supercomputer — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Przemyslaw Szufel +

+ + Warsaw School of Economics + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Performance of a distributed Julia simulation on an AWS Spot Fleet vs a Cray supercomputer

+ +

In this presentation performance of Julia in-built parallelism will be demonstrated on Cray supercomputer (Okeanos - https://www.top500.org/system/178753) vs a cluster of AWS Spot Fleet instances. For illustrative purposes a massively parallelized version of the classical Schelling (1974) segregation social model will be used. Scaling of the parallelized simulation from 400 up to 4096 cores will be discussed and compared. I will also share my experience about those small details that you should know before trying to setup a Julia cluster on AWS and a Cray.

+

+ +

Speaker's bio

+

Przemyslaw Szufel is an Assistant Professor in the Decision Support and Analysis Unit at the Warsaw School of Economics, Poland. His current research focuses on distributed systems and methods for execution of large-scale simulations for numerical experiments and optimization. Dr. Szufel is currently working on asynchronous algorithms for the parallel execution of large-scale computations in the cloud and distributed computational environments.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/44/index.html b/previews/PR609/2018/talks_workshops/44/index.html new file mode 100644 index 000000000..a663bf3a1 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/44/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Advocating for public policy change with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Matt Bauman +

+ + Julia Computing + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Advocating for public policy change with Julia

+ +

Everyone here has a hidden superpower: you know how to code! Given the right situations, this can serve as a powerful tool to shape public discourse as citizen scientists. +Following several cyclist fatalities around the University of Pittsburgh, there was a strong advocacy movement for improved traffic safety. I was curious about the raw data underlying the issue, so I put together a Julia notebook that processed a short video of the traffic through campus and calculated each vehicle’s speed. Given more time I could have put together a thorough study, but this was enough: a local bicycling advocacy group picked up the story, leading to a blog post, newspaper story, and several radio interviews. I was just one more voice, but connecting with a non-profit amplified and unified the call for change. Since then the road has been re-designed with an emphasis on bicycle and pedestrian safety. +This talk will focus on the key takeaways from my interactions with an advocacy nonprofit and local community, and what I believe made it a compelling story. I’ll have some key pointers on how you might be able to find success with your own project.

+

+ +

Speaker's bio

+

Matt Bauman is a Senior Research Scientist at JuliaComputing at their Chicago outpost, where he spends lots of time working on Julia’s arrays. He’s been contributing to both the core language and multiple packages since 2014. At his previous position as a Data Science Fellow at the University of Chicago’s Center for Data Science and Public Policy, he longed for dot-broadcasting in Python. He recently defended his PhD dissertation in Bioengineering from the University of Pittsburgh, focusing on neural prosthetics.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/45/index.html b/previews/PR609/2018/talks_workshops/45/index.html new file mode 100644 index 000000000..c64606ac7 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/45/index.html @@ -0,0 +1,204 @@ + + + + + + + + + Minecraft and Julia : A new way to build stuff and learn how to program — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Aditya Puranik +

+ + The National Institute of Engineering, Mysore + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Minecraft and Julia : A new way to build stuff and learn how to program

+ +

The Minecraft API allows us to communicate with the Minecraft world to do simple things like placing blocks and teleporting players. This is functionality is enough to do big and beautiful projects in no time. A talk on building using Julia and some fun stuff like playing “Snake” using a Joystick connected to the Raspberry Pi GPIO pins inside the Minecraft world. This package is a great way to introduce kids to Julia and computer programming in general. +A lot of functionality is being worked on right now. This includes a dozen building tools accompanied with guides. The work will be completed well before JuliaCon.

+
    +
  • Show how a skyscraper building 200 blocks tall is built within 5 minutes
  • +
  • Show the same for pyramids, spheres, .etc
  • +
  • Show some Mathematical objects like Fractals, Klien Bottle generated inside the Minecraft world
  • +
  • Show some interactive games like Snake, Minesweeper in 3-D
  • +
+

+ +

Speaker's bio

+

I am a Google Summer of Code Student working on the PiCraft.jl package for Julia. Currently a 2nd year student studying Computer Science at “The National Institute of Engineering, Mysore”.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/46/index.html b/previews/PR609/2018/talks_workshops/46/index.html new file mode 100644 index 000000000..2f98326ea --- /dev/null +++ b/previews/PR609/2018/talks_workshops/46/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Making the test-debug cycle more efficient — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Tim Holy +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Making the test-debug cycle more efficient

+ +

Julia’s interactivity and just-in-time (JIT) compilation are major assets for developers; however, as codebases grow larger, compilation time becomes a burden on the write-test-debug cycle. While the ultimate answer might be faster JIT-compilation, an alternative is to compile less often: specifically, to do more useful development per unit of compilation. This necessitates the ability to fix bugs—and test these fixes—interactively without restarting Julia. Until relatively recently, this was difficult especially for highly-modular projects involving many packages, where the right fix might lie at a deep layer in the package hierarchy. Fortunately, recent work in base Julia laid the groundwork for a more efficient approach in which functions can be arbitrarily redefined and their dependencies recompiled; however, to use this capability one had to re-evaluate these functions manually. +I will describe a package, Revise.jl, that automates much of the work of the test-debug cycle. Revise scans “active” source files for changes and automatically updates function definitions in a running Julia session. In this talk I will describe the main things Revise can and can’t do, explain some of the strategies that Revise uses to limit the amount of code that needs re-evaluation, and emphasize some of its new capabilities present only in Julia 0.7/1.0.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/47/index.html b/previews/PR609/2018/talks_workshops/47/index.html new file mode 100644 index 000000000..44e932686 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/47/index.html @@ -0,0 +1,197 @@ + + + + + + + + + A formula for bringing data across table-matrix divide — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Dave Kleinschmidt +

+ + Rutgers University + +

+
+
+
+ +
+
+ +
+ +
+ +
+

A formula for bringing data across table-matrix divide

+ +

In order to analyze real-world, tabular data, it needs to be transformed into a suitable numerical format. The @formula domain-specific language in StatsModels.jl provides a way to specify table-to-numerical array transformations. This DSL was inspired by R and should be familiar to Julia users who have experience with R, but Julia has unique strengths and constraints. In this talk, I’ll talk about recent, ongoing, and future developments of a distinctly Julian formula DSL. Some of these make the formula more flexible and useful for users, like using metaprogramming to provide performant support for arbitrary Julia code in a formula, and support for any type of tabular data store (including streaming and out-of-core datasets), using NamedTuples as a common interchange format. But equally important are changes under the hood to make the formula DSL more useful and extensible for package developers. These changes draw on unique language features like multiple dispatch to allow packages to extend the formula syntax at multiple levels, from low-level details of how the underlying formulae expressions are parsed, to high-level specialization of the conversion from formula parts to specialized types of model matrices (as in MixedModels.jl). Together, this makes the formula DSL a solid foundation for building general purpose data analysis and modelling tools that can be applied across a variety of domains and data sources.

+

+ +

Speaker's bio

+

Like many before and after him, Dave started hacking on Julia to procrastinate finishing his dissertation. Despite his best efforts he finished his PhD in Brain and Cognitive Sciences in 2016. In his day job as an Assistant Professor of Psychology at Rutgers New Brunswick, he works on understanding how people understand spoken language with such apparent ease, combining behavioral, computational, and neural approaches. Otherwise he’s committed to promoting open, reproducible science, and designing tools that empower researchers and lower the barrier to entry for data analysis and statistics.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/48/index.html b/previews/PR609/2018/talks_workshops/48/index.html new file mode 100644 index 000000000..9c5853873 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/48/index.html @@ -0,0 +1,204 @@ + + + + + + + + + Brainy Things: Brain Computer Interface meets Internet of Things — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Gajendra Deshpande and Dr. S.A.Kulkarni +

+ + KLS Gogte Institute of Technology, Belgaum + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Brainy Things: Brain Computer Interface meets Internet of Things

+ +

Brain Computer Interface and Internet of Things are the two sides of a river. On one side, we have Internet of Things which connects electronic gadgets used in our daily life. On the other side we have, Brain Computer Interface which is still in its infancy, but has shown great potential to influence our lives. We made an attempt to build the bridge between Brain Computer Interface and Internet of Things with the help of Julia programming language and achieved satisfactory results. For our experiment we used Raspberry Pi, muse a consumer grade electroencephalography device, sensors, lab streaming layer library written in Python, JuliaBerry package for programming GPIO pins of Raspberry Pi using Julia. +The process followed for performing the experiment is described below: +Step 1: Prepare Raspberry Pi 3 by Installing and Configuring necessary, Python and Julia software packages for Raspberry Pi like JuliaBerry, PiGPIO.jl, pylsl. +Step 2: Connect Raspberry Pi with Muse EEG device via Bluetooth. +Step 3: Record raw EEG signals from muse brain sensing device using pylsl lab streaming layer library written in Python. The signal processing of raw EEG signals includes filtering, feature extraction, noise reduction and spike classification techniques and implemented in Julia. +Step 4: Interface Raspberry Pi and devices in home environment. +Step 5: Based on neural activity of brain i.e., brainwave measurement of concentration, Julia programs perform variety of tasks such as control devices at home, play prerecorded audio file. +We believe that the above application is useful to people who are suffering from medical conditions such as Paralysis and Laryngeal Surgery by helping them controlling the devices, generating voice input commands and voice output through EEG signals.

+

+ +

Speaker's bio

+

Mr. Gajendra Deshpande holds a masters degree in Computer Science and Engineering and working as Assistant Professor at the Department of Computer Science and Engineering, KLS Gogte Institute of Technology, Belgaum, Karnataka, India. He is pursuing Ph.D. under the guidance of Dr. S.A.Kulkarni at VTU, Belagavi. He has a teaching experience of 10 years and Linux and Network Administration experience of one year. He is winner of Smart India Hackathon 2018. He is Technical Director for Sestoauto Networks Pvt. Ltd. and Founder of Thingsvalley. His areas of Interest include Programming, Web Designing, Artificial Intelligence, Machine Learning, Brain Computer Interface, Internet of Things and Virtual Reality. Dr. S.A.Kulkarni is working as Associate Professor at Vellore Institute of Technology, Vellore, Tamil Nadu, India. He has a Ph.D. in faculty of Computer and Information Science from National Institute of Engineering Research Center under Visvesvaraya Technological University. He loves pursuing certifications and has done many online MOOC and related courses. He is an avid writer and enjoys writing research papers, technology and programming related articles in journals and computer magazines.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/49/index.html b/previews/PR609/2018/talks_workshops/49/index.html new file mode 100644 index 000000000..7d112675a --- /dev/null +++ b/previews/PR609/2018/talks_workshops/49/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Probabilistic modelling of long course sailing craft routing — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Thomas Dickson +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Probabilistic modelling of long course sailing craft routing

+ +

The problem of sailing craft route optimisation involves considering a range of stochastic factors, from weather model used to prediction of performance and structural failure. This research introduces the sailing craft routing problem as a bi-level optimisation problem, with the leader problem being the route optimisation problem and the follower problem being the speed attainable at different reliability levels. The key issue is of how to model these stochastic factors. I use Julia exclusively due to its speed and the ability to rapidly develop code. +In this talk I will introduce how I generate probabilistic temporal weather models. From these I am able to generate weather scenarios. To reduce computational running time I identify a representative collection of scenarios through comparing based on comparing probability metrics, solved using JuMP. I then show how I use monte carlo simulations to model the reliability of a sailing craft and then optimise the route using a recursive algorithm. +This talk will demonstrate how I solve many optimisation and statistical problems which are common across engineering and scientific disciplines with respect to modelling and solving stochastic optimisation problems. As a result it has broad appeal across the scientific modelling community with a specific application in an unusual and interesting area.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/5/index.html b/previews/PR609/2018/talks_workshops/5/index.html new file mode 100644 index 000000000..58c8c87dc --- /dev/null +++ b/previews/PR609/2018/talks_workshops/5/index.html @@ -0,0 +1,212 @@ + + + + + + + + + Queryverse — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ David Anthoff +

+ + University of California, Berkeley + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Queryverse

+ +

This talk will give an update on the current state of the Queryverse. I will highlight packages for file IO (CSVFiles.jl, ExcelFiles.jl, StatFiles.jl, FeatherFiles.jl, ParquetFiles.jl), querying and manipulating data (Query.jl), visual data exploration (DataVoyager.jl) and graphics (VegaLite.jl). I will show how all of these pieces are designed to work together and provide a unified API for users that spans traditional tabular data and data in custom julia types. I will also highlight how the Queryverse integrates smoothly with all the other julia packages in this space.

+

+ +

Speaker's bio

+

David Anthoff is an environmental economist who studies climate change and environmental policy. He co-develops the integrated assessment model FUND that is used widely in academic research and in policy analysis. His research has appeared in Science, the American Economic Review, Nature Climate Change, the Journal of Environmental Economics and Management, Environmental and Resource Economics, the Oxford Review of Economic Policy and other academic journals. He contributed a background research paper to the Stern Review and has advised numerous organizations (including US EPA and the Canadian National Round Table on the Environment and the Economy) on the economics of climate change.

+ +

He is an assistant professor in the Energy and Resources Group at the University of California at Berkeley, a senior fellow at the Berkeley Institute for Data Science and a University Fellow at Resources for the Future. Previously he was an assistant professor in the School of Natural Resources and Environment at the University of Michigan, a postdoc at the University of California, Berkeley and a postdoc at the Economic and Social Research Institute in Ireland. He also was a visiting research fellow at the Smith School of Enterprise and the Environment, University of Oxford.

+ +

He holds a PhD (Dr. rer. pol.) in economics from the University of Hamburg (Germany) and the International Max Planck Research School on Earth System Modelling, a MSc in Environmental Change and Management from the University of Oxford (UK) and a M.Phil. in philosophy, logic and theory of science from Ludwig-Maximilians-Universität München (Germany).

+

+ + +

Resources

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/50/index.html b/previews/PR609/2018/talks_workshops/50/index.html new file mode 100644 index 000000000..41116455d --- /dev/null +++ b/previews/PR609/2018/talks_workshops/50/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Representing functions and solving differential equations rigorously with Taylor models — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Luis Benet and David Sanders +

+ + Universidad Nacional Autonoma de Mexico andUniversidad Nacional Autonoma de Mexico + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Representing functions and solving differential equations rigorously with Taylor models

+ +

We will show how to use Julia to approximate functions in a rigorous way: find a truncated Taylor series that is close to the function, using automatic differentiation techniques provided by the TaylorSeries.jl package. Next, bound the error from truncating the series, using intervals from the IntervalArithmetic.jl package. The resulting object is a Taylor model, as provided by the new TaylorModels.jl package. +We can now perform rigorous calculations on functions, e.g. multiplying two functions or finding sin(f) for a function f, by manipulating the corresponding Taylor models. This has many applications, for example global optimization: we can find rigorous optima of arbitrary functions by optimizing a polynomial instead, which is easier (although not “easy”). +We will focus on showing how Taylor models can be used as a building block to solve ordinary differential equations (ODEs): find a Taylor series expansion of the solution to the ODE and bound the error. This gives approximations to the solution, in the form of tubes that are guaranteed to enclose the true solution of the ODE.

+

+ +

Speaker's bio

+

David P. Sanders is associate professor of computational physics in the Department of Physics of the Faculty of Sciences at the National University of Mexico in Mexico City. His previous Julia tutorials on YouTube have a total of more than 80,000 views. He is a principal author of the packages in the suite of packages for interval methods.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/51/index.html b/previews/PR609/2018/talks_workshops/51/index.html new file mode 100644 index 000000000..c65f056d0 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/51/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Estimating Non-Linear Macroeconomic Models at the New York Fed — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Michael Cai +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Estimating Non-Linear Macroeconomic Models at the New York Fed

+ +

In this talk, I will highlight StateSpaceRoutines.jl, a repository containing state space filtering and smoothing methods such as the Kalman filter, Durbin Koopman smoother, and others. Specifically, I will discuss our latest addition to StateSpaceRoutines.jl, the “tempered particle filter” (TPF) which was developed by Ed Herbst (Federal Reserve Board of Governors) and Frank Schorfheide (University of Pennsylvania). TPF provides a robust way to simulate the distribution of the states and to calculate the likelihood in a general state space model. Furthermore, I will explain why TPF produces more accurate approximations than the standard bootstrap particle filter, and provide some results showing this. Because TPF is an inherently parallelizable algorithm, I will also delve into some details of the computational implementation and some lessons that we have learned along the way about Julia’s parallel framework. I will highlight a few issues we are still currently facing with regards to optimizing the performance of TPF. StateSpaceRoutines.jl should prove useful to economists, statisticians, and those generally interested in Bayesian methods as a stand-alone suite of tools, which can be used to estimate a variety of both linear and non-linear state space models. Lastly, I will briefly highlight the NY Fed DSGE team’s recent work on implementing various kinds of heterogeneous agent models, both in discrete and continuous time, and discuss the relevance of our implementations of TPF and other sequential Monte Carlo methods to estimating these models in the future.

+ +

Disclaimer: This talk reflects the experience of the author and does not represent an endorsement by the Federal Reserve Bank of New York or the Federal Reserve System of any particular product or service. The views expressed in this talk are those of the authors and do not necessarily reflect the position of the Federal Reserve Bank of New York or the Federal Reserve System. Any errors or omissions are the responsibility of the authors.

+

+ +

Speaker's bio

+

Michael Cai is a recent graduate of NYU and a senior research analyst working on dynamic stochastic general equilibrium (DSGE) models at the New York Fed. I am interested in using Julia to make the research and policy work at the New York Fed more performant, extensible, and beautiful. More broadly, I want to engage in the frontier of economic research to produce actionable public policies and to improve effective governance and societal welfare.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/52/index.html b/previews/PR609/2018/talks_workshops/52/index.html new file mode 100644 index 000000000..e34168ac6 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/52/index.html @@ -0,0 +1,198 @@ + + + + + + + + + JuliaDBMeta and StatPlots: metaprogramming tools for manipulating and visualizing data — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Pietro Vertechi +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

JuliaDBMeta and StatPlots: metaprogramming tools for manipulating and visualizing data

+ +

JuliaDB is a library for tabular data manipulation (either in memory or out of core) that is recently becoming more and more popular. To simplify the JuliaDB user experience , I have designed the metaprogramming based package JuliaDBMeta . JuliaDBMeta, starting from a user provided expression with symbols corresponding to fields, detects which columns of the dataset will be used and what anonymous function will be applied to them, then proceeds to iterate data only from the relevant columns and compute the relevant transformation. All operations can be concatenated and can then be piped in a plotting command using StatPlots. +To maximally simplify the user experience, we try to support both grouped data and out of core data as much as possible out of the box. All column based macros have an optional grouping argument, whereas all row-based macros work out-of-core out of the box. Furthermore special macros are provided to apply a pipeline separately on each processor (or on each group) and then join the results together.For users preferring a more graphical environment, the packages InteractBase and TableWidgets allow to define, select and compose data manipulations and visualizations interactively in a web-based UI with immediate visual feedback.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/53/index.html b/previews/PR609/2018/talks_workshops/53/index.html new file mode 100644 index 000000000..7659b47a1 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/53/index.html @@ -0,0 +1,197 @@ + + + + + + + + + EvolvingGraphs.jl: Working with Time-dependent Networks in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Weijian Zhang +

+ + The University of Manchester + +

+
+
+
+ +
+
+ +
+ +
+ +
+

EvolvingGraphs.jl: Working with Time-dependent Networks in Julia

+ +

In this talk, we present EvolvingGraphs.jl, a Julia software package for working with time-dependent networks. Many modern real-world networks are time dependent. Consider a group of online users interacting through messaging. Each message sent from user A to user B at time stamp t can be represented as an edge from A to B at time stamp t in an evolving graph. Ignoring the direction of time in a network flow can result in wrong information. However, it is difficult for researchers to model and study the evolving nature of such networks using traditional graph software package. EvolvingGraphs.jl is designed to meet this need. The source code is available at: https://github.com/EtymoIO/EvolvingGraphs.jl. We discuss the structure of EvolvingGraphs.jl and demonstrate a real life use case: tracing the development of ideas in research literature.

+

+ +

Speaker's bio

+

I am a fourth year PhD student in Numerical Analysis at the University of Manchester and I was a visiting student at MIT Julia Lab. I am the creator of EvolvingGraphs.jl (https://github.com/EtymoIO/EvolvingGraphs.jl) and MatrixDepot.jl (https://github.com/JuliaMatrices/MatrixDepot.jl).

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/54/index.html b/previews/PR609/2018/talks_workshops/54/index.html new file mode 100644 index 000000000..c2acde534 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/54/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Subtyping Made Friendly — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Francesco Zappa Nardelli +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Subtyping Made Friendly

+ +

Have you ever wondered how Julia dispatches method calls? As an answer, have you been pointed to a mysterious .c file in the source tree understood by at most five people on Earth? Are you afraid of complex type annotations?  If yes, do not wonder anymore. This talk will be a friendly walkthrough across the rules that govern subtyping, the relation at the very core of method dispatch. We will start from the basics and we will build intuitions to grasp the intricate but unavoidable interactions between the various features of Julia type system. As a result you won’t be afraid to rely on the most advanced features of Julia type system anymore, and won’t be puzzled by runtime error messages or odd dispatch behaviors ever again.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/55/index.html b/previews/PR609/2018/talks_workshops/55/index.html new file mode 100644 index 000000000..97344180a --- /dev/null +++ b/previews/PR609/2018/talks_workshops/55/index.html @@ -0,0 +1,197 @@ + + + + + + + + + An introduction to bayesian parameter estimation of differential equation models using DiffEqBayes.jl. — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Vaibhav Kumar Dixit +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

An introduction to bayesian parameter estimation of differential equation models using DiffEqBayes.jl.

+ +

Many disciplines of science involve mathematical modeling of phenomena with dynamic systems. The general trend is to model complex dynamical systems through the use of differential equations. These differential equation models often have non-measurable parameters such as planetary masses or chemical reaction rates. The “forward-problem” of simulation consists of solving the differential equations for a given set of parameters. The “inverse problem” or parameter estimation in this case, is the process of using data to determine these model parameters. The inverse problem has been heavily studied in certain fields as has already been presented in the case of Geophysics in the previous JuliaCon with jInv.jl, additionally because of its applications in different fields like systems biology, HIV-AIDS study, and drug dosage estimation it presents a good avenue for further research. This talk will introduce the attendees to the parameter estimation problems and show how to use DiffEqBayes.jl to perform Bayesian parameter estimation via techniques like Markov Chain Monte Carlo, Stochastic Approximation Expectation Maximization algorithm and Maximum A Posteriori estimation. Through this talk attendees will learn the purpose of parameter estimation and leave with knowledge of tooling for estimating parameters of differential equation models created using Julia’s differential equations suite.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/56/index.html b/previews/PR609/2018/talks_workshops/56/index.html new file mode 100644 index 000000000..226e62bb0 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/56/index.html @@ -0,0 +1,197 @@ + + + + + + + + + LARLIB.jl: Solid Modeling in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Giulio Martella +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

LARLIB.jl: Solid Modeling in Julia

+ +

Increased geometric data complexity, operations on n-dimensional manifold and non-manifold geometries are the modern challenges of many field like CAD, Biomedical Imaging and Physical Simulations. Therefore there is the need of a representation scheme capable to handle these challenges with ease. For this task we propose LAR (Linear Algebraic Representation) which offers many interesting features such as efficient support for topological queries and construction, data representation via matrices and the opportunity for easy parallel processing. LARLIB.jl is the official Open Source implementation of LAR which enables the user to use the features of LAR with operations like: incidences and adjacencies between topological entities, boundary and co-boundaries of Cellular Complexes, Boolean Operations such as union of several complexes. This was possible thanks to the Julia ecosystem that provides and easy environment for scientific computation such as parallel capabilities, definition and operations on CSC Sparse Matrices builtin types, and third-party scientific libraries (IntervalTrees.jl and NearestNeighbors.jl). We will demonstrate the library efficiency through the union of big random cellular complexes and a real Bioinformatics use case with the creation of a compact model from MRI images.

+

+ +

Speaker's bio

+

I have a B.Sc. in Computer Engineering at the University of Roma Tre which is the host of the Computational Visual Design Lab (CVDLAB). I worked there as a research fellow for more than a year. During this period I developed LARLIB.jl with Francesco Furiani and Prof. Alberto Paoluzzi.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/57/index.html b/previews/PR609/2018/talks_workshops/57/index.html new file mode 100644 index 000000000..3b6035406 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/57/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Whale Recognition using a CNN in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Anna Kiefer +

+ + Kevala Analytics + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Whale Recognition using a CNN in Julia

+ +

I will discuss one image recognition algorithm I have created using Julia to train and classify images of whale flukes. This talk will demonstrate a convolutional neural network used to train and test whale images contributed by photographers around the world. It aims to demonstrate Julia’s capabilities for use in machine learning, image recognition, and conservation efforts.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/59/index.html b/previews/PR609/2018/talks_workshops/59/index.html new file mode 100644 index 000000000..ec3465043 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/59/index.html @@ -0,0 +1,197 @@ + + + + + + + + + 0.1 vs 1//10: How numbers are compared — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Simon Byrne +

+ + Julia Computing + +

+
+
+
+ +
+
+ +
+ +
+ +
+

0.1 vs 1//10: How numbers are compared

+ +

Julia provides many different numeric types, including signed and unsigned integers, floating point numbers, rationals, arbitrary precision numbers, and irrational constants. The type hierarchy and multiple dispatch allow all these different types to be used together. For most operations, this is handled via promotion to common type, however comparisons such as equalities and inequalities are handled in a more complicated manner, in order to obtain the mathematically correct result.

+

+ +

Speaker's bio

+

Simon started using Julia in 2012. He promptly found a bug. Since then, he’s made some pull requests, created some packages, and spent a lot of time waiting for tests to finish running (arguably not as much as he should).

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/6/index.html b/previews/PR609/2018/talks_workshops/6/index.html new file mode 100644 index 000000000..b77d17455 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/6/index.html @@ -0,0 +1,214 @@ + + + + + + + + + Solving Partial Differential Equations with Julia  — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Chris Rackauckas +

+ + UC Irvine and MIT + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Solving Partial Differential Equations with Julia 

+ +

Partial differential equations (PDEs) are used throughout scientific disciplines, modeling diverse phenomena such as the spread of chemical concentrations across biological organisms to global temperature flows. However, solving PDEs efficiently is not easy: it requires a vertical toolkit with many interconnected pieces. In this workshop we will introduce the participants to some basic PDEs, where they come from, and how to tie together the various tools across the Julia package ecosystem to solve them efficiently.

+ +

We will start by focusing on elliptic problems and show how these decompose into solving sparse linear systems. To solve the resulting linear systems, the participants will be introduced three methods: Julia’s special matrix types for efficient dense solutions, BandedMatrices.jl for more generic banded operators, and IterativeSolvers.jl for Krylov methods. The differences between the methodologies and the current status of distributed and GPU compatibility will be discussed. From there, the extension to nonlinear elliptic problems will be shown as effectively solving nonlinear systems with sparse Jacobians, and demonstrations/comparisons of Roots.jl, NLsolve.jl, and Sundials.jl’s KINSOL for solving the resulting systems will be addressed. Lastly, the concept of pseudospectral discretizations will be introduced using the library ApproxFun.jl, it will be shown how this methodology simply leads to different linear/nonlinear systems.

+ +

After understanding the tooling for elliptic PDEs, “time-dependent” PDEs such as parabolic and hyperbolic PDEs will be introduced. It will be shown how similar discretizations as done in the elliptic portion lead to systems of coupled ordinary differential equations (ODEs). It will be demonstrated how to efficiently solve the resulting ODE systems via DifferentialEquations.jl using methods such as via banded Jacobian Rosenbrock integrators, Newton-Krylov BDF, Implicit-Explicit (IMEX) Runge-Kutta, and exponential integrators like ETDRK4. Participants will be shown how to integrate pseudospectral operators from ApproxFun.jl and linear solvers from IterativeSolvers.jl to customize the integrators to their problem. Additionally, special time-stepping issues for hyperbolic PDEs and the strong-stability preserving (SSP) integrators will be introduced.

+ +

Together, the workshop participants should be able to leave with a good understanding of how to tie together the Julia scientific packages to efficiently solve a large class of partial differential equations.

+

+ +

Speaker's bio

+

I am a mathematician and theoretical biologist at the University of California, Irvine. My programming language of choice is Julia and I am the lead developer of the JuliaDiffEq organization dedicated to solving differential equations (and includes the package DifferentialEquations.jl). My research is in time stepping methods for solving stochastic differential equations (SDEs) and applications to stochastic partial differential equations (SPDEs) which model biological development.

+

+ + +

Resources

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/60/index.html b/previews/PR609/2018/talks_workshops/60/index.html new file mode 100644 index 000000000..c5ff0b1b0 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/60/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Julia is an R&D binding agent — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Mayeul d'Avezac +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Julia is an R&D binding agent

+ +

Much of research comes down to giving commands to instruments, and pulling results, and then performing some sort of analysis. Each of these tasks is generally done via an interface or language of its own: Bash or similar to give commands to instruments and manipulate files, some scripting language for analysis, and a sprinkling of libraries to read input data and perform more complex analysis. Eventually the manifestation of this type of work is a set of scripts with vaguely defined input and outputs. These are passed on semi-religiously from one PhD student to the next, until modifying them becomes almost an act of sacrilege, thus limiting what new science can be attempted (until a student throws it all out of the window, restarting the process from scratch). +Julia has the potential to remediate to this situation. It offers a platform where it is easy to combine systematic testing with every aspects of an R&D workflow, from command-line calls, to wrapping C libraries, to beautiful plots. I illustrate this workflow using my experience in a startup developing a quantum random number generator on an android phone. Julia allowed me to test and analyse the random number generator by simply issuing commands to the android bride as an external program, pull results from the phone as files via the same android bridge, open these files by wrapping an external C library, and then analyse and plot the results, all in the comfort of an IJulia notebook. Other than the fact that Julia solved these problems within a single language, it also allowed me to easily integrate testing directly into the notebook, thus ensuring that the workflow remains tested, and legible, even as it grows. Julia decidely lowers the barrier to reproducible, auditable research.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/61/index.html b/previews/PR609/2018/talks_workshops/61/index.html new file mode 100644 index 000000000..81d85ae61 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/61/index.html @@ -0,0 +1,198 @@ + + + + + + + + + PKPDSimulator.jl: Drug dosage prediction in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Chris Rackauckas +

+ + University of California, Irvine + +

+
+
+
+ +
+
+ +
+ +
+ +
+

PKPDSimulator.jl: Drug dosage prediction in Julia

+ +

Informed decision-making across various phases of drug development is challenging as it has to utilize an enormous amount of information produced during the development process. Models of drug, disease and trials are particularly useful in summarizing essential information in a succinct and efficient manner, allowing the integration of knowledge from different studies and external sources. Simulations combined with appropriate assumptions, such models can explore the potential outcomes of yet-to-be-conducted studies, enabling optimization of the study design to increase the probability of success and de-risk investment. +Pharmacokinetic and Pharmacodynamic (PK/PD) models are one such class of models used by pharmaceutical professionals to guide drug development and clinical therapeutic decisions. These models allow forecasting drug concentrations in the body and the response to the drug at various dose levels. Further, these models require flexible and high performance solving of differential equations to simulate patient data. However, the development of open-source software tools for this discipline lag due to the requisite performance and domain-expertise. In this talk we will introduce PKPDSimulator.jl, a Julia package for simulation of PK/PD models. This package includes the addition of functions for implementing compartmental PK/PD models and schedules of dosing and other discrete events. We will demonstrate how models of clinical trials are developed to simulate clinical measurements and responses to drug administration. Unique features which make new ground in the field, such as the ability to incorporate stochastic differential equations, delay differential equations, and discrete stochastic models will be emphasized.

+

+ +

Speaker's bio

+

Chris Rackauckas is a 4th year Ph.D. Candidate in Mathematics at the University of California, Irvine. He is the principal author of many Julia packages, including the JuliaDiffEq packages (DifferentialEquations.jl) and ParallelDataTransfer.jl, and has contributed to numerous other packages related to scientific computing. Chris is also actively engaged in the Julia community as the author of the StochasticLifestyle blog and the tutorial “A Deep Introduction to Julia for Data Science and Scientific Computing”.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/62/index.html b/previews/PR609/2018/talks_workshops/62/index.html new file mode 100644 index 000000000..000af5ea7 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/62/index.html @@ -0,0 +1,200 @@ + + + + + + + + + Multi-Dimensional Bisection Method for finding the roots of non-linear implicit equation systems — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Dr. Daniel Bachrathy +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Multi-Dimensional Bisection Method for finding the roots of non-linear implicit equation systems

+ +

Multi-Dimensional Bisection Method for finding the roots of non-linear implicit equation systems Introduction The bisection method - or the so-called interval halving method - is one of the simplest root-finding algorithms which is used to find zeros of continuous non-linear functions. This method is very robust and it always tends to the solution if the signs of the function values are different at the borders of the chosen initial interval. +Geometrically, root-finding algorithms of f(x)=0f(x)=0 find one intersection point of the graph of the function and the axis of the independent variable. In many applications, this 1-dimensional intersection problem must be extended to higher dimensions, e.g.: intersections of surfaces in a 3D space (volume), which can be described as a system on non-linear equations. In higher dimensions, the existence of multiple solutions becomes very important, since the intersections of two surfaces can create multiple intersection lines. +Multiple solutions The original form of the bisection method can easily be extended to find numerous roots of a non-linear equation in a given interval. If the function values are computed in an initial mesh on the examined interval, then the original method can be used for each neighboring points where the sign of the function values are different. This way, some roots may be omitted if the initial mesh is not fine enough, and even number of roots are placed inside one interval. +Generalization for higher dimensions In many applications, the roots of a system of non-linear implicit equations

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/63/index.html b/previews/PR609/2018/talks_workshops/63/index.html new file mode 100644 index 000000000..501361bf1 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/63/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Opening remarks — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Tim Holy +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Opening remarks

+ +

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/64/index.html b/previews/PR609/2018/talks_workshops/64/index.html new file mode 100644 index 000000000..7f15312f1 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/64/index.html @@ -0,0 +1,200 @@ + + + + + + + + + Pkg3 — The new Julia package manager — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Kristoffer Carlsson +

+ + Chalmers University of Technology + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Pkg3 — The new Julia package manager

+ +

Julia 1.0 comes with a brand new package manager under the working name Pkg3. It has been rewritten from scratch based on the experiences of the previous package managers—both Julia’s an those in other languages. This talk discusses some of the design and implementation choices made and the reason behind them. Some of the topics included in the talk are: +Federated package ecosystem. This means that multiple independent parties can maintain both public and private packages and registries of them, and that projects can depend on a mix of public and private packages from different registries. Packages from various registries are installed and managed using a common set of tools and workflows. One consequence of federation is that there cannot be a central authority for package naming: different entities may use the same name to refer to unrelated packages. Instead, packages are identified by universally unique identifiers (UUIDs) assigned to them prior to registration. UUIDs are mostly invisible to the casual user of Julia—they are used in project and manifest files maintained by the package manager but regular Julia code continues to use packages by name as it always has. +Environments. Julia’s code loading and package manager natively support having multiple independent sets of packages at different versions. This alleviates “DLL hell” for Julia packages since unrelated projects don’t need to fight about what version of their dependencies to use—they can each use whatever version of a dependency they prefer. Manifest files record the exact version of each dependency in a complete dependency graph for a given application and can be reconstituted with a single command on the same system or a different one—a huge boon for reproducibility. +Immutability and content addressing. One of the basic design principles of Pkg3 is that an installed version of a package is immutable and identified by its content. In other words, once a version of a package is installed, it is never changed and anyone who wants that version asks for by a hash of its source tree. When a version is no longer needed anywhere, it is automatically deleted. Identifying package versions by content rather than git commit also means that packages are free to rewrite their development history—for example to discard large objects—and allows packages to be installed without any need for git history at all, so long as the source tree is correct.

+

+ +

Speaker's bio

+

Ph.D. student in computational mechanics at Chalmers University of Technology. Using Julia both for studies and as a hobby.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/65/index.html b/previews/PR609/2018/talks_workshops/65/index.html new file mode 100644 index 000000000..e262bcf50 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/65/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Math with more good bits, times+dates with nanoseconds — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jeffrey Sarnoff +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Math with more good bits, times+dates with nanoseconds

+ +

This talk introduces three packages: SaferIntegers, ArbNumerics and TimesDates. SaferIntegers are safer because they do not allow numerical overflow to occur silently. ArbNumerics provides best-in-class performance with 35..350 digits, and accurately encloses its values.  TimesDates provides nanosecond timestamps over timezones.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/66/index.html b/previews/PR609/2018/talks_workshops/66/index.html new file mode 100644 index 000000000..46b86807a --- /dev/null +++ b/previews/PR609/2018/talks_workshops/66/index.html @@ -0,0 +1,198 @@ + + + + + + + + + How Etsy Handles “Peeking” in A/B Testing — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Kelly Shen +

+ + Etsy + +

+
+
+
+ +
+
+ +
+ +
+ +
+

How Etsy Handles “Peeking” in A/B Testing

+ +

At Etsy, we leverage our internal A/B testing tool when we launch new campaigns, polish the look and feel of our site, or even make changes to our search and recommendation algorithms. As our experimentation platform scales and the velocity of experimentation increases rapidly across the company, we also face a number of challenges. In this talk, I will talk about how we utilize Julia to investigate and evaluate one of the problems, “peeking” at results early in order to detect maximum significance with minimum sample size. +We used Julia to assess the overall problem and how it affected experiments at Etsy. We also used Julia to evaluate a few solutions that have been proposed and applied in industry and academia, keeping in mind the unique challenges we face as a fast-paced e-commerce company. After going through the analysis and evaluation, I will discuss the approach we at Etsy took to tackle the peeking problem.

+

+ +

Speaker's bio

+

Kelly Shen is a data engineer at Etsy, where she works on improving the e-commerce company’s in-house A/B testing platform. Previously, she was an undergraduate student at MIT studying computer science and mathematics and used Julia extensively in both her classes and research.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/67/index.html b/previews/PR609/2018/talks_workshops/67/index.html new file mode 100644 index 000000000..4b2e39d77 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/67/index.html @@ -0,0 +1,197 @@ + + + + + + + + + JuliaBox: scalable apps, GPUs and courses — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Nishanth H. Kottary +

+ + Julia Computing, Inc. + +

+
+
+
+ +
+
+ +
+ +
+ +
+

JuliaBox: scalable apps, GPUs and courses

+ +

JuliaBox is an online service for running julia from the browser. With over 70,000 users since 2015, JuliaBox is used by scientists, engineers and universities worldwide. We present the new JuliaBox that was released over the past year. New features have been added to support courses for universities. We now provide GPU enabled notebooks with drivers, libraries and packages fully setup. Users can now deploy their julia code on JuliaBox as interactive web applications. We have also introduced UI for scaling CPU and memory for the notebook or any custom app.

+

+ +

Speaker's bio

+

Software Developer at Julia Computing Inc.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/68/index.html b/previews/PR609/2018/talks_workshops/68/index.html new file mode 100644 index 000000000..c3f9fbc3a --- /dev/null +++ b/previews/PR609/2018/talks_workshops/68/index.html @@ -0,0 +1,204 @@ + + + + + + + + + Self-tuning Gradient Estimators through Higher-order Automatic Differentiation in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jesse Bettencourt +

+ + U of Toronto + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Self-tuning Gradient Estimators through Higher-order Automatic Differentiation in Julia

+ +

Gradient-based optimization is the main trick of deep learning and deep reinforcement learning. However, it’s hard to estimate gradients in the most interesting settings - when the mechanism being optimized is unknown (as in reinforcement learning) or involves discrete operations (such as in optimizing programs). +I’ll give a quick overview of the tricks of the trade:

+
    +
  • The REINFORCE estimator, which can be summarized as “if it works, do it more”.
  • +
  • The reparameterization trick, which factors out randomness to expose the deterministic relationship between inputs and outputs.
  • +
  • Control variates, which reduce variance by introducing a predictable baseline. + I’ll also talk about a recent family of self-tuning gradient estimators that combines all of these, LAX 1. This involves not just automatic differentiation, but also differentiating through automatic differentiation itself. I’ll talk about the subtleties of doing this correctly, and how to approach these problems in Julia.
  • +
+

+ +

Speaker's bio

+

Jesse Bettencourt is a graduate student in the Machine Learning group at the University of Toronto and the Vector Institute. He is supervised by David Duvenaud and Roger Grosse and teaches the undergraduate/graduate course on probabilistic models and machine learning. He is very excited to use Julia in his ML research and possibly in future course offerings.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/69/index.html b/previews/PR609/2018/talks_workshops/69/index.html new file mode 100644 index 000000000..ed94f2507 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/69/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Graph interfaces: bespoke graphs for every occasion — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ James Fairbanks +

+ + GTRI + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Graph interfaces: bespoke graphs for every occasion

+ +

LightGraphs offers both (a) a set of simple, concrete graph implementations – Graph (for undirected graphs) and DiGraph (for directed graphs), and (b) an API for the development of more sophisticated graph implementations under the AbstractGraph type. The data structures and algorithms are now decoupled in order to allow users to extend the basic graph implementations with novel data structures which include support for weights, properties, and more efficient storage. +We have integrated with EvolvingGraphs.jl, MetaGraphs.jl, and SimpleWeightedGraphs.jl. These packages allow you to use graphs with various forms of metadata attached to the nodes or edges. From traditional weighted graphs, to dynamic graphs with changing edge sets, to MetaGraphs.jl which allows you to ingest a DataFrame as a property graph. MetaGraphs provides the foundation for an in memory GraphDB. +Demo! We will live-code a simple graph type defined by its adjacency matrix and leverage LightGraphs for different applications. This talk will show how anyone can extend JuliaGraphs with a custom graph implementation for their application.

+

+ +

Speaker's bio

+

Mathieu Besançon is a PhD student in a double program between Ecole Polytechnique of Montréal, at the GERAD lab and the INOCS team at INRIA Lille, in mathematical optimization and game theory for smart grids. James Fairbanks earned a Ph.D in Computational Science and Engineering at Georgia Tech. My research focuses on numerical, statistical, and streaming algorithms for data analysis. The applications include complex networks, online media, medical data, and sensor data.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/7/index.html b/previews/PR609/2018/talks_workshops/7/index.html new file mode 100644 index 000000000..321d14d43 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/7/index.html @@ -0,0 +1,210 @@ + + + + + + + + + The JuMP ecosystem for mathematical optimization  — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Juan Pablo Vielma +

+ + MIT Sloan + +

+
+
+
+ +
+
+ +
+ +
+ +
+

The JuMP ecosystem for mathematical optimization 

+ +

JuMP is a multi-award-winning domain-specific language for mathematical optimization. JuMP has already been successfully used in academic and industrial problems related to marketing, causal inference, daily fantasy sports, optimal control of aerial drones, machine learning, school bus routing, sustainable power systems expansion, and decarbonization of electrical networks. The JuMP ecosystem gives access to a wide range of highly-effective commercial and open-source optimization tools in a natural syntax that requires only a basic knowledge of mathematical optimization. JuMP provides this access with a performance that matches or exceeds those of commercial and open-source alternatives, as well as unparalleled versatility and extensibility allowed by the advanced features of the Julia language. In particular, JuMP and its infrastructure was used to develop the solver Pajarito.jl, which is currently the state-of-the-art for the class known as mixed-integer conic optimization problems. JuMP has recently received a major overhaul that should further facilitate the development of similar advanced optimization tools.

+ +

In this tutorial, we begin with basic syntax and features of JuMP and associated packages assuming no previous knowledge of JuMP and only an elementary knowledge of mathematical optimization. We then cover more advanced features, give performance tips, and cover the recent improvements to JuMP developed in the second Annual JuMP-dev Workshop. Finally, we demo some state-of-the-art features, including showing how various packages in the rich Julia ecosystem can be seamlessly combined to provide simple solutions to complicated problems in the optimal control of aerial drones.

+

+ +

Speaker's bio

+

Juan Pablo Vielma is an associate professor at MIT’s Sloan School of Management and is also associated to MIT’s Operations Research Center. Juan Pablo’s research interests include the development of theory and technology for mathematical optimization and their application to problems in marketing, statistics and sustainable management of energy and natural resources. Juan Pablo is the Ph.D. advisor of two of the creators of JuMP and continues to be closely involved in JuMP’s development. Some projects he is currently associated with are the Pajarito Solver, JuMP’s extension for piecewise linear optimization and the Cassette and Capstan tools.

+

+ + +

Resources

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/72/index.html b/previews/PR609/2018/talks_workshops/72/index.html new file mode 100644 index 000000000..f829980d8 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/72/index.html @@ -0,0 +1,198 @@ + + + + + + + + + BoltzmannMachines.jl: a Julia-native package for training and evaluating multimodal deep Boltzmann machines — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Stefan Lenz +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

BoltzmannMachines.jl: a Julia-native package for training and evaluating multimodal deep Boltzmann machines

+ +

Deep learning algorithms have proved to be very successful on image data: Facial recognition and autonomous cars are already out there. The analysis of biomedical data, however, is an exciting new field that still waits for such breakthroughs because it poses different challenges. Genomic sequencing data, e. g., usually encompasses a large number of variables, so-called single nucleotide polymorphisms (SNPs). But since DNA sequencing is still expensive, the available sample sizes are very low compared to the number of measured variables for each sample. This new area is what we want to target with our package “BoltzmannMachines.jl”. With the ability to partition layers of deep Boltzmann machines, the number of model parameters that are to be estimated can be reduced significantly. This makes deep learning possible in a setting with a high number of dimensions but low sample size. We showed that partitioning on basis of correlation structure can enable deep Boltzmann machines to learn meaningful SNP patterns (Hess M., Lenz S., Blätte T. J., Bullinger L., Binder H. Partitioned learning of deep Boltzmann machines for SNP data. Bioinformatics 2017 btx408. doi: https://doi.org/10.1093/bioinformatics/btx408). Besides partitioned modeling, multimodal deep Boltzmann machines are in particular capable of modeling different types of input data, e.g., datasets also containing continuously valued variables. In our implementation, this is possible by using different types of restricted Boltzmann machines and plugging them in at the level of the visible layer. +When training on heterogeneous types of data, the choice of the hyperparameters is especially challenging. Therefore, our package puts a strong focus on evaluation and monitoring during model training. As primary evaluation criterion, the likelihood can be estimated using annealed importance sampling. Additionally to that, the package offers convenience methods to monitor a number of other statistics. Also, the monitoring is designed to be easily customizable, which allows the user to examine the learning process and gain more insights into the nature of deep Boltzmann machines.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/73/index.html b/previews/PR609/2018/talks_workshops/73/index.html new file mode 100644 index 000000000..c28b90311 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/73/index.html @@ -0,0 +1,200 @@ + + + + + + + + + Cassette: Dynamic, Context-Specific Compiler Pass Injection For Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jarrett Revels +

+ + MIT + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Cassette: Dynamic, Context-Specific Compiler Pass Injection For Julia

+ +

Cassette is a tool for injecting user-defined code transformation passes into Julia’s JIT compilation cycle, enabling normal Julia packages to analyze, optimize, and modify Cassette-unaware Julia programs via both low-level IR transformation and high-level dispatch using Cassette’s context types. This latter feature, dubbed “contextual dispatch”, allows users to safely and quickly overload existing Julia methods with context-specific behaviors, like graph construction or derivative computation, without ever needing to handle Julia’s IR directly. +Importantly, Cassette requires no manual source annotation or refactoring of target code. Cassette even works in the presence of structural and/or dispatch type constraints. This renders traditionally “invasive” techniques, like automatic differentiation, applicable to previously inapplicable Julia programs. +Downstream applications for Cassette include lightweight multistage programming, dynamic code analysis (e.g. profiling, rr-style debugging, etc.), compilation to new hardware/software backends, automatic differentiation, interval constraint programming, automatic parallelization/rescheduling, automatic memoization, and more. +In this talk, I’ll discuss Cassette’s design, implementation, and show how it can be used to implement automatic differentiation for native Julia code.

+

+ +

Speaker's bio

+

I like to make Julia code differentiate itself.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/74/index.html b/previews/PR609/2018/talks_workshops/74/index.html new file mode 100644 index 000000000..40b5c2905 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/74/index.html @@ -0,0 +1,236 @@ + + + + + + + + + DataDeps.jl and other foundational tools for data driven research — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Lyndon White +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

DataDeps.jl and other foundational tools for data driven research

+ +

This talk will cover the fundamental process of getting from a dataset on a web-server, into data in your program. Almost all empirical research work is data driven. This is particularly true of any field that is using machine learning. As such, setting up your data environment in a repeatable and clean way is essential for producing replicable research. Similarly, many packages have some requirement on data included to function, for example WordNet.jl requires the WordNet database. Deploying a package based on using an already trained machine learning model requires downloading that model. +This talk will primarily focus on DataDeps.jl which allows for the automatic installation and management of data dependencies. For researchers and package developers DataDeps.jl solves 3 important issues:

+ +
    +
  • Storage location: Where do I put it?
  • +
  • Should it be on the local disk (small) or the network file-store (slow)?
  • +
  • If I move it, I’m going to have to reconfigure things.
  • +
  • Redistribution: I didn’t create this this data
  • +
  • Am I allowed to redistribute it?
  • +
  • How will I give credit, and ensure the users know who the original creator was?
  • +
  • Replication: How can I be sure that someone running my code has the same data?
  • +
  • What if they download the wrong data, or extract it incorrectly?
  • +
  • What if it gets corrupted or modified? On top of this: by allowing fully automate Data Dependency setup, end to end automated testing becomes possible.
  • +
+ +

To achieve this DataDeps.jl needs each data dependency to be declared. This declaration requires information such as the name of the dataset, it’s URLs, a checksum, and who to give credit to for its original creation etc. I found myself copy-pasting that data from the websites. DataDepsGenerators.jl is a package that can generate this code given a link to a supported webpage describing. This makes it really easy to just grab someone else’s published data, and depend upon it. Then DataDeps.jl will resolve that dependency to get the data onto your machine. +Once you’ve got the data onto your machine, the final stage is to load it up into a structure Julia can work with. For tabular data, julia has you well covered with a number of packages like JuliaDB, DataFrames.jl and many other supporting packages. MLDatasets.jl, uses DataDeps.jl as a backend, provides specialised methods for accessing various commonly used machine learning datasets. CorpusLoaders.jl provides a similar service for natural language corpora. Corpora often have factors that differ from other types of data.

+ +
    +
  • They often require tokenisation to become usable, for which we use WordTokenizers.jl.
  • +
  • Tokenization increases the memory used: to decreases this we use InternedStrings.jl; and load them lazily via iterators.
  • +
  • To handle the hierarchical structure (Document, Paragraph, Sentence, Word) of these iterators we introduce MultiResolutionIterators.jl. Julia is excellent for data driven science, and this talk will help you understand how you can handle your data in a more robust way.
  • +
+ +

Packages discussed Packages discussed in great detail:

+ +
    +
  • DataDeps.jl: This manages Data Dependencies.
  • +
  • CorpusLoaders.jl: It is a data package building on roughly every other package mentioned here. Packages discussed in significant detail:
  • +
  • DataDepsGenerators.jl: This converts URLs pointing webpages containing metadata, into code for DataDeps.jl
  • +
  • MultiResolutionIterators.jl it is the core of having a good API for CorpusLoaders.
  • +
  • InternedStrings.jl For decreasing memory usage, and speeding up equality checks.
  • +
  • WordTokenizers.jl it is a natural language tokenization and string splitting package. Packages mentioned:
  • +
  • MLDatasets.jl: a package full of datasets, similar overall to CorpusLoaders.jl but with some significant differences in philosophy and default assumptions.
  • +
  • MLDataUtils.jl: for most non-domain specific data wrangling before you feed your data to a machine learning system
  • +
  • WordNet.jl: the julia interface to the WordNet lexical resource.
  • +
  • DataFrames.jl for working with tabular data.
  • +
  • JuliaDB for working with n-dimensional tabular data.
  • +
  • MD5.jl and SHA.jl: for checksums for DataDeps.jl
  • +
+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/75/index.html b/previews/PR609/2018/talks_workshops/75/index.html new file mode 100644 index 000000000..8ffbb4476 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/75/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Efficient Modelling of Biochemical Reaction Networks — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Torkel Loman +

+ + U of Cambridge + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Efficient Modelling of Biochemical Reaction Networks

+ +

Many biological models consider biochemical reaction networks. However, as these grow in size they also produce large amount of equations which needs to be transcribed into computer code. This is a monotonous task of little fun and which is prone to generating bugs (and finding these bugs is even less entertaining). Fortunately we have been able to automate it. By using Julia’s capability of meta programming we have created a DSL (domain-specific language) allowing its user to input their reaction network as chemical equations (as opposed to mathematical ones). This format both look aesthetically pleasing and efficiently handles features such as coupled noise. The DSL generates an IR (intermediate representation) which have been constructed with Julia’s high-performance DifferentialEquations.jl library in mind. It can be used to create ODE, SDE and JumpProblems, all of which can be solved using DifferentialEquations’ solvers. Taken in total this can significantly cut the amount of code required, as well as making what remains much prettier.

+

+ +

Speaker's bio

+

Torkel is a mathematician and first year Ph.D. student at the University of Cambridge. With the use of mathematical models he investigates how B. Subtilis responds to various forms of stress by producing alternative sigma factors.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/76/index.html b/previews/PR609/2018/talks_workshops/76/index.html new file mode 100644 index 000000000..67fd96efa --- /dev/null +++ b/previews/PR609/2018/talks_workshops/76/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Enhanced String handling in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Scott Jones +

+ + Gandalf Software, Inc. + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Enhanced String handling in Julia

+ +

JuliaString is a new organization, formed with the goal of creating an ecosystem of standards compliant, fast, and easy to use string handling packages. Many people using Julia are scientists, and don’t really wish to deal with the complexities with things like indexing into variable-length string encodings, why their data loaded from a CSV file or from a database sometimes seem to be corrupted. There are also people interesting in writing Julia code for NLP (natural language processing), where the speed can be critical. Many fields such as bioinformatics have their own text file formats, and the new Strs package provides easier to use functions for writing fast string handling code. The talk will cover the added functionality of the Strs package, the importance of having validated strings for avoiding a number of known security exploits, the relative performance of the new strings, and its use for interfacing with other languages, databases, and libraries that frequently use other Unicode encodings, such as UTF-16. It will also cover the string literal format, with support for LaTeX, Unicode, HTML entities and Emojis, as well as easy to use formatted output that builds upon string interpolation, using the Julia type system, or alternatively using a C-like or Python-like format code syntax (but without having to count positions, or use a macro. Other topics such as thread-safe regex support, handling non-Unicode string encodings, optimized dictionaries for string keys, will be discussed, time permitting.

+

+ +

Speaker's bio

+

Consulting for Dynactionize.com, working fulltime in Julia

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/77/index.html b/previews/PR609/2018/talks_workshops/77/index.html new file mode 100644 index 000000000..6e7d74d3c --- /dev/null +++ b/previews/PR609/2018/talks_workshops/77/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Building a strong foundation for geospatial innovation — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Martijn Visser +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Building a strong foundation for geospatial innovation

+ +

This talk will showcase what is possible with the JuliaGeo related packages, with the aim to get you started if you want to do geospatial analysis in Julia. The foundation here lies in solid, easy to install wrappers to established OSGeo (Open Source Geospatial Foundation) projects such GDAL (Geospatial Data Abstraction Library), GEOS (Geometry Engine Open Source) and PROJ (coordinate transformation software library). On top of this, inspired by the Python ecosystem, we implemented a GeoInterface, to make sure the different geometry representations can talk to each other. From this basis some examples are given of customized processing that could not be done as efficiently in Python.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/78/index.html b/previews/PR609/2018/talks_workshops/78/index.html new file mode 100644 index 000000000..7f53a3842 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/78/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Latexify.jl and how Julia's metaprogramming makes it useful. — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Niklas Korsbo +

+ + Cambridge University + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Latexify.jl and how Julia's metaprogramming makes it useful.

+ +

In this talk, I will both introduce Latexify.jl and explain how Julia enabled the creation of this package in a way that few other languages could. +Latexify.jl allows you to convert Julia objects, and even equations, to LaTeX and Markdown. While Latexify.jl is useful for typesetting a matrix to a latex array, its practical value extends far beyond that. In this talk, I will: - describe how Julia’s metaprogramming facilities allows for not only create clever ways of inputting information to our programs, but also for extracting that information; - demonstrate how Latexify.jl uses this to latexify and render things ranging from strings to systems of differential equations and symbolically calculated Jacobians; - showcase how this has become an addictive and ubiquitous part of my work as an applied mathematician; +and finally, I will reflect upon how the Julia features that allowed the making of Latexify.jl could be leveraged for other things.

+

+ +

Speaker's bio

+

I am the author of Latexify.jl, a member of the JuliaDiffEq organisation and a PhD student of applied mathematics at Cambridge University. I started tinkering with Julia a few years ago and I have for the last year and a half done almost all my work with Julia. I dabble in computational biology, non-linear dynamics, programming and occasionally beer brewing.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/79/index.html b/previews/PR609/2018/talks_workshops/79/index.html new file mode 100644 index 000000000..6d8ed34e7 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/79/index.html @@ -0,0 +1,199 @@ + + + + + + + + + The JuliaGraphs ecosystem: build fast -- don’t break things — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ James Fairbanks +

+ + GTRI + +

+
+
+
+ +
+
+ +
+ +
+ +
+

The JuliaGraphs ecosystem: build fast -- don’t break things

+ +

Many areas of technical computing use graphs or networks and LightGraphs provides a common base of data structures and algorithm to manipulate and analyze these graphs. The JuliaGraphs ecosystem is evolving integrations with many other Domain ecosystems such as Optimization, Biology, Image Processing, and Statistics and 127 distinct packages. +The JuliaGraphs ecosystem has expanded this year, with new innovations in abstract representations and modularity. We discuss these improvements, highlighting the effects of changes in Julia 0.6 and 0.7 such as Type System / Type Parameters, Traits, Module dependencies, Threading and Atomics which affected the design of the JuliaGraphs ecosystem. +We will present developments in the JuliaGraphs community and celebrate the 1.0 release.

+

+ +

Speaker's bio

+

Mathieu Besançon is a PhD student in a double program between Ecole Polytechnique of Montréal, at the GERAD lab and the INOCS team at INRIA Lille, in mathematical optimization and game theory for smart grids. James Fairbanks earned a Ph.D in Computational Science and Engineering at Georgia Tech. My research focuses on numerical, statistical, and streaming algorithms for data analysis. The applications include complex networks, online media, medical data, and sensor data.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/8/index.html b/previews/PR609/2018/talks_workshops/8/index.html new file mode 100644 index 000000000..9bff24c28 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/8/index.html @@ -0,0 +1,238 @@ + + + + + + + + + Natural Language Processing in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Avik Sengupta +

+ + Julia Computing + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Natural Language Processing in Julia

+ +

In this hands on workshop, we will explore the use of natural language processing tools in Julia, with a particular focus on statistical machine learning based approaches. The content will be based primarily around the TextAnalysis.jl and Flux.jl packages. We will learn some of the primary algorithms in this area, and implement practical examples using these packages. The course will be aimed at someone who has a basic understanding of the Julia programming language, but no prior experience of natural language processing

+ +
    +
  • Data Collection +
      +
    • Using existing corpora
    • +
    • Web scraping to collect your own data
    • +
    • Data storage and representation
    • +
    +
  • +
  • Pre-processing +
      +
    • Stemming
    • +
    • Stopwords
    • +
    +
  • +
  • Word representations +
      +
    • Bag of words, TF-IDF
    • +
    • Text Rank algorithm for summarisation
    • +
    +
  • +
  • Word Embeddings
  • +
  • Deep neural networks for machine learning +
      +
    • Language Detection
    • +
    • Parsing
    • +
    • Text generation
    • +
    +
  • +
+

+ +

Speaker's bio

+

Avik has spent many years helping investment banks leverage technology in risk and capital markets. He’s worked on bringing AI powered solutions to investment research, and is currently the VP of Engineering at Julia Computing.

+

+ + +

Resources

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/80/index.html b/previews/PR609/2018/talks_workshops/80/index.html new file mode 100644 index 000000000..58aa03a17 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/80/index.html @@ -0,0 +1,197 @@ + + + + + + + + + From Deep Neural Networks To Fully Adaptive Programs — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Uri Patish +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

From Deep Neural Networks To Fully Adaptive Programs

+ +

Deep neural networks have been tremendously successful in approaching a variety of learning problems. Nonetheless, the basic building blocks that make up such models are mostly designed to facilitate gradient based parameter learning, rather than to enable productive programming, or to provide a fully fledged programming language. Standard programming languages on the other hand provide programming elements such as variables, conditional execution clauses, and definitions of subroutines that facilitate succinct descriptions of programs, but lack the flexibility that gradient based learning allows. We set on combining the best of both worlds in a new Julia framework that on the one hand supports structured programming elements, and on the other, supports gradient based parameter learning. The main challenge in combining the two is to provide an efficient algorithm for calculating the gradient when variables, and loops are involved. In such cases, the complexity of calculating the gradient using standard backpropagation grows exponentially with the number of iterations and the number of variables. To circumvent this problem, we present a new auto-differentiation mechanism that can handle such cases in linear time, and a new framework that supports it. We supplement our framework with operations that are typical of neural networks, paving the way to new kinds of adaptive programs. In particular, we show that convolutional neural networks that incorporate variables and loops can solve image classification problems with significantly less parameters, and more importantly, solve image classification tasks that standard neural networks fail to solve.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/81/index.html b/previews/PR609/2018/talks_workshops/81/index.html new file mode 100644 index 000000000..3c6951ba7 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/81/index.html @@ -0,0 +1,197 @@ + + + + + + + + + 500K - Providing training to 500K individuals across India in AI — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Abhijith Chandraprabhu +

+ + Julia Computing + +

+
+
+
+ +
+
+ +
+ +
+ +
+

500K - Providing training to 500K individuals across India in AI

+ +

Julia Computing in partnership with Ek Step foundation (https://ekstep.org/) has started an initiative in India to train 500,000 individuals in machine learning to accelerate their upskilling and improve the AI and ML communities. The current state of talent in the field of AI and ML in India falls short of the requirements. We have designed the course content and delivery mode such that, the learning is great fun. It has been very well received by the first hundreds of students and professionals we have trained so far. This is one of the largest AI/ML outreach and training programs, and it has Julia at the center.

+

+ +

Speaker's bio

+

I am currently working as a data scientist at Julia Computing, Bangalore. I have masters in Applied Mathematics from Linkoping University, Sweden. I have been using Julia since 2013, I love training in the field of machine learning, and Julia has been my choice as a programming since 2013.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/82/index.html b/previews/PR609/2018/talks_workshops/82/index.html new file mode 100644 index 000000000..3b93a5f68 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/82/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Large Scale Airborne Electromagnetic Geophysics in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Patrick Belliveau +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Large Scale Airborne Electromagnetic Geophysics in Julia

+ +

This talk will discuss how we’ve used Julia at scale, both on private clusters and the cloud, to solve industrial problems in Airborne electromagnetic (AEM) geophysical surveying. AEM surveying is a geophysical technique that uses electromagnetic induction to map the structure of the earth’s subsurface. Think of a giant metal detector attached to a helicopter flying low over the earth’s surface. The technique is used in mineral, oil and gas, and groundwater exploration as well as in environmental monitoring. Transforming the raw data collected by these surveys into 3D models of subsurface physical properties that can be used by geologists and other domain scientists is a computationally challenging problem—known as geophysical inversion. It is normally posed as a problem in partial differential equation (PDE) constrained optimization. Solving such problems requires repeatedly solving partial differential equations numerically as part of an iterative optimization process. +Our research group at the University of British Columbia has developed a modular framework for solving PDE-constrained optimization problems, particularly those arising in applied geophysics. This framework, called [jInv] (https://github.com/JuliaInv/jInv.jl) was presented at JuliaCon 2017—find the video here. Inversion of large-scale AEM survey data is a key application of the jInv framework. Cutting edge approaches to the problem involve dividing the PDE based survey simulation component of the problem into many quasi-independent subproblems. Julia is a great environment to exploit the parallelism inherent in this approach. We use a combination of Julia’s built in distributed memory parallelism, nested with shared memory parallel linear algebra libraries to take advantage of modern cluster architecture. In this talk we will describe how we’ve structured our code to use Julia’s distributed memory parallelism and will also emphasize how developing in Julia has allowed us to add new features to our inversion codes quickly while retaining the ability to deploy them on large-scale real world problems in mineral exploration. +The work described here was conducted at the University of British Columbia and at Computational Geosciences Inc.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/83/index.html b/previews/PR609/2018/talks_workshops/83/index.html new file mode 100644 index 000000000..615fb5925 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/83/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Julia and Geophysics: Rocking with C calls and Metaprogramming — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Carlos Alberto da Costa Filho +

+ + University of Edinburgh + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Julia and Geophysics: Rocking with C calls and Metaprogramming

+ +

Whenever a new programming language appears, first there is excitement: “It can do X and Y so well! Amazing!” Soon, however, reality sets in and you start having to rewrite vast swathes of your workflow in this shiny new language. Well, Julia is shiny, and it can certainly do many things very well, but can it also be easily incorporated into a mature codebase? My experience with Julia and Madagascar—an open-source software package for geophysics—suggests that it can. In this talk I will explain how Julia’s C interface and metaprogramming support combine naturally with Madagascar’s main pillars: its C API and its user-contributed programs. I will show that my relatively small Julia API (now sitting in upstream Madagascar), can provide functionality that is either lacking in other APIs (e.g. MATLAB), or requires complex external tools (e.g. Python+SWIG). Using these examples, I will make the case that Julia is not only a welcome addition to scientific computing communities, but that it can also be incorporated into established workflows with minimal effort. Indeed, I will show that one of Julia’s key advantages is its flexibility in being integrated into mature projects.

+

+ +

Speaker's bio

+

Carlos is an applied scientist currently working as a postdoctoral researcher at the University of Edinburgh. He is interested in imaging and inversion, particularly large scale problems in Earth sciences. From Brazil, Carlos obtained a B.Sc. in Mathematics from PUC-Rio and an M.Sc. in Applied Mathematics from the University of Campinas, before moving to (equally sunny!) Scotland where he obtained his Ph.D. in Geophysics from the University of Edinburgh.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/84/index.html b/previews/PR609/2018/talks_workshops/84/index.html new file mode 100644 index 000000000..2c7f1aed8 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/84/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Optimization of a pumped-storage hydro power plant in Julia with SDDP Algorithm — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Vaska Dimitrova +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Optimization of a pumped-storage hydro power plant in Julia with SDDP Algorithm

+ +

Electric utilities in Europe are faced with squezeed margins in the marketing of its production units due to increased pressure on the electricity price levels assigned to renewable energy effects. As electricity markets gain dynamics and move closer to real-time redispatch and planning of the production facilites, partly also due to technical requirments of the transmission grid which maintains the energy balance in the system at all times, efficient and performant asset optimization and management software solutions become increasingly important. Well studied algorithms like the linear or mixed integer programming reach their limits in the ability to find the optimal dispatch in short time while taking volatility of the input parameters in consideration, such as water inflow or intraday prices. We are trying to tackle the challenges of the fast changing electricity market by developing models in different systems which satisfy our requirements for optimality and performance. We were happy to find out that an open-source programming language Julia with good performance reputation offers a great support for optimization solutions and algorithms, even more the trending ones like dynamic programming or stochastic dynamic programming. We were happy to find out that we dont have to ‚reinvent the wheel‘ and implement the algorithm ourselves but rather focus on the analysis part and analyse the results. We have built an optimized dispatch application of our pumped-storage hydro power plant in Julia and would like to share our experiences in working with SDDP Packages in Julia, while benchmarking it with the existing applications that we use in our everyday work.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/85/index.html b/previews/PR609/2018/talks_workshops/85/index.html new file mode 100644 index 000000000..422378866 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/85/index.html @@ -0,0 +1,201 @@ + + + + + + + + + Information overload: tools for making program analysis and debugging manageable — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jameson Nash +

+ + Julia Computing, Inc. + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Information overload: tools for making program analysis and debugging manageable

+ +

Julia is a great language for code analysis tools. The combination of dynamic and static features gives a very rich environment for both producing and exploring the program full stack. +Current tooling can provide essential insights into the workings of a program. These including everything from simple annotation and highlighting functions such as code_warntype, to performance testing tools like @profile and BenchmarkTools’s @benchmark, to tests and documentation, to Revise.jl workflows. This talk will open by exploring the strengths, limitations, and purposes of several of these. +However, these tools share one significant common aspect: they are not especially interactive. Indeed, as a goal, these try to be absolutely stateless. +What tools do we need to complement these and expand our workflow? One traditional stateful tool is the lowly – but essential – debugger. But in Julia, can we do even better? What if we could explore the compilation space just as easily as exploring the execution space? In what ways can we combine the insights from a debugger with the insights from the compiler to further our real understanding of the program (and, inevitably, its flaws)? How would we aggregate that information and present it in a way that can be exported and shared? +In this talk I’ll introduce my new tool for interactive program analysis, aka debugging. Julia has a unique combination of dynamic features and a standard library designed to be strongly amenable to static analysis. These aspects make possible the integration of a range of the development aids mentioned earlier to benefit developers and users alike. Let’s see what a bright new future for analyzing Julia code might look like!

+

+ +

Speaker's bio

+

I’ve been a Julia contributor since before it was cool. Now, I’m working for Julia Computing, as the static compilation champion, compiler correctness fiend, and performance cliff jumper.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/86/index.html b/previews/PR609/2018/talks_workshops/86/index.html new file mode 100644 index 000000000..9294d4d5a --- /dev/null +++ b/previews/PR609/2018/talks_workshops/86/index.html @@ -0,0 +1,202 @@ + + + + + + + + + Showcasing Julia on the Web — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Alex Mellnik +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Showcasing Julia on the Web

+ +

One way to attract new users to specific Julia packages (and the language in general) is to showcase our work to a wide audience of non-Julia users. There are many ways to do this including Julia blog posts, conference presentations and sandbox environments like JuliaBox, but this talk will focus on creating web-based demonstrations that allow anyone with a browser to interact with Julia code. I will discuss three sample projects:

+
    +
  • DiffEqOnline, a tool that allows the user to solve Ordinary/Stochastic Differential Equations in the browser using the DifferentialEquations.jl ecosystem.
  • +
  • FluxJS Demos, which highlights how easy it is to construct models in Flux.js while showing off the results exported to the web via FluxJS.jl.
  • +
  • Julia-to-JS, which allows the user to write Julia code which is then converted into either asm.js (via ExportWebassembly.jl and CodeGen.jl) or WebAssembly (via Charlotte.jl) and then loaded into the browser, allowing the user to run it. I will also discuss how package developers and other Julia users can create and deploy interactive demonstrations for their own code.
  • +
+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/87/index.html b/previews/PR609/2018/talks_workshops/87/index.html new file mode 100644 index 000000000..84b2a2a8c --- /dev/null +++ b/previews/PR609/2018/talks_workshops/87/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Bringing ocean, climate, and ecosystem modeling to Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Gael Forget +

+ + MIT + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Bringing ocean, climate, and ecosystem modeling to Julia

+ +

Earth systems are simulated using numerical models of increasing resolution that play a key role in helping us understand and predict climate. The MIT general circulation model and MIT Darwin Project developers strive to provide open-source and user-friendly solutions to a wide user community of researchers and educators. In this talk, I will present an initial effort to interface these powerful and versatile tools with Julia. Emphasis, for now, is on porting the gcmfaces toolbox to Julia. This Matlab / Octave toolbox allows users to analyze ocean model output using code that is readily applicable to all supported grid types. Porting it to Julia notably aims to (1) improve scalability to increasingly large data sets, (2) alleviate costs associated with proprietary software, (3) increase integration with cloud services, and (4) facilitate access for educators and researchers via jupyter notebooks. Examples will be taken from a recent simulation of marine ecosystems by the MIT Darwin Project. In the longer term, this effort aims to allow users to leverage MITgcm capabilities (parallel solvers, automatic differentiation, virtual particle tracking, etc.) via Julia.

+

+ +

Speaker's bio

+

I work as a research scientist at the Massachusetts Institute of Technology (MIT) where I investigate oceanography and climate. As part of the Department of Earth, Atmospheric and Planetary Sciences, my work focuses on ocean modeling and the analysis of global ocean data sets such as Argo profile collections and satellite altimetry. Amongst other approaches, I carry out ocean state estimation using the MIT general circulation model to interpolate and interpret ocean observations. I also participate in the development of the MITgcm and its adjoint. My scientific interests include: Ocean circulation and Climate variability; tracer transport and turbulent transformation processes; interaction of bio-geochemistry and physical processes; global cycles of heat, water, and carbon; observational statistics; forward and inverse modeling.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/88/index.html b/previews/PR609/2018/talks_workshops/88/index.html new file mode 100644 index 000000000..833b93739 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/88/index.html @@ -0,0 +1,199 @@ + + + + + + + + + Julia for Space Science: An Antidote for Complexity — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Helge Eichhorn +

+ + PTScientists + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Julia for Space Science: An Antidote for Complexity

+ +

Space science and industry have seen massive changes in recent years. New Space companies are bringing down the cost of space exploration and are achieving impressive technological milestones. Feats that have eluded established organizations for years. This new generation of space hardware is driven by the use of open and affordable technologies such as Cubesats and a willingness to re-examine old assumptions and for radical simplification. +With the hardware revolution well under way the next big frontier in space systems engineering is software. The existing ground control systems and scientific mission data analysis tools have accumulated decades of technical debt and accidental complexity and thus cannot hold step with the rapid changes in the space segment. A fresh approach is needed to lower the barrier of entry for the next generation of space explorers and further bring down the cost of access to space. +This presentation examines how Julia’s unique properties make it ideal for tackling the challenges in space science and exploration and will present the roadmaps for the JuliaAstro and JuliaSpace organizations.

+

+ +

Speaker's bio

+

I am a mission analysis and flight dynamics engineer at PTScientists, space nerd, Julia enthusiast since the beginning, and like to photograph remote moutains.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/89/index.html b/previews/PR609/2018/talks_workshops/89/index.html new file mode 100644 index 000000000..7fc07c529 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/89/index.html @@ -0,0 +1,198 @@ + + + + + + + + + Fast derivative pricing in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Carl Åkerlindh +

+ + Lund U + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Fast derivative pricing in Julia

+ +

Stochastic differential equations is an important class of models with a wide range of applications, commonly used in finance. Pricing of exotic financial derivatives is often a very computationally intensive process, emphasizing the need to simulate models as time-efficient as possible. The general experience though, is that fast often means less flexible. With this in mind I developed SDEModels.jl, a package dedicated to simulation of stochastic differential equations. Using features available in Julia, such as metaprogramming and a very fast RNG, I was able to achieve both lightning-fast simulation with barely any overhead, and managed to make it very simple to define and switch models. +Together with additional package OptionPrice.jl, which implements fast and accurate state-of-the-art pricing algorithms, the goal is to give you a great toolbox for pricing derivatives in Julia both easy and fast for a wide variety of models and contracts.

+

+ +

Speaker's bio

+

Carl is doing his PhD studies in mathematical statistics at Lund University, Sweden. The focus of his research is inference methods for stochastic models used in mathematical finance, with a strong aspect of compuational methods and computational efficency. He has a strong interest of writing highly performant code, squeezing out every possible flop.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/90/index.html b/previews/PR609/2018/talks_workshops/90/index.html new file mode 100644 index 000000000..96b4652c5 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/90/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Towards Real-Time Job Recommendation AI Solution with Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Diego Marinho de Oliveira +

+ + Melbourne, Australia + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Towards Real-Time Job Recommendation AI Solution with Julia

+ +

This presentation has the aim of presenting a Content-Based (combination of Retrieval Phase; + Learning2Rank algorithm) solution made in Julia to improve the quality of Job Recommendations on the SEEK Asia homepage. As a topic to make accessible to any audience, I will present all components in high level and focus in how Julia helped to make it possible to process all features and natural language models necessary to generate high-quality recommendations using Genie API. The solution was deployed in AWS for production using Docker and Ansible. Key Points of Julia in the Presentation: • Speed-up the process in more than x10 • Make easy the natural language preprocessing • Give total control how to manipulate arrays and matrix for efficiency • Turns flexible the feature engineering calculation without adding much complexity by the language • It is capable to be used as API in a real system environment that need to scale to thousands of users • Last version v0.6.x is a remarkable achievement and stable to make the code go to production • Present performance improvements showing Sparse Matrix, @views, @. and special use of @inbounds, @simd, and @fastmath. • Quick highlights on the packages Genie, DataFrames, and XGBoost

+

+ +

Speaker's bio

+

I`m a Lead Data Scientist specialized in Recommender Systems, Machine Learning, and Natural Language Processing.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/91/index.html b/previews/PR609/2018/talks_workshops/91/index.html new file mode 100644 index 000000000..352a48c54 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/91/index.html @@ -0,0 +1,208 @@ + + + + + + + + + BOF: Julia in the classroom — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Bogumił Kamiński +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

BOF: Julia in the classroom

+ +

This breakout session is intended for people who teach or plan to teach Julia language to share their experiences and best practices. Authors of books about Julia are also welcome to join the discussion how their materials can be best used to support teaching.

+ +

When you start teaching Julia there are several natural questions that you typically have to answer, like:

+ +
    +
  • what are essential parts of Julia language and ecosystem (type system, multiple dispatch, libraries, tooling) that students need to learn to get started with using it;
  • +
  • what teaching materials to use; what are exemplary problems for teaching;
  • +
  • what is an effective sequence of topics to cover; what concepts are difficult to understand and how to explain them;
  • +
  • how to best explain to the students why it is worth to learn Julia.This break out session invites all people who teach or plan to teach Julia to discuss about those and similar topics. Willing participants are invited to prepare a short talk or example that is worth sharing. If you would want to propose to present some longer topic please contact the session organizer (Bogumił Kamiński)[http://bogumilkaminski.pl/about/] to make sure that it can be properly planned.
  • +
+ +

An ultimate objective of this breakout session is to prepare a material summarizing the conclusions from the discussion that would be openly shared to the community after the conference.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/92/index.html b/previews/PR609/2018/talks_workshops/92/index.html new file mode 100644 index 000000000..03df18796 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/92/index.html @@ -0,0 +1,202 @@ + + + + + + + + + TIM: Unified Large-scale Forecasting System for Load, Gas, Solar and Wind in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Ján Dolinský +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

TIM: Unified Large-scale Forecasting System for Load, Gas, Solar and Wind in Julia

+ +

Motivation & TIM +Liberalization of energy market in Europe in recent years have made balancing the electricity grid a challenging task. Nowadays, there are diverse consumption patterns and highly variable re-newable power sources like solar, wind, small-scale hydro, etc. at play. Energy companies need to forecast both consumption patterns of their clients and production capacities of their power sources in large numbers. +TIM (Tangent Information Modeller) is a unified large-scale forecasting system written first in C++ and then in Julia. The engine builds time-series models automatically with no human intervention fulfilling the industry need for forecasting at scale. TIM ranked no. 1 in recent GEFCom 2017 competition (https://juliacomputing.com/press/2017/11/21/tangent-works-uses-julia-to-win-ieee-competition.html). +TIM in Julia This high performance engine relies heavily on Julia’s computational paradigms like loop fusion, map, mapreduce, SIMD support, direct calls to BLAS etc.. +TIM is AOT compiled and deployed in the cloud as a RabbitMQ worker. It is then used via an REST API in production by different energy platforms. In the talk, we would like to go through qualities of Julia which made this transition from C++ to Julia in production perfectly possible and share lessons learned. We also talk about entire architecture of the solution starting from the computational kernel all the way up to its REST API. +Live demonstration showing how to set up your own forecasting system using TIM in Julia may also be included.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/93/index.html b/previews/PR609/2018/talks_workshops/93/index.html new file mode 100644 index 000000000..dbdf38bf3 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/93/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Parallel Prefix Polymorphism — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jiahao Chen +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Parallel Prefix Polymorphism

+ +

Parallel prefix (aka scan) is one of the basic algorithms underlying parallel computing, regrouping associative operations as necessary to provide scalability. In this talk, I will demonstrate how to implement parallel prefix as a higher order function in Julia, offering generic scan operations using any user specified function, on any indexable type. Simply by changing the type of the input indexable allows the exact same code to run in parallel as well as in serial. The serialized equivalent program can be introspected in new ways - by passing in a customized array type that logs accesses in getindex and setindex! operations, the algorithm can be made to generate its own visualization. Finally, by passing in formal types that do not contain data, but rather store only the relevant program invariants, we can use multiple dispatch to prove or disprove the correctness of any claimed implementation of parallel prefix.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/94/index.html b/previews/PR609/2018/talks_workshops/94/index.html new file mode 100644 index 000000000..b939543ef --- /dev/null +++ b/previews/PR609/2018/talks_workshops/94/index.html @@ -0,0 +1,199 @@ + + + + + + + + + HTTP.jl: Progressing library for all your Julia web needs — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jacob Quinn +

+ + Domo + +

+
+
+
+ +
+
+ +
+ +
+ +
+

HTTP.jl: Progressing library for all your Julia web needs

+ +

The HTTP protocol is a foundational building block of modern computing. Powering complex microservice architectures to individual Jupyter notebooks, programmers from all domains are constantly faced with tasks of interoperating with web REST APIs, scraping web pages, or spinning up servers to provide data and computation to others. +This lightning talk will focus on: * Brief overview of HTTP.jl’s history and inspiration from other language http libraries (python requests and go net/http) * Request functionality, including automatic cookie handling, builtin AWS authentication, custom timeout handling, and more! * A powerful new middleware Handler framework for flexibly layering server functionality +Come get up to speed on the latest and greatest web functionality in Julia and leave with a sharpened toolset that every coder needs in today’s computing world.

+

+ +

Speaker's bio

+

Attended Carnegie Mellon for a master’s degree in data science and active Julia contributor for 4 years now.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/95/index.html b/previews/PR609/2018/talks_workshops/95/index.html new file mode 100644 index 000000000..d3e3d2ef6 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/95/index.html @@ -0,0 +1,197 @@ + + + + + + + + + ARCH Models in Julia — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Simon Broda +

+ + U of Amsterdam + +

+
+
+
+ +
+
+ +
+ +
+ +
+

ARCH Models in Julia

+ +

The volatility of a financial asset is an important ingredient in asset allocation, derivative pricing, and Value at Risk calculations, among others. Consequently, there is a large literature on volatility modeling. The most successful class of models is that of (generalized) autoregressive conditional heteroskedasticity, or (G)ARCH models, pioneered by econometrician Robert Engle in his seminal 1982 paper, and for which he received the Nobel Memorial Prize in Economics in 2003. The author is developing a package which implements these models in Julia, which as a language is particularly well suited for this task.

+

+ +

Speaker's bio

+

I am an assistant professor of econometrics at the University of Amsterdam, but currently on leave to the University of Zurich under an MSCA indiviual fellowship.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/96/index.html b/previews/PR609/2018/talks_workshops/96/index.html new file mode 100644 index 000000000..15961c8f9 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/96/index.html @@ -0,0 +1,197 @@ + + + + + + + + + BOF: diversity and inclusion — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Jane Herriman +

+ + Caltech/Lawrence Livermore National Lab + +

+
+
+
+ +
+
+ +
+ +
+ +
+

BOF: diversity and inclusion

+ +

We’ll have a birds of a feather session (concurrent with part of the poster session) to discuss and brainstorm diversity and inclusion in the Julia community. All are welcome!

+

+ +

Speaker's bio

+

Jane is a graduate student in computational materials physics enrolled at Caltech. She is interning at Lawrence Livermore National Lab, where she is working with Xavier Andrade on methods for and applications of density functional theory.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/97/index.html b/previews/PR609/2018/talks_workshops/97/index.html new file mode 100644 index 000000000..0e9ae1022 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/97/index.html @@ -0,0 +1,197 @@ + + + + + + + + + Julia for Interactive Data Visualization: Adding Dynamic Behavior to Static Documents — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Yuri Vishnevsky +

+ + + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Julia for Interactive Data Visualization: Adding Dynamic Behavior to Static Documents

+ +

It is now possible to create create beautiful, engaging, and interactive data visualizations that can easily reach a wide audience from the comfort of your Julia REPL. This short talk introduces a new way to create dynamic visualizations on the web for a large class of applications. The ideas are simple — the basic approach is to enumerate visual states ahead of time and compile them from Julia into a JSON representation — but can be usefully applied to a very wide range of use cases, many of which I’ll showcase during the talk.

+

+ +

Speaker's bio

+

I am an independent consultant in high-impact data visualization, design, and software development, and am an active member of the Julia community.

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/talks_workshops/98/index.html b/previews/PR609/2018/talks_workshops/98/index.html new file mode 100644 index 000000000..f60722986 --- /dev/null +++ b/previews/PR609/2018/talks_workshops/98/index.html @@ -0,0 +1,200 @@ + + + + + + + + + Simulating global plant biodiversity — JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + + + + + +
+
+ +
+
+
+ + + +
+ Claire Harris +

+ + University of Glasgow + +

+
+
+
+ +
+
+ +
+ +
+ +
+

Simulating global plant biodiversity

+ +

Biodiversity loss has reached critical levels in the past decade, just as computational techniques and available data sources have put us in a position to begin to quantify this reduction. The Global Biodiversity Information Facility (GBIF) holds hundreds of millions of records of plant species and where they are found. The European Centre for Medium-range Weather Forecasting (ECMWF) has reconstructed the climate of the whole earth since 1900, allowing us to understand the environment in which each plant was discovered. Other researchers, who have constructed a supertree of over thirty thousand of these plant species, give us the opportunity to investigate the evolutionary history of climate preferences among related species. Drawing these datasets together is a huge computational challenge, one exacerbated by our interest in simulating the potential changes these species will undergo in the face of sustained climate change. +The Julia language has provided us with the opportunity to work with these huge datasets (JuliaDB.jl, GDAL.jl), and make spatial simulations based upon endangered plant species on a global scale, which would be intractable in languages commonly used in the life sciences, like R, Python etc. We have been building this platform for almost two years now, along with several other components that come with it (especially Diversity.jl, a package for the measurement and partitioning of biodiversity). +We will talk about the results we have generated in understanding the evolutionary relationships between species across the whole kingdom of flowering plants, how our simulations work to predict responses of plants species to climate change, and how well we are likely to be able to detect these changes using existing biodiversity metrics. +We have also attempted to base our work on Julia “ecosystems” like JuliaStats, JuliaArrays, EcoJulia, BioJulia, JuliaPlots and JuliaGeo, as well as many other individual packages (e.g. JuliaDB.jl, Unitful.jl), and we will discuss the advantages to and difficulties of using and integrating across such systems.

+

+ +

Speaker's bio

+

+

+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2018/tickets.html b/previews/PR609/2018/tickets.html new file mode 100644 index 000000000..9c460daf6 --- /dev/null +++ b/previews/PR609/2018/tickets.html @@ -0,0 +1,176 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + + +
+ +
+ +

JuliaCon 2018: Buy Tickets

+

+ Tickets for JuliaCon have now sold out. There may be a few cancellations, in which case we will allocate tickets to those on the waitlist. +

+ Ticket sales will support the Julia Community through donations to NumFOCUS, a non-profit public charity promoting and supporting the ongoing research and development of open-source scientific data tools through educational, community and public channels. +

+

Buy Tickets

+

+

+ +
+ Powered by Eventbrite +
+
+

+ +

Refund Policy

+

Refunds are available upto 30 days prior to the event. After that period, refunds will be considered within 24 hours of purchase, or on a discretionary basis if we are able to sell them on. Please contact us immediately if you change your mind. +

+

We will be also be happy to transfer the registration if the original purchaser is unable to attend. Please email us with your request. +

+ +

Contact the Organizers

+

Please email juliacon@julialang.org with any questions, comments or suggestions. +

+ +

Ticket Prices

+

Early bird ticket sales have ended. Full ticket prices are as follows.

+
+ + + + + + + + +
Student, TalksGBP 175
Student, Talk + WorkshopsGBP 250
TalksGBP 400
WorkshopGBP 200
Talk + WorkshopsGBP 500
+
+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2018/workshops.html b/previews/PR609/2018/workshops.html new file mode 100644 index 000000000..6605c0d64 --- /dev/null +++ b/previews/PR609/2018/workshops.html @@ -0,0 +1,399 @@ + + + + + + + + + JuliaCon 2018, London, UK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos from JuliaCon are now available online +
+
+
+ + +
+ +
Previous editions: 2017 | 2016 | 2015 | 2014
+
+ + + + +
+ +
+ +
+ + + + + +
+ +
+
+ + + +
+
+
+
+ + + +
+ Sacha Verweij and Jane Herriman +

+ + Stanford University and Julia Computing + +

+
+
+
+
+
+ Workshop +

+ An Introduction to Julia +

+

Are you new to Julia?! This beginners’ tutorial should be accessible to anyone with technical computing needs and some experience with another language. We will show you why Julia is special, demonstrate how easy Julia is to learn, and get you writing some Julia code. +

+
+
+
+ + +
+
+
+
+ + + +
+ Andy Ferris +

+ + Fugro Roames + +

+
+
+
+
+
+ Workshop +

+ A practical introduction to metaprogramming in Julia +

+

Julia focuses on speed and user productivity, due in part to its metaprogramming capability. This workshop arms you with the knowledge to create fast, generic and easy-to-use APIs using techniques including multiple dispatch, recursion, traits, constant propagation, macros, and generated functions. +

+
+
+
+ + +
+
+
+
+ + + +
+ Mike Innes, Deniz Yuret, and Pontus Stenetorp +

+ + Julia Computing, Koç University, and University College London + +

+
+
+
+
+
+ Workshop +

+ Machine Learning with Julia: Elegance, Speed and Ease +

+

Machine Learning has become one of the hottest research and industry areas over the last few years; we believe Julia is the strongest contender to become the language for Machine Learning and in this tutorial we will give a flying start to train/deploy models and use of the power that Julia brings. +

+
+
+
+ + +
+
+
+
+ + + +
+ Sheehan Olver +

+ + Imperial College, London + +

+
+
+
+
+
+ Workshop +

+ Numerical Analysis in Julia +

+

This workshop brings together 4 speakers on different topics in numerical analysis, to demonstrate the strengths of Julia’s approach to scientific computing in atomistic simulations, function approximation, differential equations, fast transformations, validated numerics, and linear algebra. +

+
+
+
+ + +
+
+
+
+ + + +
+ David Anthoff +

+ + University of California, Berkeley + +

+
+
+
+
+
+ Workshop +

+ Queryverse +

+

This workshop will introduce the Queryverse family of packages, a unified data science stack on julia. It provides tools for file IO, data querying, visual data exploration and statistical plotting. It also integrates with a large number of other julia packages. +

+
+
+
+ + +
+
+
+
+ + + +
+ Chris Rackauckas +

+ + UC Irvine and MIT + +

+
+
+
+
+
+ Workshop +

+ Solving Partial Differential Equations with Julia  +

+

Climate scientists solve fluid dynamics PDEs. Biologists solve reaction-diffusion PDEs. Economists solve optimal control PDEs. But solving PDEs is hard! Where do you start? This workshop gives a broad overview of the Julia package ecosystem and shows how to tie it together to solve these problems. +

+
+
+
+ + +
+
+
+
+ + + +
+ Juan Pablo Vielma +

+ + MIT Sloan + +

+
+
+
+
+
+ Workshop +

+ The JuMP ecosystem for mathematical optimization  +

+

JuMP is an award-winning DSL for mathematical optimization that has quickly become the gold-standard for its simplicity, performance, and versatility. A major overhaul of JuMP will be finalized during the JuMP-dev workshop in June, so it is the perfect time for an updated tutorial and feature demo. +

+
+
+
+ + +
+
+
+
+ + + +
+ Avik Sengupta +

+ + Julia Computing + +

+
+
+
+
+
+ Workshop +

+ Natural Language Processing in Julia +

+

A hands on workshop demonstrating the use of natural language processing tools in Julia. Working with textual data, we will discuss methods for data collection, parsing, pre-processing, embedding, classification and deep neural networks. +

+
+
+
+ +
+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2019/assets/css/grid.css b/previews/PR609/2019/assets/css/grid.css new file mode 100644 index 000000000..82a9e4239 --- /dev/null +++ b/previews/PR609/2019/assets/css/grid.css @@ -0,0 +1,40 @@ +.u-container { max-width: 1152px; } +.u-cols-1 { width: 64px } +.u-cols-2 { width: 160px } +.u-cols-3 { width: 256px } +.u-cols-4 { width: 352px } +.u-cols-5 { width: 448px } +.u-cols-6 { width: 544px } +.u-cols-7 { width: 640px } +.u-cols-8 { width: 736px } +.u-cols-9 { width: 832px } +.u-cols-10 { width: 928px } +.u-cols-11 { width: 1024px } +.u-cols-12 { width: 1120px } +.u-cols-1,.u-cols-2,.u-cols-3,.u-cols-4,.u-cols-5,.u-cols-6,.u-cols-7,.u-cols-8,.u-cols-9,.u-cols-10,.u-cols-11,.u-cols-12,.u-hmargins.u-max-cols-1,.u-max-cols-2,.u-max-cols-3,.u-max-cols-4,.u-max-cols-5,.u-max-cols-6,.u-max-cols-7,.u-max-cols-8,.u-max-cols-9,.u-max-cols-10,.u-max-cols-11,.u-max-cols-12 { margin-left: 16.0px; margin-right: 16.0px } +.u-max-cols-1 { max-width: 64px } +.u-max-cols-2 { max-width: 160px } +.u-max-cols-3 { max-width: 256px } +.u-max-cols-4 { max-width: 352px } +.u-max-cols-5 { max-width: 448px } +.u-max-cols-6 { max-width: 544px } +.u-max-cols-7 { max-width: 640px } +.u-max-cols-8 { max-width: 736px } +.u-max-cols-9 { max-width: 832px } +.u-max-cols-10 { max-width: 928px } +.u-max-cols-11 { max-width: 1024px } +.u-max-cols-12 { max-width: 1120px } +.u-cols-1,.u-cols-2,.u-cols-3,.u-cols-4,.u-cols-5,.u-cols-6,.u-cols-7,.u-cols-8,.u-cols-9,.u-cols-10,.u-cols-11,.u-cols-12,.u-hmargins.u-max-cols-1,.u-max-cols-2,.u-max-cols-3,.u-max-cols-4,.u-max-cols-5,.u-max-cols-6,.u-max-cols-7,.u-max-cols-8,.u-max-cols-9,.u-max-cols-10,.u-max-cols-11,.u-max-cols-12 { margin-left: 16.0px; margin-right: 16.0px } +.u-rows-1 { min-height: 64px} +.u-rows-2 { min-height: 160px} +.u-rows-3 { min-height: 256px} +.u-rows-4 { min-height: 352px} +.u-rows-5 { min-height: 448px} +.u-rows-6 { min-height: 544px} +.u-rows-7 { min-height: 640px} +.u-rows-8 { min-height: 736px} +.u-rows-9 { min-height: 832px} +.u-rows-10 { min-height: 928px} +.u-rows-11 { min-height: 1024px} +.u-rows-12 { min-height: 1120px} +.u-rows-1,.u-rows-2,.u-rows-3,.u-rows-4,.u-rows-5,.u-rows-6,.u-rows-7,.u-rows-8,.u-rows-9,.u-rows-10,.u-rows-11,.u-rows-12,.u-vmargins { padding-top: 16.0px; padding-bottom: 16.0px }.u-margins { margin: 16.0px } .u-pad { padding: 16.0px } diff --git a/previews/PR609/2019/assets/css/reset.css b/previews/PR609/2019/assets/css/reset.css new file mode 100644 index 000000000..85af6570b --- /dev/null +++ b/previews/PR609/2019/assets/css/reset.css @@ -0,0 +1,38 @@ + +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/previews/PR609/2019/assets/css/style.css b/previews/PR609/2019/assets/css/style.css new file mode 100644 index 000000000..3a814070a --- /dev/null +++ b/previews/PR609/2019/assets/css/style.css @@ -0,0 +1,656 @@ +html { + color: #393333; +} +a { + text-decoration: none; +} + +a { + color: #9d253d; +} + +em { + font-style: italic; +} + +h1 { + font-size: 32px; + margin-bottom: 12px; + line-height: 48px; + font-weight: bold; + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + +h2 { + font-size: 32px; + line-height: 40px; + margin-bottom: 16px; + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + +h3 { + font-size: 24px; + line-height: 40px; + margin-bottom: 16px; + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + +h1,h2,h3,h4 { + color: #b07950; +} +.link-color-inherit a, a.link-color-inherit { + color: inherit; +} +.u-slab { + font-family: "Roboto Slab"; +} + +.u-futura { + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + + +.banner-bg { + min-height: 384px; + background-size: cover; + -moz-background-size: cover; + background-repeat: no-repeat; + background-position: top; +} + +.light-button { + background: #ffffff; + border: 1px #888 solid; + color: #222; +} +.red-button { + background: #cb3c33; + border: none; + color: #000; +} + +.bg-blue { + background-color: #426e93; +} + +.bg-black { + background-color: #111; +} +.bg-white { + background-color: #fff; +} + +.bg-light-gray { + background-color: #ededed; +} +.bg-purple { + background: #934845; +} +.text-gray { + color: #575757; +} +.text-light-gray { + color: #cbd4db; +} +.border-gray { + border-color: #cbd4db !important; +} + +.text-dark-gray { + color: #1b1b1b; +} +.text-white { + color: #ffffff; +} +.bg-dark-gray { + background-color: #1b1b1b; +} +.u-fullwidth { + width: 98vw; +} + +/* //.active { +// border-top: solid #000 4px; +// padding-top: 12px; +// color: #000 !important; +// font-weight: bold; +//} */ + +.text-pad { + padding: 0.333em 1em; +} + +.text-red { + color: #d93939; +} + +.bg-light-blue { + background-color: #61d4e0; +} + +.text-medium-blue { + color: #426e93 +} + +.bg-dark-blue { + background-color: #27465c; +} +.text-light-blue { + color: #6586a1; +} + +.bg-white { + background-color: #ffffff; +} + +.text-overflow-fade { + overflow: hidden; +} + +.text-blue { + color: #416e93; +} + +.long-form h2 { + font-size: 24px; + font-family: 'futura-pt'; + /* font-family: 'Nunito', sans-serif; */ +} + +pre { + white-space: pre-wrap; /* Since CSS 2.1 */ + white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ + padding: 1em; + font-size: 14px; + border-radius: 7px; + background: #f7f7f8; + border: #ebebeb 1px solid; +} +pre, code { + font-family: monospace; + background: #f7f7f8; + border: #ebebeb 1px solid; +} +pre > code { + background: inherit; + border: none; +} + +code { + padding: 0.1em 0.5em; + border-radius: 4px; +} + +ul, ol { + padding-left: 1em; +} + +.u-borders { + border: 1px solid #fff; +} +.u-hborders { + border-top: 1px solid #fff; + border-bottom: 1px solid #fff; +} +.u-vborders { + border-right: 1px solid #fff; + border-left: 1px solid #fff; +} + +.u-border-bottom { + border-bottom: 1px solid #fff; +} +.u-border-collapse { + border-collapse:collapse; +} +.u-hpad { + padding-left: 16px; + padding-right: 17px; +} + +.avatar-circle { + height: 144px; + width: 144px; + border-radius:80px; + border: 8px solid #fff; + overflow: hidden; +} +.avatar-circle-talks { + position: relative; + left: 8pt; + top: -2em; + width: 70pt; + border-radius: 60px; + border: 1px solid #888888; + overflow: hidden; + background-color: #fff; +} +.avatar-talks { + color: #bf382e; + font-size: 12pt; + position: relative; + top: -35%; + min-height: 25pt; + max-height: 40pt; +} +.headerimg-talks { + position: relative; + width: 100%; + height:20%; +} +.u-fit-width { + width: 100%; + height: auto; +} + +.avatar-img { + min-height: 144px; + min-width: 144px; + max-height: 144px; + max-width: 144px; + height: auto; + width: auto; +} + +.border-white { border-color: white} +.bg-black { background-color: #000000} +.bg-gray-1 { background-color: #282828} +.bg-gray-2 { background-color: #505050} +.bg-gray-3 { background-color: #6E6E6E} +.bg-gray-4 { background-color: #969696} +.bg-white { background-color: #ffffff}.text-black { color: #000000} +.text-gray-1 { color: #282828} +.text-gray-2 { color: #505050} +.text-gray-3 { color: #6E6E6E} +.text-gray-4 { color: #969696} +.text-white { color: #ffffff}.border-black { border-color: #000000} +.border-gray-1 { border-color: #282828} +.border-gray-2 { border-color: #505050} +.border-gray-3 { border-color: #6E6E6E} +.border-gray-4 { border-color: #969696} +.border-white { border-color: #ffffff} + +.u-pad-2 { + padding: 32px; +} + +.long-form td, th { + padding: 0.5em; + border: #cfcfcf solid 1px; +} +.long-form th { + font-weight: bold; +} + +.banner-gradient { + background: radial-gradient(circle at bottom right, #e7a248, #e74248, #9d253d); /* Standard syntax */ + background-color: #e74248; +} + +.text-yellow { + color: #f0b980 +} +.text-shadow { + text-shadow: 2px 2px 2px #7d253d; + +} +.bg-yellow { + background-color: #f0b980 +} +.text-maroon { + color: #9d253d; +} +.bg-maroon { + background-color: #9d253d; +} + +.text-green { + color: #00A61D; +} + +/* new design */ +.previous-editions-menu { + font-size: 11pt; + color: #666; +} +.previous-editions-menu a { + color: #666; +} + +.main-heading { + background-repeat: no-repeat; + background-position: center bottom; + background-size: 1300pt auto; +} + +@media (min-width: 0px) { + .main-heading { + background-image: url('../img/baltimore_skyline.png'); + } +} + +@media (min-width: 480px) { + .main-heading { + background-image: url('../img/baltimore_skyline.png'); + } +} + +@media (min-width: 768px) { + .main-heading { + background-image: url('../img/baltimore_skyline.png'); + } +} + +@media (min-width: 992px) { + .main-heading { + background-image: url('../img/baltimore_skyline.png'); + } +} + +@media (min-width: 1200px) { + .main-heading { + background-image: url('../img/baltimore_skyline.png'); + } +} + +.main-heading h1 { + font-size: 40pt; + font-weight: 900; + /* color: #bf382e; */ + color: #761c7c; + margin-top: 20pt; +} + +.main-heading h2 { + color: #4366d0; +} + +.main-heading h3 { + font-size: 16pt; + color: #4366d0; + /* color: #ed1c24; */ + line-height: 120%; +} + +.heading-copy { + +} + +.heading-copy .main-title { + +} + +.main-menu { + /* background-color: #bf382e; */ + background-color: #4366d0; +} +.main-menu .navbar .navbar-nav a.nav-link { + color: #fff; +} + +.grey-menu { + background-color: #ededed; +} +.grey-menu .navbar .navbar-nav a.nav-link { + color: #bf382e; +} + +.btn { + color: #bf382e; + background-color: #fff; + border: 1px solid #bf382e; + border-radius: 0 +} +.btn:active{ + background-color: #bf382e; +} + +.btn:hover, .btn:focus{ + color: #333; +} + +.btn.active { + color: #fff; + background-color: #bf382e; +} + +.masonry .grid-item { + /* float: left; */ + /* width: 47%; */ + /* height: auto; */ + /* margin-right: 10pt; */ + /* margin-bottom: 10pt; */ +} + +.content-box { + padding: 20pt; + color: #fff; + font-size: 14pt; + font-family: "futura-pt", sans-serif; +} +.content-box h2 { + font-size: 22pt; + color: #fff; +} +.content-box a { + text-decoration: underline; + color: #f0b980 +} + +.content-box-talk { + padding: 12pt; + color: #333333; + font-size: 14pt; + font-family: "futura-pt", sans-serif; + /* font-family: 'Nunito', sans-serif; */ +} +.content-box-talk h2 { + font-size: 22pt; + color: #bf382e; + font-family: "futura-pt", sans-serif; + /* font-family: 'Nunito', sans-serif; */ +} +.content-box-talk p { + position: relative; + color: #333333; + font-size: 14pt; +} +.content-box-talk a { + color: #bf382e; + font-size: 12pt; +} +.content-box .content-box-talk a { + text-decoration: underline; + color: #f0b980; + font-size: 14pt; +} +.header-talks { + color: #bf382e; + font-size: 12pt; + width: 100%; + height: 5%; +} +.speaker-talks { + font-size: 14pt; + color: #333333; + font-weight: 700; + display: block; + margin-left: 90pt; + margin-top: -80pt; + max-width: 80%; +} +.content-box .speaker-talks { + color: #fff; + font-size: 18pt; + margin-left: 90pt; +} +.content-box .speaker-talks .affiliation { + font-size: 16px; +} +.content-box .content-box-talk p { + color: #fff; +} +.red-box { + background-color: #bf382e; +} +/* .red-box.content-box h2 { + text-decoration: underline #ee6856; + text-decoration-skip-ink: auto; + -webkit-text-decoration-skip-ink: auto; +} */ +.white-box { + background-color: #ffffff; + border: 1px solid #aaa; + padding: 10pt; +} +.light-blue-box { + background-color: #6581df; +} +.green-box { + background-color: #64ac58; +} +.dark-blue-box { + background-color: #3857bd; +} +.purple-box { + background-color: #854c9e; +} +.dark-purple-box { + background-color: #553d6b; +} +.dark-green-box { + background-color: #607d4f; +} +.light-red-box { + background-color: #ee6856; +} + +.content-box-talk h2 a.talk-title { + font-size: 22pt; + color: #bf382e; + font-family: "futura-pt", sans-serif; + /* font-family: 'Nunito', sans-serif; */ + text-decoration: none; +} + +footer { + background-color: #232323; + color: #fff; +} +footer a { + color: #fff; +} +footer a:hover { + color: #e7a248; +} + +@media (min-width: 768px) { + .navbar-nav { + float:none; + margin:0 auto; + display: block; + text-align: center; + } + + .navbar-nav > li { + display: inline-block; + float:none; + } +} + +#talks-filter a:hover { + background-color: #bf382e; + color: #fff; +} + +#talk .avatar-circle-talks { + position: relative; + left: 8pt; + width: 100pt; + border-radius: 90px; + border: 1px solid #888888; + overflow: hidden; + background-color: #fff; +} + +#talk .speaker-talks { + font-size: 14pt; + color: #333333; + font-weight: 700; + display: block; + margin-left: 120pt; + margin-top: -95pt; + max-width: 80%; +} + +p.affiliation { + font-weight: normal; + font-size: 10pt; + margin-bottom: 0; + min-height: 20pt; +} + +#talk p.affiliation { + font-weight: normal; + font-size: 12pt; + min-height: 20pt; +} + +.back-link { + color: #bf382e; + text-decoration: none !important; + padding: 2pt; +} + +h1, h2, h3, h4, h5, h6 { + color: #bf382e; +} + +.grey-menu .navbar-nav li { + background-color: #ededed; +} + +.earlybird { + text-align: center; + background-color: cornsilk; +} + +.earlybird a { + color: #bf382e; + /* color: #761c7c; */ + text-decoration: none; +} + +.mentorship { + text-align: center; + background-color: #CCF1D8; +} + +.mentorship a { + color: #8D0081; + /* color: #761c7c; */ + text-decoration: none; +} + +.alert { + margin: 0%; +} + +.sponsors { overflow: auto; padding: 20pt;} +.sponsors_img_l1 { max-width: 350px; max-height: 200px; overflow: hidden; display: inline-block; } +.sponsors_img_l2 { max-width: 300px; max-height: 80px; overflow: hidden; display: inline-block; } +.sponsors_img_l3 { max-width: 150px; max-height: 40px; overflow: hidden; display: inline-block; } + +@media screen and (max-width: 600px) { + #waving-flag{ + display: none; + visibility: hidden; + } +} \ No newline at end of file diff --git a/previews/PR609/2019/assets/css/type-scale.css b/previews/PR609/2019/assets/css/type-scale.css new file mode 100644 index 000000000..a1290cad0 --- /dev/null +++ b/previews/PR609/2019/assets/css/type-scale.css @@ -0,0 +1,48 @@ + + +p, blockquote, pre, ul, ol { + line-height: 1.75; + margin-bottom: 24px; +} +blockquote { + padding-right: 2em; + padding-left: 2em; +} + +strong, .u-bold { + font-weight: bold; +} + +ul { + padding-left: 2em; + margin-bottom: 16px; +} + + +html,body { + font-family: 'Noto Sans', sans-serif; + font-weight: 400; + font-size: 16px; + line-height: 32px; +} + +.u-body-extra-small { font-size: 14px; line-height:24px } +.u-body-small { font-size: 16px; line-height:24px } +.u-body-regular { font-size: 16px; line-height:32px } +.u-body-medium { font-size: 18px; line-height:30px } +.u-body-large { font-size: 20px; line-height:34px } + +.u-highlight-extra-large { font-size: 26px; line-height:38px } +.u-highlight-large { font-size: 24px; line-height:36px } +.u-highlight-medium { font-size: 22px; line-height:34px } +.u-highlight-small { font-size: 18px; line-height:28px } + +.u-title-extra-large { font-size: 100px; line-height: 128px } +.u-title-large { font-size: 52px; line-height: 64px } +.u-title-medium { font-size: 36px; line-height:44px } +.u-title-regular { font-size: 34px; line-height:42px } +.u-title-small { font-size: 28px; line-height:34px } +.u-title-extra-small { font-size: 18px; line-height:24px } + +.u-subline { font-size: 12px; line-height:24px } + diff --git a/previews/PR609/2019/assets/css/util.css b/previews/PR609/2019/assets/css/util.css new file mode 100644 index 000000000..0d6f808a9 --- /dev/null +++ b/previews/PR609/2019/assets/css/util.css @@ -0,0 +1,186 @@ +.u-border-bottom { + border-bottom: 1px solid #bbb; +} + +.u-uppercase { + text-transform: uppercase; +} + +.u-center { + margin: 0 auto !important; +} + +.u-space-around { + justify-content: space-around; +} + +.u-space-between { + justify-content: space-between; +} +.u-relative { + position: relative; +} + +.u-flex { + display: flex; +} + +.u-flex-grow { + flex-grow: 1.0; +} + +.u-hbox { + display: flex; + flex-direction: row; + flex-flow: row wrap; +} + +.u-vbox { + display: flex; + flex-direction: column; +} + +.u-half-width { + width: 45%; + margin-right: 2em; +} +.u-items-end { + align-items: flex-end; +} + +.u-justify-end { + justify-content: flex-end; +} +.u-items-center { + align-items: center; +} +.u-items-stretch { + align-items: stretch; +} + +.u-items-start { + align-items: flex-start; +} +.u-justify-center { + justify-content: center; +} +.u-justify-space-between { + justify-content: space-between; +} + +.u-hskip-half { width: 0.5rem; height:0; } +.u-hskip { width: 1rem; height:0; } +.u-hskip-2 { width: 2rem; height:0; } +.u-hskip-3 { width: 3rem; height:0; } +.u-vskip-half { height: 0.5rem; width:0; } +.u-vskip { height: 1rem; width:0; } +.u-vskip-2 { height: 2rem; width:0; } +.u-vskip-3 { height: 3rem; width:0; } + +.u-button { + color: #fff; + padding: 0.333em 1em; + outline: none; + border-radius: 4px; + min-width: 128px; + text-align: center; + background: #272822; +} +.u-button:hover { + background: #555; + color: #fff; +} + +.u-input { + border: none; + color: #444; + padding: 0.333em 1em; + border-radius: 4px; + min-width: 128px; + outline:none; +} + +.u-regular { + font-weight: 400; +} + +.u-extra-light { + font-weight: 200; +} +.u-thin { + font-weight: 300; +} + +.u-text-center { + text-align: center; +} + +.u-text-right { + text-align: right; +} + +.u-display-none { + display: none; +} + +.u-bold { + font-weight: bold; +} +.u-italic { + font-style: italic; +} + +.u-gray-3 { + color: #333; +} + +.u-bordered { + border: 1px solid #888; +} + +.u-flip { + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; +} + +.u-hline { + height:0; + border-bottom: 1px solid #fff; + width: 100%; +} + +.u-vline { + width:0; + border-right: 1px solid #fff; + align-self: stretch; +} +.u-self-stretch { + align-self: stretch; +} + +.u-self-end { + align-self: flex-end; +} + +.u-fit-background { + background-size: cover; + -moz-background-size: cover; + background-repeat: no-repeat; + background-position: center center; +} + +.u-relative { + position: relative; +} + +.u-bottom { + position: absolute; + bottom: 0; +} +.u-zero-margins { + margin: 0 !important; +} diff --git a/previews/PR609/2019/assets/img/JuliaCon-NG.html b/previews/PR609/2019/assets/img/JuliaCon-NG.html new file mode 100644 index 000000000..ac9c11000 --- /dev/null +++ b/previews/PR609/2019/assets/img/JuliaCon-NG.html @@ -0,0 +1,88 @@ + + + + + + Page not found · GitHub Pages + + + + +
+ +

404

+

File not found

+ +

+ The site configured at this address does not + contain the requested file. +

+ +

+ If this is your site, make sure that the filename case matches the URL.
+ For root URLs (like http://example.com/) you must provide an + index.html file. +

+ +

+ Read the full documentation + for more information about using GitHub Pages. +

+ + + + + + +
+ + diff --git a/previews/PR609/2019/assets/img/archrobison.jpg b/previews/PR609/2019/assets/img/archrobison.jpg new file mode 100644 index 000000000..89df3da00 Binary files /dev/null and b/previews/PR609/2019/assets/img/archrobison.jpg differ diff --git a/previews/PR609/2019/assets/img/baltimore_skyline.png b/previews/PR609/2019/assets/img/baltimore_skyline.png new file mode 100644 index 000000000..80c36dfb1 Binary files /dev/null and b/previews/PR609/2019/assets/img/baltimore_skyline.png differ diff --git a/previews/PR609/2019/assets/img/cjmusante.jpg b/previews/PR609/2019/assets/img/cjmusante.jpg new file mode 100644 index 000000000..07bad5628 Binary files /dev/null and b/previews/PR609/2019/assets/img/cjmusante.jpg differ diff --git a/previews/PR609/2019/assets/img/heathermiller.jpg b/previews/PR609/2019/assets/img/heathermiller.jpg new file mode 100644 index 000000000..5d1496d00 Binary files /dev/null and b/previews/PR609/2019/assets/img/heathermiller.jpg differ diff --git a/previews/PR609/2019/assets/img/julia-logo-dots.png b/previews/PR609/2019/assets/img/julia-logo-dots.png new file mode 100644 index 000000000..a520d672d Binary files /dev/null and b/previews/PR609/2019/assets/img/julia-logo-dots.png differ diff --git a/previews/PR609/2019/assets/img/logo.svg b/previews/PR609/2019/assets/img/logo.svg new file mode 100644 index 000000000..2f3a89711 --- /dev/null +++ b/previews/PR609/2019/assets/img/logo.svg @@ -0,0 +1,172 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/2019/assets/img/madeleineudell.jpg b/previews/PR609/2019/assets/img/madeleineudell.jpg new file mode 100644 index 000000000..38989eafc Binary files /dev/null and b/previews/PR609/2019/assets/img/madeleineudell.jpg differ diff --git a/previews/PR609/2019/assets/img/sponsors/conning.png b/previews/PR609/2019/assets/img/sponsors/conning.png new file mode 100644 index 000000000..86abccb8f Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/conning.png differ diff --git a/previews/PR609/2019/assets/img/sponsors/google.png b/previews/PR609/2019/assets/img/sponsors/google.png new file mode 100644 index 000000000..897852651 Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/google.png differ diff --git a/previews/PR609/2019/assets/img/sponsors/intel.png b/previews/PR609/2019/assets/img/sponsors/intel.png new file mode 100644 index 000000000..5f936a5aa Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/intel.png differ diff --git a/previews/PR609/2019/assets/img/sponsors/invenia.png b/previews/PR609/2019/assets/img/sponsors/invenia.png new file mode 100644 index 000000000..2a9f45037 Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/invenia.png differ diff --git a/previews/PR609/2019/assets/img/sponsors/jpmorgan.png b/previews/PR609/2019/assets/img/sponsors/jpmorgan.png new file mode 100644 index 000000000..21ac0eea5 Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/jpmorgan.png differ diff --git a/previews/PR609/2019/assets/img/sponsors/julia.png b/previews/PR609/2019/assets/img/sponsors/julia.png new file mode 100644 index 000000000..0ba66c47f Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/julia.png differ diff --git a/previews/PR609/2019/assets/img/sponsors/moore.jpg b/previews/PR609/2019/assets/img/sponsors/moore.jpg new file mode 100644 index 000000000..d6eb5756f Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/moore.jpg differ diff --git a/previews/PR609/2019/assets/img/sponsors/nvidia.svg b/previews/PR609/2019/assets/img/sponsors/nvidia.svg new file mode 100644 index 000000000..7db8d2aa3 --- /dev/null +++ b/previews/PR609/2019/assets/img/sponsors/nvidia.svg @@ -0,0 +1 @@ + Artificial Intelligence Computing Leadership from NVIDIA diff --git a/previews/PR609/2019/assets/img/sponsors/relational_ai.jpg b/previews/PR609/2019/assets/img/sponsors/relational_ai.jpg new file mode 100644 index 000000000..2c0ab0d98 Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/relational_ai.jpg differ diff --git a/previews/PR609/2019/assets/img/sponsors/sarnoff.png b/previews/PR609/2019/assets/img/sponsors/sarnoff.png new file mode 100644 index 000000000..4e5ba771b Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/sarnoff.png differ diff --git a/previews/PR609/2019/assets/img/sponsors/sloan.png b/previews/PR609/2019/assets/img/sponsors/sloan.png new file mode 100644 index 000000000..e1890d838 Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/sloan.png differ diff --git a/previews/PR609/2019/assets/img/sponsors/umb.jpg b/previews/PR609/2019/assets/img/sponsors/umb.jpg new file mode 100644 index 000000000..6ae84cfae Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/umb.jpg differ diff --git a/previews/PR609/2019/assets/img/sponsors/zapata.png b/previews/PR609/2019/assets/img/sponsors/zapata.png new file mode 100644 index 000000000..2e8c66c80 Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/zapata.png differ diff --git a/previews/PR609/2019/assets/img/sponsors/zettalabs.png b/previews/PR609/2019/assets/img/sponsors/zettalabs.png new file mode 100644 index 000000000..c57d84838 Binary files /dev/null and b/previews/PR609/2019/assets/img/sponsors/zettalabs.png differ diff --git a/previews/PR609/2019/assets/img/stevenjohnson.jpg b/previews/PR609/2019/assets/img/stevenjohnson.jpg new file mode 100644 index 000000000..935093ec2 Binary files /dev/null and b/previews/PR609/2019/assets/img/stevenjohnson.jpg differ diff --git a/previews/PR609/2019/assets/img/stevenlee.jpg b/previews/PR609/2019/assets/img/stevenlee.jpg new file mode 100644 index 000000000..4c1ee7dac Binary files /dev/null and b/previews/PR609/2019/assets/img/stevenlee.jpg differ diff --git a/previews/PR609/2019/assets/img/waving-flag.gif b/previews/PR609/2019/assets/img/waving-flag.gif new file mode 100644 index 000000000..07ab3101c Binary files /dev/null and b/previews/PR609/2019/assets/img/waving-flag.gif differ diff --git a/previews/PR609/2019/assets/js/jquery.sticky.js b/previews/PR609/2019/assets/js/jquery.sticky.js new file mode 100644 index 000000000..fe433c515 --- /dev/null +++ b/previews/PR609/2019/assets/js/jquery.sticky.js @@ -0,0 +1,288 @@ +// Sticky Plugin v1.0.4 for jQuery +// ============= +// Author: Anthony Garand +// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk) +// Improvements by Leonardo C. Daronco (daronco) +// Created: 02/14/2011 +// Date: 07/20/2015 +// Website: http://stickyjs.com/ +// Description: Makes an element on the page stick on the screen as you scroll +// It will only set the 'top' and 'position' of your element, you +// might need to adjust the width in some cases. + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + var slice = Array.prototype.slice; // save ref to original slice() + var splice = Array.prototype.splice; // save ref to original slice() + + var defaults = { + topSpacing: 0, + bottomSpacing: 0, + className: 'is-sticky', + wrapperClassName: 'sticky-wrapper', + center: false, + getWidthFrom: '', + widthFromWrapper: true, // works only when .getWidthFrom is empty + responsiveWidth: false, + zIndex: 'inherit' + }, + $window = $(window), + $document = $(document), + sticked = [], + windowHeight = $window.height(), + scroller = function() { + var scrollTop = $window.scrollTop(), + documentHeight = $document.height(), + dwh = documentHeight - windowHeight, + extra = (scrollTop > dwh) ? dwh - scrollTop : 0; + + for (var i = 0, l = sticked.length; i < l; i++) { + var s = sticked[i], + elementTop = s.stickyWrapper.offset().top, + etse = elementTop - s.topSpacing - extra; + + //update height in case of dynamic content + s.stickyWrapper.css('height', s.stickyElement.outerHeight()); + + if (scrollTop <= etse) { + if (s.currentTop !== null) { + s.stickyElement + .css({ + 'width': '', + 'position': '', + 'top': '', + 'z-index': '' + }); + s.stickyElement.parent().removeClass(s.className); + s.stickyElement.trigger('sticky-end', [s]); + s.currentTop = null; + } + } + else { + var newTop = documentHeight - s.stickyElement.outerHeight() + - s.topSpacing - s.bottomSpacing - scrollTop - extra; + if (newTop < 0) { + newTop = newTop + s.topSpacing; + } else { + newTop = s.topSpacing; + } + if (s.currentTop !== newTop) { + var newWidth; + if (s.getWidthFrom) { + padding = s.stickyElement.innerWidth() - s.stickyElement.width(); + newWidth = $(s.getWidthFrom).width() - padding || null; + } else if (s.widthFromWrapper) { + newWidth = s.stickyWrapper.width(); + } + if (newWidth == null) { + newWidth = s.stickyElement.width(); + } + s.stickyElement + .css('width', newWidth) + .css('position', 'fixed') + .css('top', newTop) + .css('z-index', s.zIndex); + + s.stickyElement.parent().addClass(s.className); + + if (s.currentTop === null) { + s.stickyElement.trigger('sticky-start', [s]); + } else { + // sticky is started but it have to be repositioned + s.stickyElement.trigger('sticky-update', [s]); + } + + if (s.currentTop === s.topSpacing && s.currentTop > newTop || s.currentTop === null && newTop < s.topSpacing) { + // just reached bottom || just started to stick but bottom is already reached + s.stickyElement.trigger('sticky-bottom-reached', [s]); + } else if(s.currentTop !== null && newTop === s.topSpacing && s.currentTop < newTop) { + // sticky is started && sticked at topSpacing && overflowing from top just finished + s.stickyElement.trigger('sticky-bottom-unreached', [s]); + } + + s.currentTop = newTop; + } + + // Check if sticky has reached end of container and stop sticking + var stickyWrapperContainer = s.stickyWrapper.parent(); + var unstick = (s.stickyElement.offset().top + s.stickyElement.outerHeight() >= stickyWrapperContainer.offset().top + stickyWrapperContainer.outerHeight()) && (s.stickyElement.offset().top <= s.topSpacing); + + if( unstick ) { + s.stickyElement + .css('position', 'absolute') + .css('top', '') + .css('bottom', 0) + .css('z-index', ''); + } else { + s.stickyElement + .css('position', 'fixed') + .css('top', newTop) + .css('bottom', '') + .css('z-index', s.zIndex); + } + } + } + }, + resizer = function() { + windowHeight = $window.height(); + + for (var i = 0, l = sticked.length; i < l; i++) { + var s = sticked[i]; + var newWidth = null; + if (s.getWidthFrom) { + if (s.responsiveWidth) { + newWidth = $(s.getWidthFrom).width(); + } + } else if(s.widthFromWrapper) { + newWidth = s.stickyWrapper.width(); + } + if (newWidth != null) { + s.stickyElement.css('width', newWidth); + } + } + }, + methods = { + init: function(options) { + return this.each(function() { + var o = $.extend({}, defaults, options); + var stickyElement = $(this); + + var stickyId = stickyElement.attr('id'); + var wrapperId = stickyId ? stickyId + '-' + defaults.wrapperClassName : defaults.wrapperClassName; + var wrapper = $('
') + .attr('id', wrapperId) + .addClass(o.wrapperClassName); + + stickyElement.wrapAll(function() { + if ($(this).parent("#" + wrapperId).length == 0) { + return wrapper; + } +}); + + var stickyWrapper = stickyElement.parent(); + + if (o.center) { + stickyWrapper.css({width:stickyElement.outerWidth(),marginLeft:"auto",marginRight:"auto"}); + } + + if (stickyElement.css("float") === "right") { + stickyElement.css({"float":"none"}).parent().css({"float":"right"}); + } + + o.stickyElement = stickyElement; + o.stickyWrapper = stickyWrapper; + o.currentTop = null; + + sticked.push(o); + + methods.setWrapperHeight(this); + methods.setupChangeListeners(this); + }); + }, + + setWrapperHeight: function(stickyElement) { + var element = $(stickyElement); + var stickyWrapper = element.parent(); + if (stickyWrapper) { + stickyWrapper.css('height', element.outerHeight()); + } + }, + + setupChangeListeners: function(stickyElement) { + if (window.MutationObserver) { + var mutationObserver = new window.MutationObserver(function(mutations) { + if (mutations[0].addedNodes.length || mutations[0].removedNodes.length) { + methods.setWrapperHeight(stickyElement); + } + }); + mutationObserver.observe(stickyElement, {subtree: true, childList: true}); + } else { + if (window.addEventListener) { + stickyElement.addEventListener('DOMNodeInserted', function() { + methods.setWrapperHeight(stickyElement); + }, false); + stickyElement.addEventListener('DOMNodeRemoved', function() { + methods.setWrapperHeight(stickyElement); + }, false); + } else if (window.attachEvent) { + stickyElement.attachEvent('onDOMNodeInserted', function() { + methods.setWrapperHeight(stickyElement); + }); + stickyElement.attachEvent('onDOMNodeRemoved', function() { + methods.setWrapperHeight(stickyElement); + }); + } + } + }, + update: scroller, + unstick: function(options) { + return this.each(function() { + var that = this; + var unstickyElement = $(that); + + var removeIdx = -1; + var i = sticked.length; + while (i-- > 0) { + if (sticked[i].stickyElement.get(0) === that) { + splice.call(sticked,i,1); + removeIdx = i; + } + } + if(removeIdx !== -1) { + unstickyElement.unwrap(); + unstickyElement + .css({ + 'width': '', + 'position': '', + 'top': '', + 'float': '', + 'z-index': '' + }) + ; + } + }); + } + }; + + // should be more efficient than using $window.scroll(scroller) and $window.resize(resizer): + if (window.addEventListener) { + window.addEventListener('scroll', scroller, false); + window.addEventListener('resize', resizer, false); + } else if (window.attachEvent) { + window.attachEvent('onscroll', scroller); + window.attachEvent('onresize', resizer); + } + + $.fn.sticky = function(method) { + if (methods[method]) { + return methods[method].apply(this, slice.call(arguments, 1)); + } else if (typeof method === 'object' || !method ) { + return methods.init.apply( this, arguments ); + } else { + $.error('Method ' + method + ' does not exist on jQuery.sticky'); + } + }; + + $.fn.unstick = function(method) { + if (methods[method]) { + return methods[method].apply(this, slice.call(arguments, 1)); + } else if (typeof method === 'object' || !method ) { + return methods.unstick.apply( this, arguments ); + } else { + $.error('Method ' + method + ' does not exist on jQuery.sticky'); + } + }; + $(function() { + setTimeout(scroller, 0); + }); +})); diff --git a/previews/PR609/2019/assets/js/juliacon.js b/previews/PR609/2019/assets/js/juliacon.js new file mode 100644 index 000000000..231c3e48e --- /dev/null +++ b/previews/PR609/2019/assets/js/juliacon.js @@ -0,0 +1,3 @@ +$(document).ready(function(){ + $('.main-menu').sticky({ "zIndex": 10000 }); +}); diff --git a/previews/PR609/2019/coc.html b/previews/PR609/2019/coc.html new file mode 100644 index 000000000..10e8562f4 --- /dev/null +++ b/previews/PR609/2019/coc.html @@ -0,0 +1,217 @@ + + + + + + + + + JuliaCon 2019, Baltimore, MD, USA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos! +
+
+
+ +
+ + +
+ + + + + + + +
+ +
+ +

Code of Conduct

+

+ JuliaCon is dedicated to providing a positive conference experience + for all attendees, regardless of gender, gender identity and expression, + sexual orientation, disability, physical appearance, body size, race, + age, religion, or national and ethnic origin. We encourage respectful + and considerate interactions between attendees and do not tolerate + harassment of conference participants in any form. For example, offensive + or sexual language and imagery is not appropriate for any conference + venue, including formal talks and networking between sessions. Conference + participants violating these standards may be sanctioned or expelled from + the conference (without a refund) at the discretion of the conference organizers. + + Harassment includes, but is not limited to: +

+

+ +

Enforcement

+

+ Participants asked to stop any harassing behavior are expected to + comply immediately. If a participant engages in harassing behavior, + event organizers retain the right to take any actions to keep the + event a welcoming environment for all participants. This includes + warning the offender or expulsion from the conference with no + refund. Event organizers may take action to redress anything designed + to, or with the clear impact of, disrupting the event or making the + environment hostile for any participants. We expect participants to + follow these rules at all event venues and event-related social + activities. We think people should follow these rules outside event + activities too! +

+ +

Reporting

+

+ If someone makes you or anyone else feel unsafe or unwelcome, please + report it as soon as possible. Harassment and other code of conduct + violations reduce the value of our event for everyone. We want you to + be happy at our event. People like you make our event a better + place. You can make a report either personally or anonymously. +

+ +

Personal Report

+

+ If you would like to report a CoC violation or discuss any incident + that may have left you uncomfortable, please contact one of the + following individuals: + +

+ + When taking a personal report, our staff will ensure you are safe and + cannot be overheard. They may involve other event staff to ensure your + report is managed properly. Once safe, we'll ask you to tell us about + what happened. This can be upsetting, but we'll handle it as + respectfully as possible, and you can bring someone to support + you. You won't be asked to confront anyone and we won't tell anyone + who you are. + + Our team will be happy to help you contact hotel/venue security, local + law enforcement, local support services, provide escorts, or otherwise + assist you to feel safe for the duration of the event. We value your + attendance. +

+ +
+ +
+ + + + + + + + + + + + + + diff --git a/previews/PR609/2019/committee.html b/previews/PR609/2019/committee.html new file mode 100644 index 000000000..7b44ebb04 --- /dev/null +++ b/previews/PR609/2019/committee.html @@ -0,0 +1,168 @@ + + + + + + + + + JuliaCon 2019, Baltimore, MD, USA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos! +
+
+
+ +
+ + +
+ + + + + + + +
+ +
+ +

JuliaCon 2019 Organizing Committee

+ + +
+

+ The JuliaCon committee is composed entirely of volunteer organizers + and can be reached at juliacon@julialang.org + with any questions or comments. +

+ +
+ +
+ + + + + + + + + + + + + + diff --git a/previews/PR609/2019/financial-assistance/index.html b/previews/PR609/2019/financial-assistance/index.html new file mode 100644 index 000000000..bc20e564b --- /dev/null +++ b/previews/PR609/2019/financial-assistance/index.html @@ -0,0 +1,157 @@ + + + + + + + + + JuliaCon 2019, Baltimore, MD, USA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos! +
+
+
+ +
+ + +
+ + + + + + + +
+ +
+ +

Financial Assistance

+

+ JuliaCon 2019 aims to be an inclusive event. In an effort to reduce the degree to which cost may deter community members from attending this event, we offer financial assistance to GSoC students, accepted speakers, and attendees who heighten the diversity of the Julia community. We welcome participation from people of all races, ethnicities, genders, ages, abilities, religions, sexual orientations, personal/professional backgrounds, and schools of thought. +

+ If financial assistance will impact your ability to attend JuliaCon 2019, please fill out this application. +

+ +

Timeline

+

+

+

+ +
+ +
+ + + + + + + + + + + + + + + diff --git a/previews/PR609/2019/index.html b/previews/PR609/2019/index.html new file mode 100644 index 000000000..c31af314a --- /dev/null +++ b/previews/PR609/2019/index.html @@ -0,0 +1,684 @@ + + + + + + + + + JuliaCon 2019, Baltimore, MD, USA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos! +
+
+
+ +
+ + +
+ + +
+
+

JuliaCon happened in Baltimore

+
+

+ Monday 22nd to Friday 26th of July, 2019
at the University of Maryland Baltimore (UMB),
+ Baltimore, MD, USA +

+
+
+
+
+
+
+
+
+
+
+ + + + + + + + +
+ +
+
+ +
+
+

JuliaCon

+

+ JuliaCon is the biggest Julia conference of the year, bringing together speakers, developers, and enthusiasts from all over the world, for 5 days packed with keynotes, talks and workshops! +

+ +
+
+ +
+
+

Keynote Speakers

+
+

+
+ + +
+ Madeleine Udell + +

+ + Cornell University + +

+
+
+
+
+

Madeleine Udell is Assistant Professor of Operations Research and Information Engineering + and Richard and Sybil Smith Sesquicentennial Fellow at Cornell University. + She studies optimization and machine learning for large scale data analysis and control, + with applications in marketing, demographic modeling, medical informatics, + engineering system design, and automated machine learning. + Her research in optimization centers on detecting and exploiting novel structures + in optimization problems, with a particular focus on convex and low rank problems. + These structures lead the way to automatic proofs of optimality, better complexity guarantees, and faster, + more memory-efficient algorithms. She has developed a number of open source libraries for + modeling and solving optimization problems, including Convex.jl, + one of the top tools in the Julia language for technical computing.

+

+
+

+ +
+
+ +

+
+ + +
+ Steven G. Johnson + +

+ + MIT + +

+
+
+
+
+

Steven G. Johnson is a Professor of Applied Mathematics and Physics at MIT, + where he joined the faculty in 2004 and previously received a PhD in physics (2001) + and BS degrees in physics, mathematics, and computer science (1995). + He has a long history of contributions to scientific computation and software, + including the FFTW fast Fourier transform library (for which he co-received + the 1999 J. H. Wilkinson Prize) and many other software packages. + He has been using, contributing to, and teaching with Julia since 2012. + He created and maintains blockbuster Julia packages that you may have heard of: + PyCall and IJulia + (and Julia’s FFTW bindings, of course).

+ +

Professor Johnson’s professional research concerns wave-matter interactions +and electromagnetism in media structured on the wavelength scale (“nanophotonics”), +especially in the infrared and optical regimes. He works on many aspects of the theory, +design, and computational modeling of nanophotonic devices, both classical and quantum. +He is also a coauthor on over 200 papers and over 30 patents in this area, +including the textbook Photonic Crystals: Molding the Flow of Light.

+

+
+

+ +
+
+ +

+
+ + +
+ Steven Lee + +

+ + DOE Advanced Scientific Computing Research + +

+
+
+
+
+

Steven Lee is an Applied Mathematics Program Manager for Advanced Scientific Computing + Research (ASCR) within the Department of Energy (DOE), Office of Science. Most recently, Steven and an organizing + committee issued a brochure and workshop report + on Scientific Machine Learning: Core Technologies for Artificial Intelligence. + He has also been an ASCR Program Manager within the Scientific Discovery through Advanced Computing program + (SciDAC-3 Institutes) + for the projects: FASTMATH + - Frameworks, Algorithms and Scalable Technologies for Mathematics; and + QUEST + - Quantification of Uncertainty for Extreme-Scale Computations. Before joining the DOE, Steven was a + computational scientist at Lawrence Livermore National Laboratory and Oak Ridge National Laboratory. + He has also been a visiting Assistant Professor in the Department of Mathematics at MIT. He has a Ph.D. + in Computer Science (UIUC) and B.S. in Applied Mathematics (Yale).

+

+
+

+ +
+
+ +

+
+ + +
+ CJ Musante + +

+ + Pfizer + +

+
+
+
+
+

Dr. Cynthia J. (C.J.) Musante is Senior Scientific Director and Head of Quantitative + Systems Pharmacology (QSP) in Early Clinical Development at Pfizer in Cambridge, MA. She + received her Ph.D. in Applied Mathematics from North Carolina State University and has + over eighteen years of experience in QSP modeling. At Pfizer, her group is responsible + for developing and applying mechanistic models and disease platforms to enhance the + robustness and quality of decision-making at the program and therapeutic strategy-level. + Dr. Musante is an advocate for model-informed drug discovery and development approaches. + She currently serves as Treasurer and on the Board of Directors of the International Society + of Pharmacometrics (ISoP), as Co-Chair of the Innovation and + Quality (IQ) Consortium Clinical Pharmacology QSP Working + Group, on the Scientific Programming Committee for the American Society of Clinical + Pharmacology and Therapeutics, and + formerly served as the inaugural Chair of ISoP’s QSP Special Interest Group.

+

+
+

+ +
+
+ +

+
+ + +
+ Arch Robison + +

+ + NVIDIA + +

+
+
+
+
+

Arch D. Robison is a Principal Systems Software Engineer at NVIDIA, where he works + on TensorRT, NVIDIA’s platform for high-performance + deep-learning inference. He was the lead developer for KAI C++, the original architect of Intel + Threading Building Blocks, and one of the authors of the book Structured Parallel Programming: + Patterns for Efficient Computation. Arch contributed type-based alias analysis and vectorization + support to Julia, including the original implementation of SIMD in Julia 0.3. He’s used Julia to generate x86 assembly language for a Go + implementation of his video game Frequon Invaders. He also took 2nd place in AI Zimmermann’s contest + "Delacorte Numbers" using Julia exclusively. He has 21 patents and an Erdös number of 3.

+

+
+

+ +
+
+ +

+
+ + +
+ Heather Miller + +

+ + Carnegie Mellon + +

+
+
+
+
+

Heather Miller is an Assistant Professor in the School of Computer Science at Carnegie Mellon, + where she is affiliated with the Institute for Software Research. Prior to joining the faculty at CMU, + Professor Miller not only worked as a research scientist at EPFL, but + also co-founded and served as the Executive Director for the Scala Center, a + nonprofit focused on software development, education, and research surrounding the open source Scala + programming language. She continues to work on and around Scala, while pursuing research on various + flavors of distributed and concurrent computation. Some of her projects underway include programming + models and type systems to facilitate the design of new, functional distributed systems.

+

+
+

+ +
+
+ +
+
+

Live Streaming

+

+ All talks and workshops for JuliaCon 2019 were streamed live on Youtube. + Recordings of the talks can now be seen on the Youtube channel. +

+
+
+ +
+
+

Julia Community Prize

+

+ The Julia Community Prize has been announced. Congratulations + to this years winners: Jane Herriman, Jacob Quinn and Mike Innes. +

+
+ +
+
+

Venue

+

+ The main conference talks will be held at the University of Maryland, Baltimore SMC Campus Center, 621 W Lombard St, Baltimore, MD 21201, USA: +

+ +

+

+ The workshops will be held at the University of Maryland School of Pharmacy, 20 N Pine St, Baltimore, MD 21201, USA: +

+ +

+ To know more about the local area, including restaurants and places of interest, click here: http://bit.ly/knowbaltimore +

+

+
+ +
+
+

Code of Conduct

+

+ JuliaCon is dedicated to providing a positive conference experience + for all attendees, regardless of gender, gender identity and expression, + sexual orientation, disability, physical appearance, body size, race, + age, religion, or national and ethnic origin. We encourage respectful + and considerate interactions between attendees and do not tolerate + harassment of conference participants in any form. For example, offensive + or sexual language and imagery is not appropriate for any conference + venue, including formal talks and networking between sessions. Conference + participants violating these standards may be sanctioned or expelled from + the conference (without a refund) at the discretion of the conference organizers. + Our anti-harassment policy and information about who to contact if you have + an issue you'd like to discuss can be found here. +

+
+
+ + + +
+
+

Accommodation Guide

+

+ Our preferred conference hotel was the Marriott Inner Harbor at Camden Yard. We had attractive group rates negotiated at the + which you could book using this link: + https://book.passkey.com/e/49861330 . However, this block of rooms is now full, but you can contact the hotel for regular priced reservations. +

+ +

Rooms are now available at the Hampton Inn Baltimore-Downtown-Convention Center, which is also very close to our venue. + Book Here. +

+

+ A few rooms are also available at the Days Inn Inner Harbor, which is just a few blocks away. + Please + click here to book. +

+ +

We strongly advise you to book your accommodation in our recommended hotels - they are conveniently located, + reasonably priced, and best for interacting with your fellow attendees. +

+
+ +
+
+

Committee

+

+ JuliaCon is organized by a committee composed entirely of volunteers, + and can be reached at juliacon@julialang.org + with any questions or comments. +

+ +
+
+ +
+
+ + + + +
+
+ + + + + + + + + +

Sponsors

+ + +

Platinum

+
+ + + +
+ + Alfred P. Sloan Foundation + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + University of Maryland Baltimore + +
+ + + + + + + + +
+ + +

Gold

+
+ + + + + + + +
+ + Gordon and Betty Moore Foundation + +
+ + + + + +
+ + Intel + +
+ + + + + +
+ + JP Morgan + +
+ + + + + +
+ + Julia Computing + +
+ + + +
+ + Relational AI + +
+ + + + + + + + + + +
+ + +

Silver

+
+ + + + + +
+ + Google + +
+ + + + + +
+ + Insurance Asset Management | Conning + +
+ + + + + +
+ + Invenia + +
+ + + + + +
+ + Jeffrey Sarnoff + +
+ + + + + + + + + +
+ + Zapata Computing + +
+ + + +
+ + ZettaLabs + +
+ + + +
+ + nVidia + +
+ + +
+
+
+ + + + + + + + + + + + + + diff --git a/previews/PR609/2019/prize.html b/previews/PR609/2019/prize.html new file mode 100644 index 000000000..c3124b1a2 --- /dev/null +++ b/previews/PR609/2019/prize.html @@ -0,0 +1,164 @@ + + + + + + + + + JuliaCon 2019, Baltimore, MD, USA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos! +
+
+
+ +
+ + +
+ + + + + + + +
+ +
+ +

Julia Community Prize

+ +
+ +

The Julia Community Prizes have been announced. A certificate of accomplishement and a cash prize of $1000.00 has been awarded to:

+

Jane Herriman

+

For her teaching, outreach, and community stewardship

+

Jacob Quinn

+

For contributions to the data ecosystem and core language +

+

Mike Innes

+

For spearheading the machine learning ecosystem with Flux +

+ +

Best Poster

+

Prizes were also awarded for best poster:

+ +

+ Our congratulations to the winners, and our thanks to the committee.

+
+ +

Awards Committee

+

The members of the committee for 2019 continue to be Prof Alan Edelman, MIT; Prof Tim Holy, WU; and Mr Curtis Vogt, Invenia. +

+
+ + + + + + + + + + + + + diff --git a/previews/PR609/2019/sponsor/index.html b/previews/PR609/2019/sponsor/index.html new file mode 100644 index 000000000..4c8ca77f6 --- /dev/null +++ b/previews/PR609/2019/sponsor/index.html @@ -0,0 +1,210 @@ + + + + + + + + + JuliaCon 2019, Baltimore, MD, USA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos! +
+
+
+ +
+ + +
+ + + + + + + +
+ +
+ +

Sponsorships

+

+ JuliaCon is a community organized non-profit conference, and it would not be possible without the support of its amazing set of sponsors. We invite your organization to be a sponsor of JuliaCon 2019. +

+JuliaCon is the largest annual conference organized around Julia, the fastest high-performance open source computing language for machine learning, artificial intelligence, life sciences, robotics, algorithmic trading, real-time analytics and more. +

+JuliaCon 2019 will be held at University of Maryland Baltimore July 21-26. It promises to be the biggest and best JuliaCon yet, with more than 350 participants. +

+JuliaCon 2019 sponsorship comes with the following benefits: +

+ +

Platinum Sponsorship ($30,000)

+

+

+

+ +

Gold Sponsorship ($15,000)

+

+

+

+ +

Silver Sponsorship ($5,000)

+

+

+

+ +

Named Sponsorship for Conference Reception/Dinner ($20,000)

+

+

+

+ +

University Partnerships in Diversity

+

+ Our university partners in diversity will financially support JuliaCon 2019 attendance for at least two students from backgrounds that are underrepresented in computing. + Female-identifying students, students with disabilities, students identifying as LGBTQ, students of Hispanic/Latino, African American, Native American, Native Hawaiian/Pacific Islander, biracial descent and possibly others qualify — just ask us! +

+ Your university will receive: +

+

+ +
+

+ Please talk to us at juliacon@julialang.org if you, or anyone you know, might be interested in sponsoring JuliaCon. +

+ +
+ +
+ + + + + + + + + + + + + + + diff --git a/previews/PR609/2019/tickets/index.html b/previews/PR609/2019/tickets/index.html new file mode 100644 index 000000000..342447994 --- /dev/null +++ b/previews/PR609/2019/tickets/index.html @@ -0,0 +1,176 @@ + + + + + + + + + JuliaCon 2019, Baltimore, MD, USA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos! +
+
+
+ +
+ + +
+ + + + + + + +
+ +
+ +

JuliaCon 2019: Ticket sales

+

+ Ticket sales will support the Julia Community through donations to NumFOCUS, a non-profit public charity promoting and supporting the ongoing research and development of open-source scientific data tools through educational, community and public channels. +

+

A 50% discount is provided for all students.

+

Buy Tickets

+

+

Powered by Eventbrite
+

+ +

Group Tickets

+

Payment via invoices and wire transfers are available for groups of five or more. Please contact us for details. +

+ +

Refund Policy

+

Refunds are available upto 30 days prior to the event. After that period, refunds will be considered within 24 hours of purchase, or on a discretionary basis if we are able to sell them on. Please contact us immediately if you change your mind. +

+

We will be also be happy to transfer the registration if the original purchaser is unable to attend. Please email us with your request. +

+ +

Contact the Organizers

+

Please email juliacon@julialang.org with any questions, comments or suggestions. +

+ +

Full Price Tickets

+

Early bird tickets are no longer on sale. Current JuliaCon 2019 ticket pricing is as follows

+
+ + + + + + + +
TalksUSD 500
WorkshopUSD 350
Talks + WorkshopUSD 700
 50% discount for students
+
+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2019/volunteer/index.html b/previews/PR609/2019/volunteer/index.html new file mode 100644 index 000000000..bf1383916 --- /dev/null +++ b/previews/PR609/2019/volunteer/index.html @@ -0,0 +1,193 @@ + + + + + + + + + JuliaCon 2019, Baltimore, MD, USA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Videos! +
+
+
+ +
+ + +
+ + + + + + + +
+ +
+ +

Sign Up!

+

+ As a mentor +

+ +

+ As a proceedings reviewer +

+ +

+ As an on-site volunteer +

+ +

Roles

+

Mentors to new speakers

+

+ JuliaCon 2019 will match first-time JuliaCon speakers desiring guidance to + experienced speakers willing to mentor. We are expecting a time commitment + of maximally a few hours in which mentors will provide feedback on a novice + speaker's presentation. + +Please let us know if you would like to be mentored or if you are willing to mentor a first-time speaker for JuliaCon 2019! +

+ +

Proceedings reviewers

+

+ JuliaCon will be offering proceedings for the first time this year, and we need + reviewers to assess submissions. Our review process will be similar to that of + the Journal of Open Source Software (JOSS). More details can be found here. +

+

Talk submission reviewers

+

+ Once the Call for Proposals closes, we expect to have order of 200 proposals to + review, each of which will require at least three pairs of eyes. Help us create a + fair and expedient review process by agreeing to read and score a set of talk + proposals, and then discuss your evaluation with other volunteers. +

+

Financial assistance application reviewers

+

+ We are currently looking for volunteers to review financial assistance applications, + publicized on our financial + assistance page. These applications are shorter in length, so we expect reviewers to + review all applications (about 60) and rate them according to a rubric we will provide. + If the need arises, we may need to have conference calls to discuss certain cases + individually. +

+

Local /On-site volunteers

+

+ Our on-site volunteers help keep the conference running smoothly by helping with items + like registration and set-up at the venue. Help us put on a great event for our community! +

+ +
+ +
+ + + + + + + + + + + + + + + diff --git a/previews/PR609/2020/accessibility/index.html b/previews/PR609/2020/accessibility/index.html new file mode 100644 index 000000000..f7fca5fae --- /dev/null +++ b/previews/PR609/2020/accessibility/index.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Accessibility at JuliaCon + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Accessibility at JuliaCon

+

JuliaCon is committed to providing an accessible and inclusive environment to every attendee. In light of our announcement to shift JuliaCon online, our accessibility plans for this year are likely to be very different from prior events.

+

We will strive to ensure that the online platforms are compatible with screen readers, and we shall attempt to close caption all our talks.

+

Please reach out to the organising committee at juliacon@julialang.org for any additional concerns.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/cfp/index.html b/previews/PR609/2020/cfp/index.html new file mode 100644 index 000000000..25aca30dc --- /dev/null +++ b/previews/PR609/2020/cfp/index.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Call for Proposals + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Call for Proposals

+

We are inviting the Julia community to submit talks and workshop proposals for the upcoming JuliaCon. JuliaCon 2020 is the seventh annual Julia community meeting. We encourage everyone who is interested to consider submitting a proposal, regardless of your level of experience with Julia or as a speaker. JuliaCon thrives on having talks ranging from introductory to advanced. If you are reading this and work with Julia in any form, we want you to consider submitting a proposal!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/coc/index.html b/previews/PR609/2020/coc/index.html new file mode 100644 index 000000000..9c2120ea3 --- /dev/null +++ b/previews/PR609/2020/coc/index.html @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Code of Conduct + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Code of Conduct

+

JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin. We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference channel, including formal talks and networking between sessions. In general, please abide by the Julia Community Standards. Conference participants violating these standards may be expelled from the conference at the discretion of the conference organizers.

+

Harassment includes, but is not limited to:

+ +

Enforcement

+

Participants asked to stop any harassing behavior are expected to comply immediately. If a participant engages in harassing behavior, event organizers retain the right to take any actions to keep the event a welcoming environment for all participants. This includes warning the offender or expulsion from the conference. Event organizers may take action to redress anything designed to, or with the clear impact of, disrupting the event or making the environment hostile for any participants. We expect participants to follow these rules on all platforms used for conference interactions. We think people should follow these rules outside event activities too!

+

Reporting

+

If you would like to report a CoC violation or discuss any incident that may have left you uncomfortable, please contact one of the Discord admins (usernames in red) or organizers (usernames in blue). They may involve other event staff to ensure your report is managed properly. You won't be asked to confront anyone and we won't tell anyone who you are without your permission.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/committee/index.html b/previews/PR609/2020/committee/index.html new file mode 100644 index 000000000..04e242b55 --- /dev/null +++ b/previews/PR609/2020/committee/index.html @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2020 Organizing Committee + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2020 Organizing Committee

+ +
+

The JuliaCon committee is composed entirely of volunteer organizers and can be reached at juliacon@julialang.org with any questions or comments.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/covid19/index.html b/previews/PR609/2020/covid19/index.html new file mode 100644 index 000000000..744b08866 --- /dev/null +++ b/previews/PR609/2020/covid19/index.html @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon goes Virtual! + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon goes Virtual!

+

The JuliaCon organising committee has determined that the best course of action for the well being of all potential JuliaCon attendees is to hold JuliaCon remotely this year. While the details are still being finalized, we are working hard to ensure we are still able to provide the amazing JuliaCon experience that those in the community have come to expect.

+

The JuliaCon organising committee (April 27th, 2020)

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/faq/index.html b/previews/PR609/2020/faq/index.html new file mode 100644 index 000000000..3a16c57ee --- /dev/null +++ b/previews/PR609/2020/faq/index.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + FAQs + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

FAQs

+

Q: Is there financial assistance available?

+

A: As we have moved to a virtual conference for 2020, registration is free! Register for JuliaCon 2020 at the tickets page.

+

Q: How can I get involved?

+

A: If you’re looking for ways to volunteer for JuliaCon 2020, please consider mentoring a new speaker, and virtually volunteering.

+

Q: I haven’t presented before. Is there support/guidance available?

+

A: Yes! We have mentors available to help with submissions as well as presenting. Request a mentor.

+

Q: I don’t know anyone who will be attending JuliaCon 2020. Will there be any social event(s) where I can network and make friends?

+

A: Yes! Please stay tuned for some fun social events we are planning, such as a buddy program and speaker social. We want to make JuliaCon a rewarding and fun experience for you!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/index.html b/previews/PR609/2020/index.html new file mode 100644 index 000000000..c1ebdf3f5 --- /dev/null +++ b/previews/PR609/2020/index.html @@ -0,0 +1,438 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2020, Everywhere on Earth + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + +
+
+

Juliacon 2020 was live and online

+ +
+

+ Wednesday 29th to Friday 31st of July, 2020
+ + (Workshops: 24th to 28th July)
+ +
+ + https://live.juliacon.org/agenda/2020-07-25
+ +

+
+
+ + + + + + + + + + + +
+ + + + +
+ + + + +
+
+ +
+
+

This years JuliaCon is over. Thanks for tuning in!

+ JuliaCon 2020 has come to a close! Visit the Julia Language's YouTube to watch all of the conference's talks, workshops, and keynotes. Thanks again to everyone who watched, gave a talk, bought merch, and helped make JuliaCon 2020 a massive success.
+
+
+ +
+
+

Keynote Speakers

+

+
+
+ + + +
+ Linda Petzold +

+ UC Santa Barbara +

+

+ +

+
+
+
+ +

Linda Petzold is currently Distinguished Professor in the Department of Mechanical Engineering and the Department of Computer Science (Chair 2003-2007), and Director of the Computational Science and Engineering Graduate Emphasis at the University of California Santa Barbara. She is a member of the US National Academy of Engineering and a Fellow of ACM, ASME, SIAM and AAAS. She was named the UCSB Faculty Research Lecturer for 2011, was awarded the SIAM/ACM Prize for Computational Science and Engineering in 2013, received an Honorary Doctorate from Uppsala University in 2015, and was awarded the SIAM Prize for Distinguished Service in 2016. She was also awarded the JH Wilkinson prize for numerical software in 1991, and won the 2018 Sidney Fernbach Award.

+

Professor Petzold’s research focuses on modeling, simulation and analysis of multiscale systems in materials, biology and medicine. She is best known for her pioneering work on the numerical solution of differential-algebraic equations (DAEs). Professor Petzold’s software, DASSL and its successor DASPK for the numerical solution of DAEs, is widely used throughout science, engineering and technology. Her software LSODA, which adaptively determines whether an ODE system is stiff or nonstiff and chooses the appropriate class of algorithms, is also very widely used.

+
+
+
+ + + +
+ Karen Willcox +

+ Univerity of Texas at Austin +

+

+ +

+
+
+
+ +
Karen E. Willcox is Director of the Oden Institute for Computational Engineering and Sciences, a Professor of Aerospace Engineering and Engineering Mechanics at the University of Texas at Austin, and External Professor at the Santa Fe Institute. At UT, she holds the W. A. “Tex” Moncrief, Jr. Chair in Simulation-Based Engineering and Sciences and the Peter O’Donnell, Jr. Centennial Chair in Computing Systems. Before joining the Oden Institute in 2018, she spent 17 years as a professor at the Massachusetts Institute of Technology, where she served as the founding Co-Director of the MIT Center for Computational Engineering and the Associate Head of the MIT Department of Aeronautics and Astronautics. Prior to joining the MIT faculty, she worked at Boeing Phantom Works with the Blended-Wing-Body aircraft design group. She is a Fellow of the Society for Industrial and Applied Mathematics (SIAM), a Fellow of the American Institute of Aeronautics and Astronautics (AIAA), and in 2017 was appointed Member of the New Zealand Order of Merit (MNZM).
+
+
+
+ + + +
+ Juan Pablo Vielma +

+ MIT +

+

+ +

+
+
+
+ +
Juan Pablo Vielma is currently a Research Scientist at Google and was formerly the Richard S. Leghorn (1939) Career Development Professor and an Associate Professor in Operations Research and Statistics at the MIT Sloan School of Management. Previously, he was an Assistant Professor in the department of industrial engineering at the University of Pittsburgh and was the 2009 Herman Goldstine Postdoctoral Fellow at the IBM Thomas J. Watson Research Center. His research interests include theory and technology for linear, non-linear, and stochastic mixed integer programming, and optimization models in sustainable natural resource management, marketing, and statistics. He is a key contributor to the package JuMP.jl, the de-facto mathematical programming package in Julia. Vielma has received the Presidential Early Career Award for Scientists and Engineers (PECASE), the Faculty Early Career Development Award from the National Science Foundation, a first prize in the INFORMS Junior Faculty Interest Group Paper Competition, the IBM Herman Goldstine Postdoctoral Fellowship and the INFORMS Optimization Society Student Paper Prize. He served as chair of the INFORMS Section on Energy, Natural Resources, and the Environment from 2010 to 2012 and as vice-chair for Integer and Discrete Optimization of the INFORMS Optimization Society from 2013 to 2015.
+

+
+
+ +
+
+

JuliaCon 2020

+ JuliaCon is going virtual in 2020. Tickets are free, but registration is required. The main conference talks will be held between the 29th and 31st of July, between 12:30pm UTC and 7:30pm UTC. Of this, 2pm UTC to 5pm UTC will be considered core hours during which keynotes and Birds of Feather sessions will be scheduled.

+

Workshops will be held in the previous week, starting Friday the 24th of July.

+
+
+ +
+
+

T-Shirts and Stickers

+ JuliaCon 2020 conference t-shirts are now available for sale.

+

StickerMule is offering 10 Julia stickers for only one 1 Euro (plus free shipping!). You can find the Julia Language logo here.

+
+
+ +
+
+

Julia Community Prize

+ The Julia Community Prize has been announced. Congratulations to this years winners: Huda Nassar, Mosè Giordano, and Chris Elrod.
+
+
+ +
+
+

Code of Conduct

+ JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin. We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference venue, including formal talks and networking between sessions. Conference participants violating these standards may be sanctioned or expelled from the conference (without a refund) at the discretion of the conference organizers. Our anti-harassment policy and information about who to contact if you have an issue you'd like to discuss can be found here.
+
+
+ +
+
+

Committee

+ JuliaCon is organized by a committee composed entirely of volunteers, and can be reached at juliacon@julialang.org with any questions or comments.
+
+
+ + + +
+
+ + +
+
+
+

Sponsors

+ +

Gold

+
+

+ + + + +

+ +

Silver

+
+

+ + + + + + + + + + + + +

+ +

Media partners

+
+

+ + + + + + +

+ +

With the help of the julia project’s fiscal sponsor:

+
+

+ + +

+ + +
+
+
+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/prize/index.html b/previews/PR609/2020/prize/index.html new file mode 100644 index 000000000..6ddf1c6d4 --- /dev/null +++ b/previews/PR609/2020/prize/index.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Julia Community Prize + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Julia Community Prize

+

The Julia Community Prizes have been announced based on this year's nominations. A certificate of accomplishement and a cash prize of $1000.00 has been awarded to:

+

Huda Nassar

+

For her contributions to growing the community through an outstanding series of data science courses and her outreach to other organizations evangelizing Julia.

+

Mosè Giordano

+

For his work supporting Julia's ability to interact with external libraries (BinaryBuilder and Yggdrasil) and outstanding user support on forums.

+

Chris Elrod

+

For his remarkable LoopVectorization.jl package, delivering state-of-the-art performance on a growing range of demanding computational tasks, and for effectively instructing the community on the factors that determine CPU performance.

+

Our congratulations to the winners, and our thanks to the committee.

+
+

Awards Committee

+

The members of the committee for 2020 continue to be Prof Alan Edelman, MIT; Prof Tim Holy, WU; and Mr Curtis Vogt, Invenia.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/schedule/index.html b/previews/PR609/2020/schedule/index.html new file mode 100644 index 000000000..5c97277c7 --- /dev/null +++ b/previews/PR609/2020/schedule/index.html @@ -0,0 +1,386 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2020 Schedule + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2020 Schedule

+ +

+ +
+ +

Monday 22nd July 2019 Hands on Training & Workshops

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
07:30Morning (08:30 - 12:00)Afternoon (13:30 - 17:00)
BreakfastSolving Differential Equations in Julia (Chris Rackauckas)Nonlinear Mixed Effects Modeling with PuMaS (Chris Rackauckas)
Excelling at Julia: basics and beyond (Huda Nassar, Jane Herriman)Writing a Package: a thorough guide (Kristoffer Carlsson, Fredrik Ekre)
Machine Learning with Julia (Matt Bauman)Handling Data with DataFrames.jl  (Bogumił Kamiński)
Intermediate Julia for Scientific Computing (David Sanders)Parallel Computing with Julia (Matt Bauman, Avik Sengupta)
+
+
+

Tuesday 23rd July 2019 Conference Talks

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
07:30 Breakfast
08:40 - 09:30Keynote
9:30 - 10:20Talks
10:20 - 11:00Coffee Break & Poster Session
11:00 - 12:15Talks
12:15 - 13:30Lunch Break
13:30 - 14:15Keynote
14:15 - 15:30Talks
15:30 - 15:45Coffee Break
15:45 - 17:30Talks
18:30 - 21:30Dinner and Cruise
+
+ +
+ +

Wednesday 24th July 2019 Conference Talks

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
07:30 Breakfast
08:40 - 09:30Keynote
9:30 - 10:10Talks
10:10 - 11:00Coffee Break & Poster Session
11:00 - 12:15Talks
12:15 - 13:30Lunch Break
13:30 - 14:15Keynote
14:15 - 15:30Talks
15:30 - 15:45Coffee Break
15:45 - 18:05Talks
+
+ +
+ +

Thursday 25th July 2019 Conference Talks

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
07:30 Breakfast
08:40 - 09:30Keynote
9:30 - 10:10Talks
10:10 - 11:00Coffee Break & Poster Session
11:00 - 12:15Talks
12:15 - 13:30Lunch Break
13:30 - 14:15Keynote
14:15 - 15:30Talks
15:30 - 15:45Coffee Break
15:45 - 18:05Talks
+
+ +
+ +

Friday 26th of July 2019 Hackathon

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/sponsor/index.html b/previews/PR609/2020/sponsor/index.html new file mode 100644 index 000000000..61eb009c5 --- /dev/null +++ b/previews/PR609/2020/sponsor/index.html @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sponsorships + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Sponsorships

+

JuliaCon is a community organized non-profit conference, and it would not be possible without the support of its amazing set of sponsors over the years. We invite your organization to be a sponsor of JuliaCon 2021.

+

JuliaCon is the largest annual conference organized around Julia, the fastest high-performance open source computing language for machine learning, artificial intelligence, life sciences, robotics, algorithmic trading, real-time analytics and more.

+

Last year, Juliacon moved online due to the COVID-19 pandemic. This move, though forced upon us by circumstance, allowed us to bring the conference to a much larger community. Over 10,000 users from 115 countries registered for the conference, and over 30,000 watched the conference talks within one month of the event. Juliacon therefore offers you the unique opportunity to present your company and your product to a worldwide audience of engaged scientific programmers.

+

JuliaCon 2021 sponsorship comes with the following benefits:

+

Platinum Sponsorship ($30,000)

+ +

Gold Sponsorship ($15,000)

+ +

Silver Sponsorship ($5,000)

+ +
+

Please talk to us at juliacon@julialang.org if you, or anyone you know, might be interested in sponsoring JuliaCon.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/tickets/index.html b/previews/PR609/2020/tickets/index.html new file mode 100644 index 000000000..5b358848b --- /dev/null +++ b/previews/PR609/2020/tickets/index.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2020: Registration + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2020: Registration

+

JuliaCon has moved online in 2020. As a result, tickets are now free, but registration is required to access the conference. Registration will give you access to all the workshops and talks.

+ +
+ +

+ (Can't see the ticketing widget above? Please wait a few seconds, refesh your browser, or check if a plugin is preventing access. Click here if all else fails.) +

+ +

Already purchased a ticket?

+

If you have already purchased a ticket, you can request a refund via the Eventbrite link in your ticket email.

+

The proceeds from JuliaCon are an important source of revenue for the Julia project, and goes a long way to provide funding for community infrastructure throughout the year. If you do not ask for a refund, your ticket will be rolled over to next year (you will also be registered for this year's event).

+

Contact the Organizers

+

Please email juliacon@julialang.org with any questions, comments or suggestions.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/upload/index.html b/previews/PR609/2020/upload/index.html new file mode 100644 index 000000000..a69f7125a --- /dev/null +++ b/previews/PR609/2020/upload/index.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Upload your files + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Upload your files

+

Please upload your talk video, poster or presentation for your accepted session. Lightning talks should be less than 8 minutes long, and full talks should be less than 25 minutes. Posters should be 4 pages at most. Please upload the content by the 16th of July 2020.

+ +
+ +
+ +

Contact the Organizers

+

Please email juliacon@julialang.org if you have any problems using this facilty.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2020/volunteer/index.html b/previews/PR609/2020/volunteer/index.html new file mode 100644 index 000000000..f58e529cf --- /dev/null +++ b/previews/PR609/2020/volunteer/index.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sign Up! + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2020 + + +
+
+ Next: 2024/2023/2022/2021 + Previously: 2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Sign Up!

+ +To mentor + + +To volunteer virtually + +

Roles

+

Mentors to new speakers

+

JuliaCon 2020 will match first-time JuliaCon speakers desiring guidance to experienced speakers willing to mentor. We are expecting a time commitment of maximally a few hours in which mentors will provide feedback on a novice speaker's presentation.

+

Please let us know if you would like to be mentored or if you are willing to mentor a first-time speaker for JuliaCon 2020!

+

Proceedings reviewers

+

JuliaCon will be offering proceedings, and we need reviewers to assess submissions. Our review process will be similar to that of the Journal of Open Source Software (JOSS).

+

Virtual volunteers

+

Our virtual volunteers help keep the conference running smoothly by helping with items like registration, moderation, and AV support. Help us put on a great event for our community!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/accessibility/index.html b/previews/PR609/2021/accessibility/index.html new file mode 100644 index 000000000..2fd28a37e --- /dev/null +++ b/previews/PR609/2021/accessibility/index.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Accessibility at JuliaCon + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Accessibility at JuliaCon

+

JuliaCon is committed to providing an accessible and inclusive environment to every attendee. In light of our announcement to shift JuliaCon online, our accessibility plans for this year are likely to be very different from prior events.

+

We will strive to ensure that the online platforms are compatible with screen readers, and we shall attempt to close caption all our talks.

+

Please reach out to the organising committee at juliacon@julialang.org for any additional concerns.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/cfp/index.html b/previews/PR609/2021/cfp/index.html new file mode 100644 index 000000000..be40e0aeb --- /dev/null +++ b/previews/PR609/2021/cfp/index.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Call for Proposals + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Call for Proposals

+

We are inviting the Julia community to submit talks and workshop proposals for the upcoming JuliaCon. JuliaCon 2021 is the eigth annual Julia community meeting. We encourage everyone who is interested to consider submitting a proposal, regardless of your level of experience with Julia or as a speaker. JuliaCon thrives on having talks ranging from introductory to advanced. If you are reading this and work with Julia in any form, we want you to consider submitting a proposal!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/coc/index.html b/previews/PR609/2021/coc/index.html new file mode 100644 index 000000000..f36723226 --- /dev/null +++ b/previews/PR609/2021/coc/index.html @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Code of Conduct + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Code of Conduct

+

JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin. We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference channel, including formal talks and networking between sessions. In general, please abide by the Julia Community Standards. Conference participants violating these standards may be expelled from the conference at the discretion of the conference organizers.

+

Harassment includes, but is not limited to:

+ +

Enforcement

+

Participants asked to stop any harassing behavior are expected to comply immediately. If a participant engages in harassing behavior, event organizers retain the right to take any actions to keep the event a welcoming environment for all participants. This includes warning the offender or expulsion from the conference. Event organizers may take action to redress anything designed to, or with the clear impact of, disrupting the event or making the environment hostile for any participants. We expect participants to follow these rules on all platforms used for conference interactions. We think people should follow these rules outside event activities too!

+

Reporting

+

If you would like to report a CoC violation or discuss any incident that may have left you uncomfortable, please contact one of the Discord admins (usernames in red) or organizers (usernames in blue). They may involve other event staff to ensure your report is managed properly. You won't be asked to confront anyone and we won't tell anyone who you are without your permission.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/committee/index.html b/previews/PR609/2021/committee/index.html new file mode 100644 index 000000000..4cef1f771 --- /dev/null +++ b/previews/PR609/2021/committee/index.html @@ -0,0 +1,224 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2021 Organizing Committee + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2021 Organizing Committee

+ +

Proceedings Committee

+ +

Joining the Committee

+

Each year, the previous years JuliaCon committee is usually asked to return. If certain members are no longer able to continue in their role, the existing committee members will work to find a replacement. JuliaCon committee members are generally folks who have been long term contributors to the community or made significant contributors in recent years. Generally, the JuliaCon Chair/co-chair's lead the effort to recruit committee members.

+

The committee is also open to nominations (you can nominate yourself) for vacant positions or positions that do not exist but you think would provide value to the conference. Nominations are accepted on a rolling basis and reviewed by the current committee as needed. While many current committee members have been long term Julia contributors, this is not a hard requirement. Being a long term member of the community comes with its blindspots, so if there is a unique angle you believe your nominee (including yourself) brings to the table, we would love to hear more!

+

Here is the Nomination form.

+
+

The JuliaCon committee is composed entirely of volunteer organizers and can be reached at juliacon@julialang.org with any questions or comments.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/experiences/index.html b/previews/PR609/2021/experiences/index.html new file mode 100644 index 000000000..415cc860c --- /dev/null +++ b/previews/PR609/2021/experiences/index.html @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Experiences + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Experiences

+

The JuliaCon 2021 experiences are a new type of presentation for folks to share an experience they had using Julia.

+

The experiences session will take place on 2021-07-29, from 16:30–18:00, on the Purple track. You can find a calendar invite on Pretalx.

+

The following experiences will be presented at JuliaCon2021: + +

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/faq/index.html b/previews/PR609/2021/faq/index.html new file mode 100644 index 000000000..be88fa2e4 --- /dev/null +++ b/previews/PR609/2021/faq/index.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + FAQs + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

FAQs

+

Q: Is there financial assistance available?

+

A: As we have moved to a virtual conference for 2021, registration is free! Register for JuliaCon 2021 at the tickets page.

+

Q: How can I get involved?

+

A: If you’re looking for ways to volunteer for JuliaCon 2021, please consider mentoring a new speaker, and virtually volunteering.

+

Q: I haven’t presented before. Is there support/guidance available?

+

A: Yes! We have mentors available to help with submissions as well as presenting. Request a mentor.

+

Q: I don’t know anyone who will be attending JuliaCon 2021. Will there be any social event(s) where I can network and make friends?

+

A: Yes! Please stay tuned for some fun social events we are planning, such as a buddy program and speaker social. We want to make JuliaCon a rewarding and fun experience for you!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/index.html b/previews/PR609/2021/index.html new file mode 100644 index 000000000..37284c574 --- /dev/null +++ b/previews/PR609/2021/index.html @@ -0,0 +1,462 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2021 & JuMP-dev, Everywhere on Earth + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + +
+
+

Juliacon 2021 (with JuMP-dev) was online and virtual

+ +
+

+ 28th to 30th of July, 2021
+ + check out all the recorded talks on YouTube
+ +
+ +

+
+
+ + + + + + + + + + + +
+ + + + +
+ + + + +
+
+ +
+
+

JuliaCon 2021

+ JuliaCon is back online in 2021. Tickets are free, but registration is required. The main conference talks will be held between the 28th and 30th of July.

+

To view the talks online, visit live.juliacon.org

+
+
+ +
+
+

Keynote Speakers

+

+
+
+ + + +
+ William Kahan +

+ UC Berkeley +

+

+ +

+
+
+
+ +
William "Velvel" Kahan was born in Canada and attended the University of Toronto for both his undergraduate and graduate studies in mathematics, and was eventually hired there as a professor. He joined the Berkeley faculty in 1968 with a joint appointment in the Math Department and as a member of the new Computer Science Department in the College of Letters and Science–before it merged with the EECS Department in the College of Engineering in 1973. He retired from the University in 2008. Kahan was instrumental in creating the IEEE 754-1985 standard for floating-point computation in the late 1970s and early 1980s. He developed a program called "paranoia' in the 1980s to test for potential floating point bugs and developed the Kahan summation algorithm which helps minimize errors introduced when adding a sequences of finite precision floating point numbers. Kahan won the ACM A.M. Turing Award in 1989.
+
+
+ + + +
+ Jan Vitek +

+ Northeastern University +

+

+ +

+
+
+
+ +
Jan Vitek is a Professor of Computer Science at Northeastern University. He holds degrees from the University of Geneva and Victoria. He works on topics related to the design and implementation of programming languages. In the Ovm project, he led the implementation of the first real-time Java virtual machine to be successfully flight-tested. Together with Noble and Potter, he proposed a concept that became known as Ownership Types. He was one of the designers of the Thorn language. He worked on gaining a better understanding of the JavaScript language and is looking at how to support scalable data analysis in R. Prof. Vitek chaired ACM SIGPLAN; he was the Chief Scientist at Fiji Systems and the founding team at H2O.ai, a vice chair of AITO; a vice chair of IFIP WG 2.4, and chaired SPLASH, PLDI, ECOOP, ISMM and LCTES and was program chair of ESOP, ECOOP, VEE, Coordination, and TOOLS.
+
+
+ + + +
+ Xiaoye (Sherry) Li +

+ Lawrence Berkeley National Laboratory +

+

+ +

+
+
+
+ +
Sherry Li is a Senior Scientist in the Computational Research Division, Lawrence Berkeley National Laboratory. She has worked on diverse problems in high performance scientific computations, including parallel computing, sparse matrix computations, high precision arithmetic, and combinatorial scientific computing. She is the lead developer of SuperLU, a widely-used sparse direct solver, and has contributed to the development of several other mathematical libraries, including ARPREC, LAPACK, PDSLin, STRUMPACK, and XBLAS. She earned Ph.D. in Computer Science from UC Berkeley and B.S. in Computer Science from Tsinghua Univ. in China. She has served on the editorial boards of the SIAM J. Scientific Comput. and ACM Trans. Math. Software, as well as many program committees of the scientific conferences. She is a Fellow of SIAM and a Senior Member of ACM.
+
+
+ + + +
+ Soumith Chintala +

+ Facebook AI Research +

+

+ +

+
+
+
+ +
Soumith Chintala is a Researcher at Facebook AI Research, where he works on high-performance deep learning. Soumith co-created PyTorch, a deep learning framework that has traction among researchers. He works on computer vision, robotics and machine learning systems. He holds a Masters in CS from NYU.
+

+
+
+ +
+
+

JuMP-dev

+ We are pleased to announce that JuMP-dev 2021 will be colocated with JuliaCon. We are excited to welcome the JuMP and the larger mathematical optimization communities to JuliaCon, the combination will create an oustanding experience for our speakers and participants. Please see further details and talk submission guidelines on the jump.dev page, and register for a free JuliaCon ticket.
+
+
+ +
+
+

2020 videos

+ JuliaCon 2020 has come to a close, but you can watch all of the conference's talks, workshops, and keynotes at the Julia Language's YouTube channel. We also have some photographic memories from previous Juliacons.
+
+
+ +
+
+

Julia Community Prize

+ The Julia Community Prize has been announced. Congratulations to the winners.
+
+
+ +
+
+

Code of Conduct

+ JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin. We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference venue, including formal talks and networking between sessions. Conference participants violating these standards may be sanctioned or expelled from the conference (without a refund) at the discretion of the conference organizers. Our anti-harassment policy and information about who to contact if you have an issue you'd like to discuss can be found on our Code of Conduct.
+
+
+ +
+
+

Committee

+ JuliaCon is organized by a committee composed entirely of volunteers, and can be reached at juliacon@julialang.org with any questions or comments.
+
+
+ +
+
+

Proceedings

+ JuliaCon is complemented by the JuliaCon proceedings, an open journal with a formal peer review process for articles that supplement JuliaCon contributions.
+
+
+ +
+
+

Recording your presentation

+ Please see this tutorial if you'd like guidance recording your virtual JuliaCon presentation.
+
+
+ + + +
+
+ + +
+
+
+

Sponsors

+ +

Platinum

+
+

+ + +

+ +

Gold

+
+

+ + +

+ +

Silver

+
+

+ + + + + + + + + + +

+ +

+

+ +

Media Partners

+
+

+ + +

+ +

With the help of the Julia project’s fiscal sponsor:

+
+

+ + +

+ + +
+
+
+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/memories/index.html b/previews/PR609/2021/memories/index.html new file mode 100644 index 000000000..aa1fffb11 --- /dev/null +++ b/previews/PR609/2021/memories/index.html @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Memories of Juliacon past + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Memories of Juliacon past

+

2020

+

Juliacon moved online in 2020, and so we could not arrange the traditional group photo. We did however ask our attendees to upload a photo of the place they were joining from. Here is a collage, representing our global audience.

+

places of juliacon

+

2019

+

The number of our attendees grew enough that we had to hire a drone to take the photo. Here we are in sunny Baltimore.

+

juliacon 2019 group photo in Baltimore

+

2018

+

Juliacon moved to Europe for the first time. Here we are at the front quad of the University College, London.

+

juliacon 2018 group photo in London

+

2017

+

Juliacon moved west, to the University of California, Berkeley.

+

juliacon 2017 group photo in Berkely, California

+

2016

+

We continued at MIT for another year, with a growing audience.

+

juliacon 2016 group photo at MIT

+

2015

+

With increasing interest, Juliacon was held at MIT, the home of Julia. Here we are, with the angles of the Ghery's Stata Center behind us.

+

juliaccon 2015 group photo at MIT

+

2014

+

The first Juliacon was held in Chicago, where nearly 80 early adopters came together to talk about this then new programming language. The rest is history!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/posters/index.html b/previews/PR609/2021/posters/index.html new file mode 100644 index 000000000..cee4dad5e --- /dev/null +++ b/previews/PR609/2021/posters/index.html @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Posters + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Posters

+

The JuliaCon 2021 posters will be presented as part of a poster session which will happen synchronously on: July 30th from 16:30–18:00 UTC. You can find a calendar invite for the session here: JuliaCon Poster Session on Pretalx

+

The poster session will be held on Gathertown. Make sure to register in advance to get access to the session for Q/A and live interaction.

+

The following posters will be presented at JuliaCon2021: + +

+
+ + + +

5. GerryChain.jl: detecting gerrymandering with Markov chains

+

Parker J. Rule, Bhushan Suwal, Matthew Sun

+ + + + + + + + + +

15. HssMatrices.jl

+

Boris Bonev

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

44. Reproducibility, Julia, and Renku

+

Chandrasekhar Ramakrishnan Gavin Lee

+ + + +

48. Early adopters jumping the adoption chasm in a company

+

Jorge Alberto Vieyra Salas, Evangelos Paradas

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

80. View5D.jl

+

Rainer Heintzmann

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/prize/index.html b/previews/PR609/2021/prize/index.html new file mode 100644 index 000000000..2dd56d6f2 --- /dev/null +++ b/previews/PR609/2021/prize/index.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Julia Community Prize + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Julia Community Prize

+

The Julia Community Prizes have been announced based on this year's nominations. A certificate of accomplishement and a cash prize of $1000.00 each has been awarded to:

+

Bogumił Kamiński & Milan Bouchet-Valat

+

For their custodianship of DataFrames.jl and the data ecosystem

+

Fons van der Plas

+

For his work on Pluto.jl

+

Dilum Aluthge

+

For his contributions to our community infrastructure and community building.

+

Our congratulations to the winners, and our thanks to the committee.

+
+

Awards Committee

+

The members of the committee for 2021 continue to be Prof Alan Edelman, MIT; Prof Tim Holy, WU; and Mr Curtis Vogt, Beacon Biosignals.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/proposal/index.html b/previews/PR609/2021/proposal/index.html new file mode 100644 index 000000000..899dfb89a --- /dev/null +++ b/previews/PR609/2021/proposal/index.html @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Proposals (Coming Soon!) + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Proposals (Coming Soon!)

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/schedule/index.html b/previews/PR609/2021/schedule/index.html new file mode 100644 index 000000000..1c90de118 --- /dev/null +++ b/previews/PR609/2021/schedule/index.html @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Schedule (Coming Soon!) + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Schedule (Coming Soon!)

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/sponsor/index.html b/previews/PR609/2021/sponsor/index.html new file mode 100644 index 000000000..2cfa3e5dc --- /dev/null +++ b/previews/PR609/2021/sponsor/index.html @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sponsorships + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Sponsorships

+

JuliaCon is a community organized non-profit conference, and it would not be possible without the support of its amazing set of sponsors over the years. We invite your organization to be a sponsor of JuliaCon 2021.

+

JuliaCon is the largest annual conference organized around Julia, the fastest high-performance open source computing language for machine learning, artificial intelligence, life sciences, robotics, algorithmic trading, real-time analytics and more.

+

Last year, Juliacon moved online due to the COVID-19 pandemic. This move, though forced upon us by circumstance, allowed us to bring the conference to a much larger community. Over 10,000 users from 115 countries registered for the conference, and over 30,000 watched the conference talks within one month of the event. Juliacon therefore offers you the unique opportunity to present your company and your product to a worldwide audience of engaged scientific programmers.

+

JuliaCon 2021 sponsorship comes with the following benefits:

+

Platinum Sponsorship ($30,000)

+ +

Gold Sponsorship ($15,000)

+ +

Silver Sponsorship ($5,000)

+ +
+

Please talk to us at juliacon@julialang.org if you, or anyone you know, might be interested in sponsoring JuliaCon.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/tickets/index.html b/previews/PR609/2021/tickets/index.html new file mode 100644 index 000000000..c4b2f3ee2 --- /dev/null +++ b/previews/PR609/2021/tickets/index.html @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2021: Registration + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2021: Registration

+

JuliaCon will be online in 2021. Tickets will be free, but registration is required to access the conference. Registration will give you access to all the workshops and talks.

+ +
+ +

+ (Can't see the ticketing widget above? Please wait a few seconds, refesh your browser, or check if a plugin is preventing access. Click here if all else fails.) +

+ +

Contact the Organizers

+

Please email juliacon@julialang.org with any questions, comments or suggestions.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/upload/index.html b/previews/PR609/2021/upload/index.html new file mode 100644 index 000000000..478246a58 --- /dev/null +++ b/previews/PR609/2021/upload/index.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Upload your files + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Upload your files

+

Please upload your talk video, poster or presentation for your accepted session. Lightning talks should be less than 8 minutes long, and full talks should be less than 25 minutes. Experience reports and posters should be less than 3 minutes long. For posters, please upload the 3 minute video and the actual poster file in two seperate uploads with different file names.

+

All talks for JuliaCon are recorded and will premier at a particular time during the conference. Speakers should be online during their talk while it is premiering (this is why you were asked your availability on pretalx) so that they can answer questions that come up in the YouTube chat as well as Discord (more details on Discord coming soon). The only talks that will be given live are the keynote addresses and a few other talks (we will reach out to those speakers ahead of time).

+

Please upload the content by the 5th of July 2021.

+

If you need to re-upload, please either use the same file name (it will override the first upload) or upload a second time and name sure the file name clearly states it is the second version.

+ +
+ +
+ +

If the upload is successful, you will see the "Your upload was successful. Thank you!" at the bottom of the page.

+

Contact the Organizers

+

Please email juliacon@julialang.org if you have any problems using this facilty.

+

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/volunteer/index.html b/previews/PR609/2021/volunteer/index.html new file mode 100644 index 000000000..2b6d00f62 --- /dev/null +++ b/previews/PR609/2021/volunteer/index.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sign Up! + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Sign Up!

+ +To mentor + + +To volunteer virtually + +

Roles

+

Mentors to new speakers

+

JuliaCon 2020 will match first-time JuliaCon speakers desiring guidance to experienced speakers willing to mentor. We are expecting a time commitment of maximally a few hours in which mentors will provide feedback on a novice speaker's presentation.

+

Please let us know if you would like to be mentored or if you are willing to mentor a first-time speaker for JuliaCon 2020!

+

Proceedings reviewers

+

JuliaCon will be offering proceedings, and we need reviewers to assess submissions. Our review process will be similar to that of the Journal of Open Source Software (JOSS).

+

Virtual volunteers

+

Our virtual volunteers help keep the conference running smoothly by helping with items like registration, moderation, and AV support. Help us put on a great event for our community!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2021/workshops/index.html b/previews/PR609/2021/workshops/index.html new file mode 100644 index 000000000..7f185daae --- /dev/null +++ b/previews/PR609/2021/workshops/index.html @@ -0,0 +1,432 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2021 Workshops + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2021 + + +
+
+ Next: 2024/2023/2022 + Previously: 2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2021 Workshops

+

Below you will find the workshop schedule along with the link to watch on YouTube. All workshops will be at (2 PM UTC) and as shown below, there will be two workshops running concurrently each day. Make sure you register (for free) to ensure you are able to participate and ask questions during the workshops.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DateWorkshop TitleLink
Tuesday July 20 + GPU programming in Julia + + https://www.youtube.com/watch?v=Hz9IMJuW5hU +
Tuesday July 20 + DataFrames.jl 1.2 tutorial + + https://www.youtube.com/watch?v=tJf24gfcSto +
Wednesday July 21 + Quantum Computing with Julia + + https://www.youtube.com/watch?v=tEd6driz37w +
Wednesday July 21 + Statistics with Julia from the ground up + + https://www.youtube.com/watch?v=IlPoU5Yr2QI +
Thursday July 22 + A mathematical look at electronic structure theory + + https://www.youtube.com/watch?v=HvpPMWVm8aw +
Thursday July 22 + Game development in Julia with GameZero.jl + + https://www.youtube.com/watch?v=ar7wCVlncKE +
Friday July 23 + Solving differential equations in parallel on GPUs + + https://www.youtube.com/watch?v=DvlM0w6lYEY +
Friday July 23 + Package development in VSCode + + https://www.youtube.com/watch?v=F1R3ETaRQXY +
Saturday July 24 + Simulating Big Models in Julia with ModelingToolkit + + https://www.youtube.com/watch?v=HEVOgSLBzWA +
Saturday July 24 + Package development: improving engineering quality & + latency + + https://www.youtube.com/watch?v=wXRMwJdEjX4 +
Sunday July 25 + Parse and broker (log) messages with CombinedParsers(.EBNF) + + https://www.youtube.com/watch?v=RpCnP-S7txI +
Sunday July 25 + Modeling Marine Ecosystems At Multiple Scales Using Julia + + https://www.youtube.com/watch?v=UCIRrXz2ZS0 +
Monday July 26 + It's all Set: A hands-on introduction to JuliaReach + + https://www.youtube.com/watch?v=P4I7pTvQ4nk +
Monday July 26 + Introduction to Bayesian Data Analysis + + https://www.youtube.com/watch?v=W_ExvidyESg +
Tuesday July 27 + Diffractor: Next-Gen AD for Julia [Canceled] + +

[Canceled]

+
Tuesday July 27 + Introduction to metaprogramming in Julia + + https://www.youtube.com/watch?v=2QLhw6LVaq0 +
+ + +Poster for the JuliaCon 2021 workshop schedule + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/accessibility/index.html b/previews/PR609/2022/accessibility/index.html new file mode 100644 index 000000000..0d87256d9 --- /dev/null +++ b/previews/PR609/2022/accessibility/index.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Accessibility at JuliaCon + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Accessibility at JuliaCon

+

JuliaCon is committed to providing an accessible and inclusive environment to every attendee. In light of the on-going pandemic and need to shift JuliaCon online, our accessibility plans for this year are likely to be very different from prior events.

+

We will strive to ensure that the online platforms are compatible with screen readers, and we shall attempt to close caption all our talks.

+

Please reach out to the organising committee at juliacon@julialang.org for any additional concerns.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/cfp/index.html b/previews/PR609/2022/cfp/index.html new file mode 100644 index 000000000..42a254a65 --- /dev/null +++ b/previews/PR609/2022/cfp/index.html @@ -0,0 +1,350 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 CFP + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 CFP

+

*This document is available in French, German, Spanish, Russian, Simplified Chinese, and Portuguese ... (Missing your own? Submit a PR)

+

We invite you to submit proposals to give a talk at JuliaCon 2022.

+

JuliaCon has traditionally had talks that ranged from introductory to advanced, on topics related to various fields, and from developers and researchers from industry and academia. If you have worked on Julia in the past, JuliaCon is the best venue to share your work with the Julia community.

+

To get a feel for previous years’ presentations, take a look at our past programs and recordings: (2014, 2015, 2016, 2017, 2018, 2019, 2020, and 2021).

+

We are interested to hear about all topics that have to do with Julia. Examples of such topics are:

+ +

The most important consideration is whether the topic would be interesting to the Julia community.

+

Proposal Types

+

This year, we will have 6 different types under which you can submit proposals. All presentations are expected to be pre-recorded and submitted by early July (exact date to be announced later). Workshops and Birds of Feather sessions are expected to be live. For the first time, this year we will be accepting proposals which are not in English. See below for further details.

+

Talks

+

This track is primarily dedicated to sharing your technical work with the Julia community, whether it is related to software development, research, or applications from a specific field.

+ +

Minisymposia

+

A minisymposium is a “conference-within-a-conference” where the organizers are responsible for scheduling speakers, panels, and discussions as they see fit. Organizers of a minisymposium are also expected to provide a moderator or chair for the session. A minisymposium is allocated a two to three hour slot. Note: In contrast to JuliaCon 2021, minisymposia will be scheduled before the official start date of the conference, along side the workshops.

+

Workshops

+

A workshop is usually a three hour interactive hands-on session where the presenter live codes in front of the audience and shares code with attendees to allow them to follow easily. Workshops will take place before the official start date of the conference. Example topics on this track include package-specific tutorials or field-specific tutorials. Note: since this is the first year JuliaCon will be accepting proposals for workshops not in English, try to keep level of the workshop introductory if you wish to propose a non-English workshop.

+

Virtual Posters

+

Since JuliaCon2022 is a fully online conference this year, poster presenters will not prepare physical posters. Instead, they will be asked to provide 3 minute recordings of their proposed topics. Videos will then be used in dedicated chat rooms where attendees who join the room can quickly watch the video and join the conversation about the video or topic presented.

+

Birds of a Feather / Interest groups

+

Birds of feather sessions are breakout sessions for organized discussions around specific topics. For example, package maintainers can use these times to organize a meeting with and recruit contributors, or community members can organize discussion groups for Julia teaching materials or diversity recruitment. These sessions will be allocated a one hour timeslot, and will not be recorded.

+

Experiences

+

The purpose of this track is to welcome new members in the community. Example topics include your favorite features in Julia, how Julia has helped you solve a certain problem, an interesting problem you solved with Julia in a university class, or, more generally, how Julia has been a good addition to your workflow. These presentations will each last three minutes and will be interspersed throughout different sessions in the conference. We encourage you to show contact information such as twitter handle or github handle or email on your slides if you’d welcome any offline questions, as there won’t be allocated time for questions in this track. We especially welcome newcomers to Julia to share their impressions with the community using this track. If you are a teacher or professor using Julia in your teaching, we encourage you to invite your students to apply to share their experiences with the Julia community.

+
+

When submitting your proposal (abstract), you may select multiple categories for consideration.

+

Submission details

+

We are using an anonymized submissions process, to avoid selection bias related to the speaker. While enforcing double blind is impossible since most submissions should link to public open source code, all efforts are made to ensure impartial review of submissions. If you are submitting a proposal for a non-English session, you may submit in the language of your choice. In addition please always provide an English version of your proposal (a machine translation is completely fine!). We will always attempt to find fluent speakers of your chosen language to review your proposal. However, in case this is not possible, we will fall back to the English translation in order to submit it to a wider reviewer pool. In case you choose to present in a different language than English, please note this in the abstract itself (e.g. "This workshop will be presented in Thai." or "I will be giving a Julia Experiences talk in Czech.").

+

If you are submitting a workshop or birds-of-a-feather session that you think would particularly benefit from being held at a certain time, please note this in your proposal. For example, if you would like to present a workshop in Mandarin, and want it to be held at a time convenient for attendees in Asia, indicate this in your abstract.

+

Recordings and materials

+

JuliaCon 2022 will be an online conference, and to facilitate the planning of the conference, we will ask our speakers to submit a recorded version of their talk before the conference, and we plan to make all recorded material publicly available after the conference. If, for any reason, you prefer that your video remain private please contact us at juliacon@julialang.org. Finally, we also ask you to make your materials and recording available under a Creative Commons (default: no commercial reuse) or other open source license. If you would like to give your talk in English and another language, we will ask you to submit two recorded versions (one in each language).

+

Transcripts

+

In order to improve accessibility, we will require transcripts as part of your submission. Keep your eyes on your e-mail for details on the submission process.

+

Proceeding Publications

+

This year we are offering willing participants the chance to have their work published as part of a JuliaCon proceedings publication. More details forthcoming.

+

Registration for speakers

+

We expect our speakers to register for the conference. Note that since JuliaCon 2022 is an entirely online conference, registration will be free.

+

How to contact us

+

You can reach us with questions and concerns at juliacon@julialang.org.

+

Conference Code of Conduct

+

JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin. We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference venue, including formal talks and networking between sessions. Conference participants violating these standards may be sanctioned or expelled from the conference (without a refund) at the discretion of the conference organizers. Our anti-harassment policy can be found here.

+

Appendix

+

Review Guidelines and Process

+

For reference, below are the guidelines and processes that readers will use in reviewing your submission.

+

The role of reviewers is to ensure the quality of the content presented at JuliaCon.

+

Conflict of interest

+

In any case of conflict of interest, the reviewer commits to withdraw from a review and signal it to the organizers to find a replacement quickly. No reviewer should enter a review on any talk in which they are an author or have another form of conflict of interest. See the PNAS guidelines for a definition and examples. Conflicts of interest include any work or authors with which the reviewer has "any association that poses or could be perceived as a financial or intellectual conflict of interest" (PNAS guidelines above).

+

Code of Conduct

+

The reviewer commits to reading and respecting the conference Code of Conduct in the assessment and all communications during the review process.

+

If a submitted abstract does not comply with the Code of Conduct, the reviewer should refer it to the organizing committee.

+

Criteria for the reviews

+

Failure to meet these criteria will result in lower scores.

+
    +
  1. The abstract should be easy to read and understandable for someone not working on the same topic. The title should make it easy to identify the topic of the content.

    +
  2. +
  3. The abstract presented should be technically sound to the best of the reviewer's knowledge.

    +
  4. +
  5. The subject should be of interest for JuliaCon, including but not limited to the topics listed on the Call for Proposals

    +
  6. +
+ +
    +
  1. If the format requested by the author (experience, lightning talk, talk, workshop, poster, minisymposium, birds-of-a-feather) does not seem appropriate, the reviewer can signal it and suggest another one.

    +
  2. +
  3. Use cases of Julia in an enterprise environment are in general of interest to the conference. In particular, feedback on product development using or interacting with Julia and its ecosystem are welcome. However, talks and posters are not a suitable venue for product placement.

    +
  4. +
+

Scoring Criteria

+

The following are the criteria by which scores (1-5) should be given:

+
    +
  1. Applicability to the Julia community. Would users of Julia be interested in this talk for either its methods or its results? Higher scoring proposals should be of wide interest to Julia users.

    +
  2. +
  3. Contributions to the community. Is this a new package for people to use? Higher scoring proposals should be code or ideas that others can use.

    +
  4. +
  5. Clarity. What is the purpose of this talk? What will people learn? Higher scoring proposals should be clear as to their purpose.

    +
  6. +
  7. Significance to the community. Is this something that will change the way a lot of other people use Julia or its package ecosystem? Higher scoring proposals should be more significant to Julia users. Note that this does not require scientific significance, just significance as a software or tutorial to users of Julia.

    +
  8. +
  9. Topic diversity. As a community we value the diversity of applications. Proposals which are targeting new areas and fields for the Julia community to expand should be given some credit.

    +
  10. +
  11. Soundness. Proposals should be technically sound. Glaring incorrectness should be highlighted and taken into account.

    +
  12. +
  13. Classification. The criteria will be stricter for longer presentations.

    +
  14. +
+

Review Process

+ +

Review Comments

+

Each review should include a comment that justifies the scores that were given. For example, a comment may be like:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/cfp_de/index.html b/previews/PR609/2022/cfp_de/index.html new file mode 100644 index 000000000..32892cc93 --- /dev/null +++ b/previews/PR609/2022/cfp_de/index.html @@ -0,0 +1,346 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 CFP + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 CFP

+

Dieser Aufruf zur Einreichung von Konferenzvorschlägen wurde am 2021-04-01 11:59 (UTC) beendet.

+

Wie jedes Jahr, laden wir Sie auch in diesem Jahr herzlich dazu ein Vortragsvorschläge für die JuliaCon 2022 einzureichen.

+

Die JuliaCon bietet traditionell eine Mischung an Vorträgen sowohl für Einsteiger:innen, als auch für Fortgeschrittene, mit Themen aus verschiedenen Fachrichtungen, von Entwickler:innen, Forscher:innen aus der Industrie oder dem akademischen Bereich. Wenn Sie in der Vergangenheit mit Julia gearbeitet haben, ist die JuliaCon der beste Ort, um Ihre Arbeit mit anderen aus der Juliagemeinschaft zu teilen.

+

Einen genaueren Einblick in die üblichen Vortragsthemen geben die Listen der Vorjahresvorträge, sowie die entsprechenden Vortragsaufnahmen: (2014, 2015, 2016, 2017, 2018, 2019, 2020 und 2021).

+

Wir sind an allen Vorträgen interessiert, die in irgendeiner Form mit Julia zu tun haben. Mögliche Themen könnten sein:

+ +

Das wichtigste Kriterium für den Vorschlag sollte sein, ob das Thema für die Juliagemeinschaft von Interesse ist.

+

Vorschlagskategorien

+

In diesem Jahr gibt es sechs Kategorien, zu welchen Sie Vorschläge einreichen können. Es wird erwartet, dass alle Präsentationen im Voraus aufgezeichnet und bis Anfang Juli eingereicht werden (das genaue Datum wird später bekannt gegeben). Workshops und "Birds of a Feather"-Sitzungen werden voraussichtlich live sein. In diesem Jahr werden zum ersten Mal auch Vorschläge akzeptiert, die nicht in englischer Sprache verfasst sind. Weitere Einzelheiten siehe unten.

+

Wenn Sie Ihren Vorschlag einreichen, können Sie auch mehrere Kategorien zur Berücksichtigung auswählen.

+

Vorträge

+

In dieser Kategorie geht es in erster Linie darum, Ihre technische Arbeit mit der Juliagemeinschaft zu teilen, unabhängig davon, ob es sich um Softwareentwicklung, Forschung oder Anwendungen in einem bestimmten Bereich handelt.

+ +

Minisymposia

+

Ein Minisymposium ist eine "Konferenz innerhalb einer Konferenz", bei der die Organisator:innen für die Planung von Redner:innen, Diskussion und Diskussionsrunden nach eigenem Ermessen verantwortlich sind. Von den Veranstaltern eines Minisymposiums wird auch erwartet, dass sie Moderatoren oder Vorsitzende für das Symposium stellen. Einem Minisymposium wird ein Zeitfenster von zwei bis drei Stunden zugewiesen. Hinweis: Im Gegensatz zur JuliaCon 2021 werden die Minisymposia vor dem offiziellen Beginn der Konferenz, also zusammen mit den Workshops stattfinden.

+

Workshops

+

Bei einem Workshop handelt es sich in der Regel um eine dreistündige interaktive praktische Veranstaltung, bei welcher die Vortragenden live vor dem Publikum programmiert und den Code mit den anderen Teilnehmenden teilt, sodass diese leicht folgen können. Die Workshops finden vor dem offiziellen Beginn der Konferenz statt (wie auch die Minisymposia). Zu den Themen dieser Kategorie gehören beispielsweise paketspezifische Tutorien oder fachspezifische Tutorien. Hinweis: Da dies das erste Jahr ist, in welchem die JuliaCon Vorschläge für nicht-englischsprachige Workshops akzeptiert, sollten nicht-englischsprachige Workshops eher einen einführenden Charakter haben.

+

Virtuelle Poster

+

Da die JuliaCon in diesem Jahr eine reine Online-Konferenz ist, werden die Posterpräsentator:innen keine physischen Poster vorbereiten. Stattdessen werden sie gebeten, dreiminütige Aufnahmen ihrer vorgeschlagenen Themen zu erstellen. Die Videos werden dann in speziellen Chaträumen zur Verfügung gestellt, sodass die dem Chatraum neu beitretenden Teilnehmer:innen sich das Video schnell ansehen und direkt an der Diskussion beteiligen können.

+

Birds of a Feather / Interessensgruppen

+

Die "Birds of a Feather"-Sitzungen sind organisierte Diskussionen zu bestimmten Themen. Beispielsweise können Paketbetreuer:innen diese Zeit nutzen, um ein Treffen mit Mitwirkenden zu organisieren und diese zu rekrutieren, eine Diskussionsgruppe könnte Erfahrungen mit auf Julia basierten Lehrmaterialien austauschen oder eine Arbeitsgemeinschaft für Diversität in der Juliagemeinschaft könnte sich organisieren. Diese Sitzungen werden jeweils eine Stunde dauern und werden nicht aufgezeichnet.

+

Erfahrungen (Experiences)

+

Diese Rubrik soll neue Mitglieder in der Gemeinschaft willkommen heißen. Beispiele für Themen sind die Vorstellung der Lieblingsfunktionen in Julia, wie Julia geholfen hat, ein bestimmtes Problem zu lösen, z.B. in einem Universitätskurs, oder ganz allgemein wie Julia sich gut in den persönlichen Arbeitsablauf integriert und diesen ergänzt. Da für diese Vortragskategorie keine Zeit für Fragen vorgesehen ist, ermutigen wir Sie im Besonderen Kontaktinformationen wie Ihren Twitter- oder Github-Nutzernamen oder Ihre E-Mail-Adresse auf Ihren Folien anzugeben, damit Zuseher:innen Ihnen Fragen zukommen lassen können. Wir freuen uns besonders, wenn Julianeulinge mittels dieser Beitragskategorie ihre Eindrücke mit der Juliagemeinschaft teilen. Falls Sie als Lehrer:in oder Professor:in Julia in Ihren Kursen verwenden, möchten wir Sie bitten, Ihre Studierenden einzuladen, bei dieser Kategorie Ihre Erfahrungen mit der Juliagemeinschaft zu teilen.

+

Details zur Einreichung und Begutachtung

+

Wir verwenden ein anonymisiertes Begutachtungsverfahren um Auswahlverzerrungen in Bezug auf die Vortragenden zu vermeiden. Obwohl ein Doppelblindverfahren nicht vollständig gewährleistet werden kann, da die meisten Einreichungen auf öffentlichen Open-Source-Code verweisen, werden alle Anstrengungen unternommen, um eine unparteiische Prüfung der Einreichungen zu gewährleisten. In diesem Jahr können Sie Beiträge in einer Sprache Ihrer Wahl einreichen. Bei nicht-englischen Beiträgen fügen Sie bitte immer eine Version Ihres Beschreibungstextes in Englisch bei (eine maschinelle Übersetzung ist völlig in Ordnung). Wir werden immer versuchen, fließende Sprecher:innen in der gewählten Sprache zu finden, um den Vorschlag zu begutachten. Sollte dies jedoch nicht möglich sein, werden wir auf die englische Übersetzung zurückgreifen, um den Vorschlag einem größeren Kreis von Gutachter:innen vorlegen zu können. Falls Sie Ihren Vortrag in einer anderen Sprache als Englisch halten möchten, vermerken Sie dies bitte in der Zusammenfassung selbst (z.B. "Dieser Workshop wird auf Thailändisch gehalten." oder "Ich werde einen Vortrag über meine Juliaerfahrungen auf Tschechisch halten.").

+

Wenn Sie einen Workshop oder eine "Birds of a Feather"-Veranstaltung einreichen, die Ihrer Meinung nach besonders von einer bestimmten Uhrzeit profitieren würde, vermerken Sie dies bitte in Ihrem Vorschlag. Wenn Sie z.B. einen Workshop in Mandarin abhalten möchten, geben Sie gerne an, dass dieser zu einem für den asiatischen Raum günstigen Zeitpunkt stattfinden sollte.

+

Aufzeichnungen und Vortragsmaterialien

+

Die JuliaCon 2022 wird eine Online-Konferenz sein. Um die Planung der Konferenz zu erleichtern, werden wir unsere Redner:innen bitten, eine aufgezeichnete Version ihres Vortrags vor der Konferenz einzureichen. Ebenfalls planen wir das gesamte aufgezeichnete Material nach der Konferenz öffentlich zugänglich zu machen. Wenn Sie es aus irgendeinem Grund vorziehen, dass Ihr Video privat bleibt, kontaktieren Sie uns bitte unter juliacon@julialang.org. Wir bitten Sie ebenfalls Ihre Materialien und Aufzeichnungen unter einer Creative-Commons-Lizenz (Standard: keine kommerzielle Weiterverwendung) oder einer anderen Open-Source-Lizenz zur Verfügung zu stellen. Wenn Sie Ihren Vortrag sowohl in Englisch als auch in einer anderen Sprache halten möchten, bitten wir Sie, zwei aufgezeichnete Versionen (eine in jeder Sprachen) einzureichen.

+

Transkripte

+

Um den Zugang zu Beiträgen möglichst barrierefrei zu gestalten, benötigen wir Transkripte zusammen mit Ihrer Videoeinreichung. Bitte beachten Sie eine entsprechende E-Mail, welche weitere Einzelheiten zur Einreichung der Transskripte bekannt geben wird.

+

JuliaCon Proceedings

+

Auch dieses Jahr geben wir wieder Teilnehmern die Möglichkeit Ihre Arbeit als Teil der JuliaCon Proceedings zu veröffentlichen. Weitere Details werden folgen.

+

Registrierung für Vortragende

+

Wir erwarten von unseren Vortragenden, dass sie sich für die Konferenz registrieren. Da die JuliaCon 2022 eine reine Online-Konferenz ist, wird die Anmeldung kostenlos sein.

+

Kontakt

+

Sie können uns bei allen Fragen und Anliegen unter juliacon@julialang.org erreichen.

+

Verhaltenskodex der Konferenz

+

JuliaCon ist bestrebt, allen Teilnehmer:innen ein positives Konferenzerlebnis zu bieten, unabhängig von Geschlecht, Geschlechtsidentität, sexueller Orientierung, Behinderung, körperlichem Aussehen, Körpergröße, Alter, Religion oder nationaler und ethnischer Herkunft. Wir fördern einen respektvollen und rücksichtsvollen Umgang zwischen den Teilnehmenden und dulden keine Belästigung von Konferenzteilnehmer:innen in irgendeiner Form. So sind beispielsweise beleidigende oder sexuelle Ausdrücke und Bilder an keinem Konferenzort angebracht, auch nicht bei offiziellen Gesprächen und beim Plauschen zwischen den Sitzungen. Konferenzteilnehmer:innen, die gegen diese Standards verstoßen, können nach Ermessen der Konferenzorganisator:innen mit Sanktionen belegt oder von der Konferenz ausgeschlossen werden (ohne Rückerstattung). Unseren Verhaltenskodex finden Sie hier (auf Englisch).

+

Anhang

+

Richtlinien und Verfahren der Begutachtung

+

Nachfolgend finden Sie die Richtlinien und Verfahren, welche die Gutachter:innen bei der Beurteilung Ihrer Einreichung anwenden werden. Die Hauptaufgabe der Gutachter:innen besteht darin, die Qualität der Inhalte auf der JuliaCon zu gewährleisten.

+

Interessenkonflikte

+

Im Falle eines Interessenkonflikts verpflichten sich die Begutachtenden, sich von der Begutachtung zurückzuziehen und den Organisatoren mitzuteilen, dass ein Ersatz gefunden werden muss. Kein:e Gutachter:in sollte einen Vortrag begutachten, an dem er:sie als Autor:in beteiligt ist oder in einem anderen Interessenkonflikt steht. In den PNAS-Richtlinien (auf Englisch) finden Sie eine Definition und Beispiele. Ein solcher Konflikt ist insbesondere dann geboten, wenn die begutachtete Arbeit oder die beteiligten Autoren in einer Weise mit dem:der Gutachter:in verbunden sind, "die einen finanziellen oder intellektuellen Interessenkonflikt darstellt oder als solchen wahrgenommen werden könnte" (PNAS-Richtlinien oben).

+

Verhaltensregeln

+

Die Begutachtenden verpflichten sich, den Verhaltenskodex (auf Englisch) der Konferenz bei der Bewertung und bei allen Mitteilungen während des Begutachtungsprozesses zu lesen und einzuhalten.

+

Wenn eine eingereichte Zusammenfassung nicht mit dem Verhaltenskodex übereinstimmt, sollte der:die Gutachter:in dies dem Organisationskomitee anzeigen.

+

Begutachtungskriterien

+

Die Nichteinhaltung dieser Kriterien führt zu einer niedrigeren Bewertung des Beitrages.

+
    +
  1. Die Zusammenfassung sollte auch für Teilnehmenden aus anderen Fachbereichen einfach zu lesen und zu verstehen sein. Der Titel sollte Thema und Inhalt des Beitrages passgenau wiedergeben.

    +
  2. +
  3. Die vorgelegte Zusammenfassung sollte nach bestem Wissen und Gewissen des Gutachters technisch einwandfrei sein.

    +
  4. +
  5. Das Thema sollte für die JuliaCon und die Juliagemeinschaft interessant sein. Beispielsweise kommen die Themen des Call for Proposals in Frage, welche sind:

    +
      +
    • Biologie, Bioinformatik, Gesundheitswesen, Medizin, Medizinsoziologie

      +
    • +
    • Datenanalyse und Datenvisualisierung

      +
    • +
    • Finanzwesen und Wirtschaftswissenschaften

      +
    • +
    • Allgemeine Datenverarbeitung

      +
    • +
    • Industrielle Anwendungen

      +
    • +
    • Details zum Juliakompilierer, zu Juliawerkzeugen und dem Juliaökosystem

      +
    • +
    • Numerische und mathematische Optimierung

      +
    • +
    • Wissenschaftliches Rechnen

      +
    • +
    • Bewährte Praktiken in der Softwareentwicklung

      +
    • +
    • Statistik, maschinelles Lernen und Künstliche Intelligenz

      +
    • +
    • Computergestützte Geistes- und Sozialwissenschaften

      +
    • +
    +
  6. +
  7. Falls das vom Autor vorgeschlagene Beitragsformat (Experience, Kurzvortrag, Vortrag, Workshop, Poster, Minisymposium, Birds of a Feather) unpassend erscheint, können die Begutachtenden dies anzeigen und ein anderes Format vorschlagen.

    +
  8. +
  9. Anwendungen von Julia in einem Unternehmen sind generell von Interesse für die Konferenz. Insbesondere Rückmeldungen zur Produktentwicklung, die Julia und Julias Ökosystem nutzen oder mit ihnen interagieren, sind willkommen. Vorträge und Poster sind jedoch kein geeigneter Ort für Werbung oder Produktplatzierung.

    +
  10. +
+

Benotung

+

Im Folgenden sind die Kriterien aufgeführt, nach denen die Noten von 1 (wenig erfüllt) bis 5 (voll erfüllt) vergeben werden sollten:

+
    +
  1. Anwendbarkeit für die Juliagemeinschaft. Wären Julianutzer:innen an diesem Vortrag interessiert, entweder wegen der Methoden oder wegen der Ergebnisse? Höher bewertete Vorschläge sollten für Julianutzer:innen von großem Interesse sein.

    +
  2. +
  3. Beiträge für die Gemeinschaft. Handelt es sich um ein neues Paket, das andere nutzen können? Höher bewertete Vorschläge sollten Code oder Ideen sein, die andere nutzen können.

    +
  4. +
  5. Klarheit. Was ist der Zweck dieses Vortrags? Was werden die Teilnehmer:innen lernen? Vorschläge, die eine höhere Punktzahl erreichen, sollten eine klare Vortragsabsicht haben.

    +
  6. +
  7. Bedeutung für die Gemeinschaft. Handelt es sich um etwas, was die Art und Weise wie Julia oder das Paket-Ökosystem genutzt wird verändern wird? Höher bewertete Vorschläge sollten für Julianutzer:innen von größerer Bedeutung sein. Beachten Sie, dass dies keine wissenschaftliche Bedeutung erfordert, sondern nur die Bedeutung als Software oder Anleitung für Julianutzer:innen.

    +
  8. +
  9. Themenvielfalt. Als Gemeinschaft schätzen wir die Vielfalt der Anwendungen. Vorschläge, die auf neue Bereiche und Felder abzielen, die die Juliagemeinschaft erweitern kann, sollten eine gewisse Anerkennung erhalten.

    +
  10. +
  11. Fundiertheit. Die Vorschläge sollten technisch solide sein. Offensichtliche Unrichtigkeiten sollten hervorgehoben und berücksichtigt werden.

    +
  12. +
  13. Einstufung. Die Kriterien werden für längere Präsentationen strenger sein.

    +
  14. +
+

Begutachtungsprozess

+ +

Gutachterkommentare

+

Jede Bewertung sollte einen Kommentar enthalten, der die vergebene Punktzahl rechtfertigt. Ein Kommentar könnte zum Beispiel so lauten:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/cfp_es/index.html b/previews/PR609/2022/cfp_es/index.html new file mode 100644 index 000000000..ef9fa1268 --- /dev/null +++ b/previews/PR609/2022/cfp_es/index.html @@ -0,0 +1,351 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon2022 CFP (Call for Proposals) ¡en Español! + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon2022 CFP (Call for Proposals) ¡en Español!

+ +

Este documento está disponible en francés, alemán, chino, ... (¿Falta su idioma? Por favor mande un Pull Request)

+

Les invitamos a presentar una propuesta de plática en JuliaCon2022.

+

JuliaCon tradicionalmente ha presentado pláticas desde introductorias hasta avanzadas abarcando temas de todos los campos e involucrando desarrolladores e investigadores en la industria y la academia. Si usted ha trabajado o trabaja actualmente en o con Julia, JuliaCon es un excelente foro para compartir su trabajo con la comunidad de Julia.

+

Aceptamos contribuciones diversas, en campos como:

+ +

El criterio de inclusión más importante es que el tema sea interesante y relevante para la comunidad de Julia, incluso si corresponde a una disciplina muy específica.

+

Tipos de propuestas

+

Este año, tendremos 6 diferentos tipos de presentación. Todas las presentaciones serán pre-grabadas y entregadas a principios de julio (fecha exacta por determinarse). Por primera vez, este año aceptaremos propuestas que no sean en inglés. Léase abajo para mayor detalle.

+

Pláticas

+ +

Minisymposio

+

Un minisymposio es una "conferencia dentro de una conferencia" donde los organizadores son responsables por coordinar a los ponentes, páneles y las discusiones como vean apropiado. Se espera que los organizadores de un minisymposium provean moderadores y organizadores para las sesiones como vean apropiado. Un minisymposio tiene asignado un horario de 2 a 3 horas consecutivas. Nota: En contraste con JuliaCon2021, los minisymposios sucederán antes de la fecha oficial de la conferencia, simultáneamente a los talleres (workshops).

+

Workshops / Talleres

+

Un taller es una sesión interactiva de usualmente 3 horas donde los presentadores programan en vivo frente a la audiencia y comparten código para poder seguir sus ejemplos. Los talleres suceden antes de las fechas oficiales de la conferencia. Hemos tenido como talleres tutoriales específicos de paqueterías particulares y tutoriales para áreas en paricular. Nota: Como este es el primer año en el que JuliaCon va a aceptar propuestas de talleres en idiomas dieferentes al inglés, por favor considere mantener el nivel de los talleres a nivel introductorio si usted quiere proponer un taller en un idioma diferente al inglés.

+

Birds of a Feather / Grupos de interés

+

(N.B. En inglés la frase "birds of a feather, flock together" se usúa para grupos de personas dentro de una organización que comparten un interés. Así, en el mundo de programación hay "Birds of a Feather" que traten Machine Learning, trabajo con GPUs, ambientes gráficos, inclusión y equidad de género, etc.)

+

Las sesiones de Birds of a Feather / Grupos de interés son sesiones dedicadas para organizar discusiones alrededor de ciertos temas en específico. Por ejemplo, los desarrolladores de paquetes pueden usar este horario para organizar una junta y reclutar colaboradores, o miembros de la comunidad pueden organizar discusiones sobre materiales de enseñanza de Julia. Estas sesiones tendrán un horario de 1 hora asignado, y no serán grabadas.

+

Experiences / Experiencias

+

El propósito de este espacio es darle la bienvenida a miembros nuevos de la comunidad. Por ejemplo, se presentan temas como sus características favoritas de Julia, cómo Julia fue útil para resolver cierto problema, o un problema interesante que resolvieron con Julia en universidad, preparatoria ¡o secundaria! Éstas presentaciones duran 3 minutos cada una y serán interpuestas durante las distintas sesiones de la conferencia. No habrá tiempo asignado para contestar preguntas de la audiencia en este tipo de presentaciones. Por tanto, les invitamos cordialmente a que muestren su información de contacto, ya sea su usuario en twitter, github, o su correo, en sus diapositivas de la presentación si aceptarían preguntas offline. Especialmente buscamos a principiantes y primerizos de la comunidad de Julia para que compartan sus impresiones con la comunidad usando presentaciones de este tipo. Si usted usa Julia en sus materiales de clase, le invitamos a invitar a sus estudiantes a que envíen sus propuestas y compartan sus experiencias con la comunidad de Julia.

+
+

Cuando uno postula una propuesta de plática (abstract), se pueden seleccionar una de varias categorías.

+

Detalles de propuestas

+

Usaremos un proceso de propuestas anonimizado para evitar sesgos en el proceso de selección de ponentes. Dado que es imposible seguir protocolos de doble ciego pues las propuestas van acompañadas de código abierto, se llevan a cabo todos los esfuerzos posibles para asegurar un juicio imparcial de sus propuestas. Si usted está postulando una propuesta para una sesión en un idioma distinto al (puede ser en su propio lenguaje), por favor añada una versión de la propuesta en inglés (una traducción automatizada es aceptable). Intentaremos encontrar hablantes nativos de su idioma para revisar la propuesta, pero, en caso que no sea posible, usaremos la traducción en inglés para poder usar un mayor número de jueces. En caso que usted elija presentar en un lenguaje distinto al inglés, por favor anótelo explícitamente en el abstract (e.g. "Este taller será presentado en tailandés", ó "Esta Julia Experience será en checo.")

+

Si usted postula una propuesta de taller o de una sesión Birds-of-a-feather que cree que se beneficiaría particularmente de llevarse a cabo en cierto horario, por favor escríbalo en su propuesta. Por ejemplo, si quiere presentar una propuesta en mandarín, y que sea en un horario conveniente para los ponentes en Asia, indíquelo en la propuesta.

+

Grabaciones y materiales

+

JuliaCon 2022 será una conferencia online, y para facilitar la organización de la conferencia, le hemos pedido a los ponentes enviar una versión pre-grabada de su plática antes de la conferencia. Planeamos subir todo el material para que esté públicamente disponible después de la conferencia. Si por cualquier razón, usted prefiere que su video permanezca privado y no sea almacenado, por favor contáctenos en juliacon@julialang.org. Finalmente, le pedimos que sus materiales y grabación sean disponibles bajo una licencia de Creative Commons (por default sin uso comercial) u otra licencia de open source. Si usted quiere dar su plática en inglés y otro lenguaje, le pediremos que grabe 2 versiones de su plática, una en en cada lenguaje.

+

Transcripciones

+

Para mejorar la accessibilidad de la conferencia, le pediremos a los ponentes que incluyan subtítulos con sus propuestas. Se enviarán más instrucciones a sus correos para darle seguimiento a este proceso.

+

Publicación de actas de la conferencia

+

Este año le ofrecemos a los participantes la oportunidad de publicar su trabajo como parte de los "proceedings" o actas de JuliaCon. Las actas de una conferencia son un registro escrito de un congreso, que suele incluir resúmenes o informes de trabajos presentados por los asistentes. Se anunciarán más detalles a futuro.

+

Registro de ponentes

+

Se espera que los ponentes se registren para la conferencia. Dado que JuliaCon 2022 es totalmente virtual, el registro será gratis.

+

Cómo contactarnos

+

Nos pueden contactar con dudas, comentarios o sugerencias en juliacon@julialang.org.

+

Código de conducta para la Conferencia

+

JuliaCon tiene un compromiso con ser una experiencia positiva de conferencia para todos sus asistentes, independientemente de su género, identidad o expresión de género, orientación sexual, discapacidad, apariencia física, tamaño corporal, raza, edad, religión, u origen nacional o étnico. Alentamos las interacciones respetuosas y consideradas entre asistentes y no toleramos el acoso de participantes en la conferencia en cualquiera de sus foros, incluidos pláticas formales y discusiones entre ellas. Los participantes que violen estos acuerdos serán sancionados o expulsados de la conferencia (sin reembolso) a la discreción de los organizadores de la conferencia. Nuestra política anti-acoso se encuentra aquí.

+

Apéndice

+

Repaso de lineamientos y procesos

+

Las guías y procedimientos para la revisión de propuestas de pláticas se encuentran a continuación como referencia.

+

El rol de los jueces es asegurar la calidad del contenido presentado en JuliaCon.

+

Conflictos de interés

+

En casos de conflictos de interés, los jueces se comprometen a recusarse y señalárselo a los organizadores para encontrar un reemplazo rápidamente. Ningún juez debe emitir un juicio sobre una plática en donde sean autores o tengan cualquier otra forma o conflicto de interés. Véase las guías de PNAS sobre conflicto de interés para saber definiciones y ejemplos. Los conflictos de interés pueden incluir cualquier trabajo o autores con los cuales los jueces haya tenido "cualquier asociación la cual podría percibirse como un conflicto de interés intelectual o financiero" (guía de PNAS anterior.)

+

Código de conducta

+

Nuestros jueces se compromenten a leer y respetar el Código de Conducta en sus recomendaciones y todas sus comunicaciones durante el proceso de revisión.

+

Si una propuesta no cumple con el código de conducta, los jueces deben referirlo al comité organizador.

+

Criterios de evaluación de propuesta

+

No cumplir con los siguientes criterios disminuirá el puntaje de la propuesta.

+
    +
  1. La propuesta debe ser fácil de leer y entender para alguien no experto en el mismo tema. El título debe ser fácil de identificar por el tema al que se refiere.

    +
  2. +
  3. La propuesta debe ser técnicamente sólida hasta donde puedan entender sus jueces.

    +
  4. +
  5. El tema debe ser de interés para JuliaCon, incluyendo pero no limitado a temas listados en el Call for Proposals.

    +
  6. +
+ +
    +
  1. Si el formato requerido por los autores (experiencia, plática rápida, taller, poster, minisymposio, grupos de interés) no parece apropiado, los jueces pueden señalarlo y sugerir otro.

    +
  2. +
  3. Los usos de Julia dentro de ambientes comericales son de interés para la conferencia. En particular, la retroalimentación en el desarrollo de productos por medio de Julia y su ecosistema son bienvenidos. Sin embargo, las pláticas y posters no son adecuados para la promoción de productos.

    +
  4. +
+

Criterios de calificación

+

En cada uno de los siguientes criterios se asignarán calificaciones del 1 al 5:

+
    +
  1. Aplicabilidad para la comunidad de Julia. ¿Estarán interesados los usuarios de Julia en ésta plática por sus métodos o resultados? Las propuestas con mayor calificación deberían ser de interés para usuarios de Julia.

    +
  2. +
  3. Contribuciones a la comunidad. ¿Esto es un nuevo paquete para la comunidad? Se asignará una mayor calificación a las propuestas con código o ideas que los demás puedan usar.

    +
  4. +
  5. Claridad. ¿Cuál es el propósito de esta plática? ¿Qué aprenderá la gente? Las propuestas con mayor calificación deberían tener propósitos claros.

    +
  6. +
  7. Impacto en la comunidad. ¿Esta propuesta puede cambiar la manera que muchos otros usuarios usen Julia o su ecosistema? Las propuestas con mayor calificación deberían ser más significantes para usuarios de Julia. Observemos que esto no significa impacto científico, sólo impacto como software o tutorial a usuarios de Julia.

    +
  8. +
  9. Diversidad de temas. Como comunidad alentamos la diversidad de propuestas. Las propuestas que traigan temas o áreas nuevas para la comunidad de Julia tendrán mayor calificación.

    +
  10. +
  11. Solidez. Las propuestas deben ser técnicamente sólidas. Errores profundos deben ser señalados y tomados en cuenta.

    +
  12. +
  13. Clasificación. Los criterios serán más estrictos para presentaciones más largas.

    +
  14. +
+

Proceso de revisión

+ +

Comentarios de revisión

+

Cada revisión debe incluir un comentario que justifique la calificación asignada. Por ejemplo, un comentario podría ser:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/cfp_fr/index.html b/previews/PR609/2022/cfp_fr/index.html new file mode 100644 index 000000000..0be3cb8da --- /dev/null +++ b/previews/PR609/2022/cfp_fr/index.html @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Appel à communications JuliaCon 2022 + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Appel à communications JuliaCon 2022

+

L'appel à communications se terminera le [TBD]

+

Nous vous invitons à soumettre vos propositions d'interventions à JuliaCon 2022.

+

La conférence offre typiquement un panel d'interventions de niveau débutant à confirmé, dans des domaines divers, assurées par des personnes issues du monde de la recherche, du développement logiciel et de l'industrie. Si vous avez travaillé sur Julia, JuliaCon est la conférence la plus adaptée pour diffuser vos travaux dans la communauté.

+

Pour vous faire une idée des présentations des années précédentes, vous pouvez consulter les programmes et interventions des éditions antérieures (2014, 2015, 2016, 2017, 2018, 2019, 2020, et 2021).

+

La conférence est potentiellement intéressée par tous les domaines de recherche autour de et utilisant Julia, notamment :

+ +

La considération principale pour l'évaluation des propositions est l'intérêt potentiel pour la communauté Julia.

+

Catégories d'interventions

+

Cette année, 6 différentes catégories d'interventions sont accessibles. Lors de la soumission d'une proposition, plusieurs catégories d'interventions peuvent être suggérées. Toutes les interventions devront être préenregistrées et soumises début juillet (la date exacte sera communiquée ultérieurement). Les sessions d'échanges de groupe et les ateliers se tiendront en direct sans enregistrement. Pour la première fois, JuliaCon acceptera cette année des propositions d'intervention en langue non anglaise (voir ci-dessous).

+

Présentations orales

+

Les présentations orales servent à partager vos travaux avec la communauté Julia, qu'ils soient liés à du développement logiciel, de la recherche ou des applications à un domaine spécifique.

+ +

Cette année, vous pouvez choisir de donner votre intervention en anglais, une autre langue ou les deux.

+

Minisymposia

+

Un minisymposium est une conférence dans la conférence, pour laquelle les personnes chargées de l'organisation peuvent planifier les intervenant·e·s, panels et discussions à leur guise. L'équipe d'organisation d'un minisymposium doit proposer un modérateur ou une modératrice pour la session. Un minisymposium occupe deux à trois heures selon les possibilités de la conférence. Note : contrairement à JuliaCon 2021, en 2022 les minisymposia auront lieu avant le début officiel de la conférence, avec les ateliers.

+

Ateliers

+

Un atelier est une session interactive de deux à trois heures orientée vers la pratique, durant laquelle du code source est écrit et partagé en direct avec le public pour lui permettre de suivre facilement l'exposé. Les ateliers auront lieu en amont du début officiel de la conférence. Ils peuvent porter sur un package en particulier ou sur un domaine d'application. Note : 2022 est la première édition de JuliaCon proposant des ateliers non anglophones. Si vous souhaitez proposer un atelier dans une langue hors anglais, concevez-le de façon accessible pour un niveau débutant.

+

Posters virtuels

+

JuliaCon 2022 ayant lieu complètement en ligne, les personnes présentant un poster n'ont besoin de l'imprimer sur papier. À la place, il leur est demandé de fournir un enregistrement de trois minutes sur leur sujet. Ces contenus seront ensuite diffusés dans des salons de chat dédiés, où les participant·e·s pourront venir visionner les vidéos et discuter du sujet.

+

"Qui se ressemble s'assemble" (Birds of a Feather)

+

Les sessions Birds of a Feather permettent des discussions en plus petit comité autour d'un sujet spécifique. Par exemple, elles peuvent servir aux gestionnaires d'un package pour rencontrer / recruter des collaborateurs et collaboratrices. Des membres de la communauté peuvent aussi les utiliser pour échanger sur l'enseignement de Julia ou les initiatives en faveur de la diversité. Ces sessions dureront une heure, et ne seront pas enregistrées.

+

Retours d'expérience

+

L'objectif des retours d'expérience est d'accueillir de nouveaux membres dans la communauté Julia. On peut lister comme exemples de sujets vos fonctionnalités préférées du langage, comment Julia vous a aidé à résoudre un certain type de problèmes, ou plus généralement, comment vous avez intégré Julia à vos outils et processus. Ces présentations durent trois minutes chacune et seront intégrées à travers toutes les sessions au cours de la conférence. Nous vous invitons à ajouter vos coordonnées (pseudo Twitter, GitHub, courriel) sur les slides si vous souhaitez recevoir des questions, puisqu'il n'y aura pas de temps d'échange dédié après la diffusion de votre présentation. Nous encourageons particulièrement les personnes qui viennent de rejoindre la communauté à partager leurs impressions en utilisant ce format. Si vous enseignez et utilisez Julia dans vos cours, nous vous encourageons à inviter vos étudiants à proposer leurs retours d'expériences.

+

Détails sur les soumissions

+

Nous utilisons un processus de revue en simple aveugle (l'identité des reviewers est inconnue à la personne qui soumet une proposition), ceci afin de favoriser la sincérité des commentaires. Bien qu'il soit difficile d'imposer un processus de revue en double aveugle (puisque la plupart des soumissions doivent contenir un lien vers du code public open source), tous les efforts seront mis en oeuvre pour garantir une évaluation impartiale. Si vous soumettez une proposition en langue non anglaise, vous pouvez utiliser le langage de votre choix. En complément, veuillez soumettre une traduction en anglais de votre proposition (une traduction automatique est acceptable). Nous tenterons systématiquement de trouver des personnes maîtrisant la langue choisie pour évaluer au mieux votre proposition. Cependant, si cela s'avère impossible, nous utiliserons la version en anglais afin d'agrandir l'ensemble des reviewers. Si vous choisissez de présenter dans une langue non anglaise, veuillez l'indiquer dans l'abstract directement ("cet atelier sera présenté en tchèque" ou "je donnerai cette présentation en espagnol").

+

Si vous soumettez un atelier ou une session Birds of a Feather qui pourrait bénéficier d'un horaire spécifique, merci de le mentionner dans votre proposition. Par exemple, si vous souhaitez présenter en mandarin, il peut être préférable de viser une plage horaire confortable pour les personnes qui participent depuis l'Asie. Merci de l'indiquer dans l'abstract. il peut être préférable de trouver une plage horaire pratique pour l'audience participant depuis l'Asie, indiquez-le dans l'abstract.

+

Enregistrements et supports

+

JuliaCon 2022 sera complètement en ligne, et pour faciliter l'organisation de la conférence, nous demandons que toutes les présentations soient pré-enregistrées avant la conférence. L'ensemble de ce contenu sera rendu public après la conférence. Si, pour une raison quelconque, vous ne souhaitez pas que votre enregistrement soit diffusé après la conférence, contactez-nous sur juliacon@julialang.org. Nous vous demandons également de rendre vos documents et enregistrements accessibles sous une licence Creative Commons (default: no commercial reuse) ou une autre license open source. Si vous souhaitez donner votre présentation en anglais et une autre langue, nous vous demanderons d'envoyer les deux versions enregistrées.

+

Transcriptions vidéo

+

Pour améliorer l'accessibilité de la conférence, nous vous demanderons d'accompagner votre vidéo d'une transcription écrite. Restez attentif à vos courriels pour les détails sur le processus de soumission.

+

Publication d'articles de conférence

+

Nous offrons la possibilité aux personnes qui présentent de soumettre également leurs travaux sous forme d'articles de conférence dans les publications de proceedings de la JuliaCon. D'autres informations suivront.

+

Inscription

+

Les personnes qui interviennent doivent également s'inscrire pour participer à la conférence, qui sera en ligne et entièrement gratuite.

+

Nous contacter

+

Nous sommes joignables à l'adresse juliacon@julialang.org pour répondre à vos questions ou préoccupations.

+

Code de Conduite de la conférence

+

JuliaCon s'engage à proposer une expérience positive pour toute personne participante sans différence de genre, d'expression ou d'orientation sexuelle, de handicap, d'apparence physique, de morphologie, de race, d'âge, de religion, de nationalité ou d'origine ethnique. Nous encourageons fortement les interactions respectueuses et prévenantes entre les personnes qui participent, et ne tolérerons aucune forme de harcèlement. Par exemple, les propos ou images à caractère sexuel ou offensant ne sont appropriés dans aucun des lieux virtuels et espaces de discussion, ni dans les sessions formelles, ni dans les moments d'échange entre les sessions. Les personnes ne respectant pas ces conventions pourront être sanctionnées ou expulsées de la conférence à la discrétion de l'équipe organisatrice. Notre politique anti-harcèlement peut être consultée ici : https://juliacon.org/2022/coc/.

+

Annexes

+

Processus et consignes pour la revue

+

Vous trouverez ci-dessous le guide de revue et d'évaluation des propositions qui sera utilisé à la réception de votre soumission.

+

Le rôle des reviewers est d'assurer la qualité du contenu présenté à JuliaCon.

+

Conflit d'intérêt

+

Dans tout cas de conflit d'intérêt parmi les reviewers d'une soumission, la personne concernée s'engage à se retirer du processus d'évaluation et à le signaler à l'équipe organisatrice pour trouver rapidement un remplacement. il est interdit aux reviewers de consulter l'évaluation d'une proposition à laquelle ils ou elles ont contribué, ou bien qui présente une autre forme de conflit d'intérêt. Se référer au guide PNAS https://www.pnas.org/page/authors/conflict-of-interest pour des définitions et exemples. En particulier, les conflits d'intérêts incluent tout travail et toute personne avec qui existe "une association qui présente ou peut être perçue comme un conflit d'intérêt intellectuel ou financier" (cf guide PNAS ci-dessus).

+

Code de Conduite

+

Les reviewers s'engagent à lire et respecter le Code de Conduite de la conférence dans leurs évaluations et communications, tout au long du processus de revue. Si un abstract soumis n'est pas conforme au Code de Conduite, il est nécessaire d'en informer le comité d'organisation.

+

Critères d'évaluation

+

Une proposition ne remplissant pas l'un des critères suivants se verra attribuer un score plus bas :

+
    +
  1. L'abstract doit être facile à lire et à comprendre pour quelqu'un ne travaillant pas dans le même domaine. Le titre doit permettre d'identifier le sujet de l'intervention.

    +
  2. +
  3. L'abstract doit être scientifiquement correct, pour autant que les reviewers puissent en juger.

    +
  4. +
  5. Le sujet doit être un des sujets d'intérêt pour JuliaCon, ce qui inclut notamment (mais pas uniquement) les domaines listés plus haut :

    +
  6. +
+ +
    +
  1. Si le format demandé lors de la soumission (retour d'expérience, présentation longue ou courte, atelier, poster, minisymposium, Birds of a Feather) ne semble pas approprié au contenu présenté, les reviewers peuvent le signaler et en suggérer un autre.

    +
  2. +
  3. Les études de cas concernant Julia en entreprise sont généralement intéressantes pour la conférence. Plus spécifiquement, les retours d'expérience sur le développement de produits utilisant ou interagissant avec Julia et son écosystème sont bienvenus. Cependant, ils ne doivent pas donner lieu à du placement de produit.

    +
  4. +
+

Barème pour l'évaluation

+

Les critères ci-dessous seront évalués de 1 à 5 pour chaque soumission :

+
    +
  1. Applicabilité à la communauté Julia. Les personnes utilisant le langage seront-elles intéressées par cette contribution, que ce soit pour ses méthodes ou pour ses résultats ? Les scores les plus hauts doivent traduire une large applicabilité à travers les centres d'intérêt de la communauté.

    +
  2. +
  3. Apport à la communauté. S'agit-il d'un nouveau package, d'une nouvelle idée utilisable directement ? Les scores les plus hauts doivent être attribués à des travaux que d'autres peuvent utiliser.

    +
  4. +
  5. Clarté. Quel est l'objectif de l'intervention ? Que va apprendre l'audience ? Les propositions avec des scores hauts doivent être claires dans leurs objectifs.

    +
  6. +
  7. Importance pour la communauté. Est-ce que la contribution peut changer la façon dont les autres utiliseront Julia ou son écosystème de packages ? Des scores hauts doivent correspondre à une plus grande importance pour la communauté. À noter, l'importance ici n'est pas nécessairement scientifique, mais peut désigner la valeur du logiciel ou du tutoriel proposé pour les utilisateurs de Julia.

    +
  8. +
  9. Diversité des sujets. En tant que communauté, nous valorisons la diversité des applications. Les propositions visant de nouveaux domaines et disciplines qui étendent la communauté Julia doivent être valorisées.

    +
  10. +
  11. Validité. Les propositions doivent être techniquement et scientifiquement correctes. Des erreurs évidentes doivent être soulignées et prises en compte.

    +
  12. +
  13. Types de proposition. Les exigences seront plus élevées pour les formats plus longs.

    +
  14. +
+

Processus de revue

+ +

Toutes les personnes ayant proposé un atelier satisfaisant la qualité attendue seront contactées pour construire un programme d'ateliers diversifié et cohérent basé sur ces propositions.

+ +

Commentaires de revue

+

Chaque évaluation doit inclure un commentaire qui justifie le score attribué à la proposition. Voici des exemples de commentaires pertinents :

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/cfp_pt/index.html b/previews/PR609/2022/cfp_pt/index.html new file mode 100644 index 000000000..3b8485d37 --- /dev/null +++ b/previews/PR609/2022/cfp_pt/index.html @@ -0,0 +1,380 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 CFP + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 CFP

+

Este documento está traduzido em francês, alemão, espanhol, russo, chinês simplificado, ... (Falta o seu idioma? Envie um PR)

+

As inscrições para palestrantes na JuliaCon 2022 estão abertas e aguardamos a sua proposta.

+

A JuliaCon tradicionalmente apresenta palestras que vão do introdutório ao avançado em tópicos relacionados a vários campos, com desenvolvedores e pesquisadores tanto da academia quanto da indústria. Se você já trabalhou com Julia, a JuliaCon é o melhor meio de compartilhar o seu trabalho com a comunidade do Julia.

+

Para ter noção das apresentações em anos anteriores, veja os nossos programas e gravações: (2014, 2015, 2016, 2017, 2018, 2019, 2020, and 2021).

+

Nós estamos interessados em escutar sobre todos os tópicos que tem relação com Julia. Exemplos deste tipo de tópico são:

+ +

O critério mais importante é se o tópico pode ser interessante para a comunidade do Julia.

+

Tipos de proposta

+

Esse ano teremos 6 tipos diferentes de proposta que podem ser submetidas. Todas as apresentações serão pré-gravadas e enviadas até o começo de julho (a data exata será anunciada posteriormente). Espera-se que Oficinas e Grupos de Interesse sejam ao vivo. Pela primeira vez aceitaremos propostas de trabalho que não estão em Inglês. Veja abaixo para mais detalhes.

+

Palestras

+

Esse tipo é dedicado primariamente ao compartilhamento de trabalhos técnicos com a comunidade do Julia, sejam trabalhos relacionados ao desenvolvimento de software, pesquisa ou aplicação em algum campo específico.

+ +

Minissimpósios

+

Um minissimpósio é uma "conferência dentro de uma conferência", onde os organizadores são responsáveis por agendar palestrantes, painéis e discussões como acharem melhor. Espera-se que os organizadores de um minissimpósio forneçam um moderador ou presidente de mesa (chair) para a sessão. Um minissimpósio é alocado na agenda em um espaço de 2 ou 3 horas. Nota: Em contraste com a JuliaCon 2021, os minissimpósios serão agendados antes do começo oficial da conferência, juntamente aos minicursos.

+

Minicursos

+

Um minicurso é usualmente uma sessão interativa de 3 horas, onde o apresentador programa ao vivo na frente da audiência e compartilha o código com o público para facilitar o acompanhamento. Os minicursos ocorrerão antes do começo oficial da conferência. Exemplo de tópicos para esse tipo de evento incluem tutoriais de pacotes específicos ou tutorials de um tópico específico. Nota: Como esse é o primeiro ano em que a JuliaCon aceitará propostas de minicursos em várias línguas, então pedimos que mantenham o nível do minicurso mais próximo do introdutório se a língua do minicurso não for o Inglês.

+

Pôsteres Virtuais

+

Como a JuliaCon 2022 será inteiramente virtual esse ano, então os apresentadores desse tipo não prepararão pôsteres físicos. Ao invés disto, pedimos que forneçam uma gravação de 3 minutos do seu tópico proposto. Os vídeos serão usados em salas de bate-papo dedicadas à exibição dos pôsteres virtuais, onde o público poderá assistir o vídeo e participar da conversa sobre ele ou o tópico apresentado.

+

Grupos de Interesse (Birds of a Feather)

+

As sessões de grupos de interesse são sessões para discussões organizadas em torno de tópicos específicos. Por exemplo, os mantenedores de pacotes podem usar essas sessões para organizar um encontro e recrutar contribuidores, ou membros da comunidade podem organizar grupos de discussão sobre recursos de ensino para o Julia ou contratação de diversidade. Essas sessões serão alocadas na agenda em um espaço de 1 hora e não serão gravadas.

+

Experiências

+

O objetivo desse tipo é receber os novos membros da comunidade. Exemplo de tópicos incluem a sua funcionalidade favorita no Julia, como o Julia te ajudou a resolver um determinado problema, um problema interessante que você resolveu em uma aula na universidade, ou, de modo mais geral, como o Julia tem sido uma boa adição para o seu fluxo de trabalho. Essas apresentações durarão 3 minutos e serão distribuídas entre diferentes sessões durante a conferência. Nós encorajamos que o apresentador mostre informações de contato como o nome de usuário no Twitter ou GitHub, ou seu endereço de e-mail nos seus slides se estiver aberto a receber perguntas, pois não será alocado tempo para perguntas do público. Nós somos especialmente receptivos aos novos membros compartilharem suas impressões com a comunidade usando esse tipo. Se você é um professor usando Julia nas suas aulas, nós encorajamos que convide os seus estudantes para aplicar neste tipo e compartilhar essas experiências com a comunidade do Julia.

+
+

Ao submeter sua proposta (resumo), você pode selecionar várias categorias para avaliação.

+

Detalhes da aplicação

+

Nós usamos um processo de aplicação anonimizada para evitar viés de seleção relacionado ao candidato. Apesar de ser impossível forçar um duplo cego, dado que a maior parte das aplicações deve conter links para códigos-fonte abertos, todo o esforço será feito para uma avalição imparcial. Se você está submetendo uma proposta para sessão em outra língua que não em inglês, então a submissão também pode ser na mesma língua escolhida. Adicionalmente, por favor sempre forneça uma versão em inglês da sua proposta (mesmo uma tradução de máquina está bom!). Nós iremos sempre buscar falantes nativos da língua de escolha para avaliar a proposta. No entanto, caso isso não seja possível, nós utilizaremos a tradução em inglês de modo a submeter para um grupo maior de avaliadores. Se escolher apresentar em uma língua diferente do Inglês, por favor mencione isso no próprio resumo (e.g. "Essa oficina será apresentada em Tailandês", ou "Eu farei uma exposição de Experiências em Tcheco").

+

Se você está aplicando uma oficina ou grupo de interesse que acredita se beneficiar de ocorrer em um horário determinado, por favor indique isso na sua proposta. Por exemplo, se você quiser apresentar uma oficina em Mandarim, e quer que ocorra em um horário conveniente para o público na Ásia, indique isso no seu resumo.

+

Gravações e materiais

+

A JuliaCon 2022 será uma conferência online, e para facilitar o planejamento da conferência, nós pedimos aos nossos apresentadores que submetam uma versão gravada da apresentação antes da conferência, e planejamos tornar todo o material gravado acessível ao público após a conferência. Se, por alguma razão, você preferir que o seu vídeo permaneça privado, por favor contate-nos em juliacon@julialang.org. Finalmente, também pedimos que coloque o seu material e gravação disponíveis com licença Creative Commons (padrão: sem reuso comercial) ou outra licença de código aberto. Se você desejar que a sua apresentação seja em inglês e outra língua, então pedimos que submeta duas versões da gravação (uma em cada língua).

+

Transcrições

+

De modo a melhorar a acessibilidade, nós exigimos transcrições como parte da aplicação. Fique de olho no e-mail usado na aplicação para maior detalhes sobre o processo.

+

Publicações nos Anais

+

Esse ano nós oferecemos a chance de ter o seu trabalho publicado como parte dos anais da JuliaCon. Mais detalhes em breve.

+

Registro para apresentadores

+

Nós esperamos que os apresentadores se registrem para a conferência. Note que como a JuliaCon 2022 é inteiramente online, então o registro será gratuito.

+

Contatos

+

Você pode nos contatar com questões e comentários em juliacon@julialang.org.

+

Código de Conduta da Conferência

+

A JuliaCon é dedicada a prover uma experiência positiva para todos os atendentes, sem discriminação de gênero, identidade ou expressão de gênero, orientação sexual, capacidade, aparência física, tamanho, etnia, idade, religião ou origem nacional. Nós encorajamos interações entre o público que sejam respeitosas e com consideração pelo bem-estar do outro, de modo que não toleramos qualquer tipo de assédio aos participantes. Por exemplo, linguagem ou menções de cunho sexual não são apropriadas em qualquer espaço da conferência, incluindo palestras e sessões de conversa entre eventos. Participantes que violem esse padrão podem ser sancionados ou expulsos da conferência (sem reimbolso) pelos organizadores. Nossa política anti-assédio pode ser vista aqui.

+

Apêndice

+

Processo de avaliação

+

Para referência, abaixo se encontram os guias e processos de avaliação que os revisores empregarão para a seleção.

+

O paper dos revisores é garantir a qualidade do conteúdo apresentado na JuliaCon.

+

Conflito de interesses

+

Em qualquer caso de conflito de interesse, o revisor alegará sua suspeição e sinalizará para os demais organizadores de modo a encontrar um substituto rapidamente. Nenhum revisor deve avaliar uma aplicação na qual seja autor ou tenha outra forma de conflito de interesse. Veja o guia PNAS para mais informações. Conflitos de interesse incluem qualquer trabalho ou autores com os quais o revisor possua "qualquer associação que seja percebida como conflito de interesse de ordem intelectual ou financeiro" (ver guia PNAS acima).

+

Código de Conduta

+

O revisor se compromete a ler e respeitar o Código de Conduta da conferência na avaliação e em toda comunicação durante o processo de seleção.

+

Se um resumo submetido não estiver de acordo com o Código de Conduta, o revisor deve remetê-lo ao comitê dos organizadores.

+

Critérios para a avaliação

+

Não alcançar os critérios abaixo resultará em notas menores.

+
    +
  1. O resumo deve ser fácil de ler e compreensível para alguém que não trabalhe no mesmo tópico. O título deve tornar fácil de identificar o tópico abordado pelo conteúdo.

    +
  2. +
+
    +
  1. O resumo apresentado deve ser tecnicamente correto até onde for capaz de avaliar dado o conhecimento do revisor.

    +
  2. +
+
    +
  1. O tema deve ser de interesse para a JuliaCon, incluindo, mas sem se limitar, aos tópicos listados na chamada de propostas.

    +
  2. +
+ +
    +
  1. Se o tipo de apresentação pedido pelo autor (experiência, palestra, minicurso, pôster, minissimpósio, grupo de interesse) não parecer apropriado, o revisor pode sinalizar ao candidato e sugerir outro tipo.

    +
  2. +
+
    +
  1. Casos de uso do Julia em ambientes da iniciativa privada são geralmente de interesse da conferência. Em particular, conteúdo sobre o desenvolvimento de produtos usando ou interagindo com o Julia e seu ecossistema são bem-vindos. No entanto, palestras e pôsteres não são lugares adequados para propaganda ou venda de produtos.

    +
  2. +
+

Critérios de pontuação

+

A seguir estão os critérios pelos quais serão atribuidas as notas (1-5):

+
    +
  1. Aplicabilidade para a comunidade Julia. Os usuários do Julia estariam interessados nessa apresentação pelos métodos ou seus resultados? Propostas de interesse amplo dos usuários do Julia devem receber maiores notas.

    +
  2. +
+
    +
  1. Contribuições para a comunidade. É um novo pacote para as pessoas usarem? Pospostas de código ou ideias que outros podem usar devem receber maiores notas.

    +
  2. +
+
    +
  1. Clareza. Qual a finalidade dessa apresentação? O que as pessoas vão aprender? Propostas que sejam claras quanto ao seu objetivo devem recerber maiores notas.

    +
  2. +
+
    +
  1. Significância para a comunidade. Isso é algo que mudará a forma de várias outras pessoas usarem Julia ou seu ecossistema de pacotes? Propostas mais significantes para os usuários do Julia devem recerber maiores notas. Note que isso não requer significância científica, apenas significância como software ou tutorial para os usuários do Julia.

    +
  2. +
+
    +
  1. Diversidade de tópico. Como uma comunidade nós valorizamos a diversidade de aplicações. Poropostas que são voltadas a novas áreas e campos para a comunidade do Julia expandir devem receber maiores notas.

    +
  2. +
+
    +
  1. Corretude. Propostas devem ser tecnicamente corretas. Erros gritantes devem ser destacados e levados em consideração.

    +
  2. +
+
    +
  1. Classificação. Os critérios serão mais estritos para apresentações mais longas.

    +
  2. +
+

Processo de revisão

+ + + + + + +

Comentários de revisão

+

Cada revisão deve incluir um comentário que justifica as notas que foram dadas. Por exemplo, um comentário pode ser como:

+ + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/cfp_ru/index.html b/previews/PR609/2022/cfp_ru/index.html new file mode 100644 index 000000000..59a11588a --- /dev/null +++ b/previews/PR609/2022/cfp_ru/index.html @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 ПДПЗ + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 ПДПЗ

+

*Этот документ доступен на английском, французском, китайском, русском и других языках. Если вашего языка нет, то сделайте перевод и создайте запрос на добавление в репозиторий.

+

Приглашаем вас подать заявку для выступления на JuliaCon 2022.

+

На JuliaCon традиционно проводятся доклады от начального до продвинутого уровня на темы использования языка Julia в различных предметных областях, где авторами являются разработчики и исследователи из промышленности и научных кругов. Если вы уже работали над Julia проектами, то JuliaCon это лучшее место, где можно поделиться своей работой с сообществом Julia.

+

Для того чтобы получить представление о том, как проходит конференция, посмотрите программы и записи докладов прошлых лет: 2014, 2015, 2016, 2017, 2018, 2019, 2020 и 2021.

+

Мы заинтересованы в том, чтобы охватить как можно большее количество тем связанных с Julia. Например, такими темами могут быть:

+ +

Основным критерием выбора темы является то, что она должна быть интересна сообществу Julia.

+

Категории заявок

+

В этом году мы предлагаем 6 различных категорий по которым вы можете подать заявку. Презентации должны быть предварительно записаны и отправлены до начала июля (точная дата будет объявлена позже). Практикумы и семинары для групп по интересам (Birds of Feather) будут проводиться дистанционно. В этом году впервые будут приниматься заявки на других языках, помимо английского. Детали смотрите ниже.

+

Выступления

+

Эта категория предназначена для того, чтобы поделиться техническими деталями своей работы с сообществом Julia. Доклады могут быть посвящены разработке программного обеспечения, исследовательской работе или прикладному применению Julia в каких-либо специальных областях.

+ +

Минисимпозиумы

+

Минисимпозиум это "конференция внутри конференции" на которой организаторы отвечают за составление расписания выступающих, проведение свободной дискуссии и обсуждения по своему усмотрению. Организаторы минисимпозиумов должны предоставить модератора или председателя сессии. На минисимпозиум выделяется от двух до трех часов. Примечание: В отличие от JuliaCon 2021, минисимпозиумы будут проводиться до официального начала самой конференции, одновременно с практикумами.

+

Практикумы (Workshops)

+

Практикум обычно представляет собой трехчасовую сессию, где выступающий программирует вживую перед аудиторией и делится кодом с присутствующими, чтобы им было легче следить за происходящим. Практикумы проходят до официального начала конференции. В качестве тем практикума может быть, например, обучение по использованию каких-либо библиотек или по применению Julia для решения задач в какой-либо специальной области. Примечание: поскольку на JuliaCon впервые принимаются заявки на проведение практикумов не на английском языке, то, пожалуйста, если вы хотите провести практикум не на английском языке, то разрабатывайте их для участников, чей уровень знания Julia не выше начального.

+

Виртуальные постеры

+

Так как JuliaCon 2022 проводится полностью в онлайн режиме, то от докладчиков не требуется подготовка физических постеров. Вместо этого, необходимо предоставить 3-х минутную запись видео по теме постера. Эти видео будут доступны в выделенных чат-комнатах, где присоединившиеся участники могут просмотреть видео и обсудить предложенную тему.

+

Группы по интересам (Birds of a Feather)

+

Сессии групп по интересам представляют собой отдельные секции для обсуждений по какой-либо выделенной теме. К примеру, ведущие разработчики пакетов могут использовать это время для организации встреч с пользователями пакетов и привлечения новых разработчиков. Члены сообщества Julia могут также организовывать дискуссионные группы по обсуждению учебно-методических материалов или методик подачи материала в целом. На эти секции выделяется один час и они не будут записываться на видео.

+

Опыт использования

+

Цель этой части конференции заключается в том, чтобы дать возможность новым членам сообщества поделиться своим опытом использования Julia. В этой секции, можно рассказать о наиболее понравившихся особенностях Julia, или о том как удалось решить конкретную проблему с помощью Julia. Можно рассказать об интересной задаче, которую вы решили в классе или о том, как именно Julia стала хорошим добавлением к реальному рабочему процессу. На эти выступления выделяется три минуты и они будут распределены между остальными частями конференции. Рекомендуем докладчикам добавлять на слайды свою контактную информацию, включая QR-коды с ней, ники в твиттере, на гитхабе или е-мейлы в том случае, если слушатели захотят продолжить обсуждение в дальнейшем, так как времени для ответов на вопросы не предусмотрено. Мы также просим поделиться своими впечатлениями людей, которые лишь недавно начали использовать Julia. Если вы преподаватель, использующий Julia в учебном процессе, мы также рекомендуем пригласить ваших студентов для того, чтобы они могли поделиться своим опытом и впечатлениями со всем сообществом Julia.

+

При заполнении заявки (аннотации), можно выбрать несколько категорий сразу.

+

Правила подачи заявок

+

Мы используем анонимизированный процесс отбора заявок для того, чтобы избежать предвзятостей по отношению к заявителю. Несмотря на то, что использование двойного слепого отбора невозможно, поскольку большинство предоставляемых материалов содержат ссылки на публичные репозитории открытого кода, мы приложим максимальные усилия, чтобы обеспечить беспристрастное рассмотрение заявок. Вы можете подать заявку на том языке, который предпочитаете. Но, пожалуйста, в этом случае предоставьте и английскую версию (машинный перевод нас полностью устроит!). Для рассмотрения такой заявки мы обязательно постараемся найти рецензентов, которые свободно говорят на вашем языке. Однако, если это по какой-либо причине не получится сделать, то нам понадобится использовать английскую версию вашей заявки, чтобы передать её на рассмотрение англоязычным рецензентам. Если вы хотите использовать язык отличный от английского, пожалуйста, добавьте информацию об этом в аннотацию (например "Практикум будет проводиться на русском языке" или "Я поделюсь своим опытом использования Julia на чешском языке").

+

Если вы подаёте заявку на практикум или сессию группу по интересам и полагаете, что сессию лучше проводить в какое-то определённое время, то пожалуйста отметьте это отдельно в вашей заявке. Например, если вы хотите провести практикум на китайском языке во время, удобное для участников из Азии, то укажите это в аннотации к вашей заявке явно.

+

Видеозаписи и дополнительные материалы

+

JuliaCon 2022 будет проводиться в формате онлайн конференции, и для облегчения планирования конференции, мы просим выступающих предоставить записи выступлений заблаговременно. Все записи докладов и дополнительные материалы мы планируем опубликовать сразу после окончания конференции. Если, по какой-либо причине, вы предпочитаете, чтобы ваша запись не была общедоступной, то пожалуйста, свяжитесь с нами по электронной почте juliacon@julialang.org. Дополнительно, просим вас сделать все видеозаписи и дополнительные материалы доступными под лицензией Creative Commons (по умолчанию: повторное использование в коммерческих целях запрещено) или под любой другой лицензией с открытым исходным кодом. Если вы хотите сделать ваше выступление доступным и на английском, и на другом языке, то предоставьте записи для каждого языка отдельно.

+

Тексты докладов

+

Для того, чтобы сделать выступления доступными широкому кругу зрителей, мы просим вас предоставить тексты докладов, как часть заявки. Следите за сообщениями в своём почтовом ящике для отслеживания процесса обработки заявки.

+

Публикации материалов конференции

+

В этом году мы предлагаем желающим участникам возможность опубликовать свою работу в рамках публикации материалов конференции JuliaCon. О деталях будет сообщено позднее.

+

Регистрация докладчиков

+

Выступающие должны зарегистрироваться для участия в конференции. Так как JuliaCon 2022 будет проводиться полностью в дистанционном формате, то обращаем ваше внимание на то, что регистрация является обязательной, но бесплатной.

+

Как с нами связаться

+

С вопросами и предложениями можно обращаться на адрес электронной почты juliacon@julialang.org.

+

Нормы поведения на конференции

+

Мы нацелены на то, чтобы обеспечить положительные впечатления от конференции для всех, вне зависимости от пола, гендерной идентичности и самоидентификации, сексуальной ориентации, каких-либо неполноценностей, внешнего вида, размера тела, расы, возраста, религии, национальности или этнического происхождения. Мы приветствуем и поощряем уважительное и внимательное взаимодействие между участниками и не приемлем притеснения участников конференции в любой форме. Например, оскорбительные или сексуальные высказывания и образы неприемлемы на любом этапе проведения конференции, как на формальных выступлениях так и при общении между сессиями. Участники конференции, нарушающие эти стандарты, могут быть подвергнуты санкциям и исключены из конференции (без возврата денег) по усмотрению организаторов конференции. С кодексом норм поведения можно ознакомиться здесь.

+

Приложение

+

Рекомендации и процесс рассмотрения

+

Для справки, ниже приводятся рекомендации участникам и рабочие процессы, которые будут использоваться рецензентами при рассмотрении вашей заявки.

+

Задача рецензентов заключается в том, чтобы обеспечить высокий уровень выступлений, представленных на JuliaCon.

+

Конфликт интересов

+

В случае любого конфликта интересов, рецензент обязан самоустраниться от процесса рассмотрения заявки и должен сообщить организаторам о том, чтобы они максимально быстро нашли замену. Рецензент не должен рассматривать заявку на любое выступление в том случае, если он является автором/соавтором или находится в состоянии конфликта интересов с автором в любой другой форме. Определение и примеры конфликта интересов можно найти в PNAS guidelines. Конфликт интересов подразумевает также выполнение работ или отношения с авторами, с которыми рецензент имеет "любую форму отношений, интерпретируемых как финансовый или интеллектуальный конфликт интересов" (см. упомянутые выше "PNAS guidelines").

+

Нормы поведения

+

Рецензент обязуется прочитать и уважать кодекс норм поведения конференции при проведении оценки заявки и во время любых последующих коммуникаций в процессе рассмотрения.

+

Если предоставленная заявка не соответствует кодексу норм поведения, то рецензент должен уведомить об этом оргкомитет.

+

Критерии рассмотрения заявки

+

Несоответствие этим критериям приведёт к снижению оценки заявки.

+
    +
  1. Аннотация должна быть легко читаемой и понятной тем, кто не работает в той же области. Название должно давать возможность легко понять тему, которой посвящено содержание заявки.

    +
  2. +
  3. Предоставленная заявка должна быть технически обоснованной с точки зрения рецензента.

    +
  4. +
  5. Тема выступления должна представлять интерес для JuliaCon. Примером могут служить темы, указанные в Приглашении для подачи заявлений

    +
  6. +
+ +
    +
  1. Если формат запрошенный автором (опыт использования, блицвыступление, выступление, практикум, постер, минисимпозиум, группа по интересам) не является подходящим, то рецензент должен его об этом уведомить и предложить более подходящий вариант.

    +
  2. +
  3. Примеры использования Julia в корпоративной среде в целом представляют интерес для конференции. В частности, приветствуется обратная связь по разработке продуктов с использованием Julia и её экосистемы. Однако, выступления и постеры не должны быть использованы для рекламы своих продуктов.

    +
  4. +
+

Критерии выставления оценок

+

Оценки (1-5) выставляются в соответствии со следующими критериями:

+
    +
  1. Применимость для сообщества Julia. Будут ли интересны пользователям Julia методики или результаты, освещаемые в выступлении? Заявки с высокими баллами должны быть интересны широкому кругу пользователей Julia.

    +
  2. +
  3. Вклад в сообщество. Например, рассказывается ли о новом пакете, который может использоваться другими людьми? Заявки с высокими баллами должны быть о коде или идеях, которыми могут пользоваться остальные пользователи.

    +
  4. +
  5. Понятность. В чем цель данного выступления? Чему научатся люди? Заявки с высокими баллами должны иметь четко сформулированную цель выступления.

    +
  6. +
  7. Значимость для сообщества. Будет ли рассказываться о чем-то, что значимо изменит работу людей с Julia или экосистему пакетов? Заявки с высокими баллами должны быть значимы для пользователей Julia. Обратите внимание, что это не означает, что подразумевается научная значимость, лишь значимость с точки зрения программного обеспечения или обучения пользователей Julia.

    +
  8. +
  9. Новизна тем. Как сообщество, мы ценим разнообразие приложений Julia. Заявки, в которых рассматриваются новые сферы применения и которые позволят расширить области использования Julia, должны получить дополнительный бонус.

    +
  10. +
  11. Обоснованность. Заявки должны быть технически обоснованными. На явные нестыковки и ошибки должно быть обращено дополнительное внимание и они должны быть учтены при вынесении финальной оценки.

    +
  12. +
  13. Соответствие регламенту. Критерий применяется строже для более длинных презентаций.

    +
  14. +
+

Процесс рецензирования

+ +

Комментарии рецензентов

+

Каждая рецензия должна включать комментарий, который обосновывает выставленный балл. Например, комментарий может выглядеть следующим образом:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/cfp_tr/index.html b/previews/PR609/2022/cfp_tr/index.html new file mode 100644 index 000000000..8d0a0360f --- /dev/null +++ b/previews/PR609/2022/cfp_tr/index.html @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 CFP + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 CFP

+

*Bu doküman Fransızca, Almanca, İspanyolca, Rusça, Standart Çince ve Türkçe dillerinde bulunmaktadır. (Kendi dilinizde yoksa Çevirisini yapıp gönderebilirsiniz.)

+

Sizi JuliaCon 2022'de konuşma yapmak için bildiri göndermenizi istiyoruz.

+

JuliaCon geleneksel olarak Endüstri ve Akademide bulunan kişilerin çeşitli alanlarla ilgili konularda giriş seviyesinden ileri seviyelere kadar konuşmalar içermektedir. Daha önce Julia ile bir çalışma yaptıysanız, JuliaCon çalışmanızı Julia Komunitesi ile paylaşmak için en iyi yerdir.

+

Geçmiş yılların sunumları hakkında fikir edinmek için geçmiş programlarımıza ve kayıtlarımıza bir göz atın:(2014, 2015, 2016, 2017, 2018, 2019, 2020, and 2021).

+

Julia ile ilgili tüm konuları duymak istiyoruz. Bu tür konulara örnek olarak şunlar verilebilir:

+ +

En önemli unsur, konunun Julia topluluğu için ilginç(uygun) olup olmayacağıdır.

+

Bildiri Tipleri

+

Bu yıl, bildiri sunabileceğiniz 6 farklı türe sahip olacağız. Tüm sunumların Temmuz ayı başına kadar önceden kaydedilip sunulması beklenmektedir (kesin tarih daha sonra açıklanacaktır). Atölyelerin ve çalışma gruplarının canlı olması bekleniyor. İlk kez, bu yıl İngilizce olmayan teklifleri kabul edeceğiz. Daha fazla bilgi için aşağıya bakın.

+

Konuşmalar

+

Bu kategori, öncelikle yazılım geliştirme, araştırma veya belirli bir alandaki uygulamalarla ilgili teknik çalışmalarınızı Julia topluluğuyla paylaşmaya yöneliktir.

+ +

Mini-Sempozyum

+

Bir mini-sempozyum, organizatörlerin konuşmacıları, panelleri ve tartışmaları uygun gördükleri şekilde planlamaktan sorumlu oldukları bir "konferans içinde konferans"tır. Mini-sempozyum organizatörlerinden ayrıca oturum için bir moderatör veya başkan sağlamaları beklenir. Bir mini-sempozyuma iki ila üç saatlik bir süre tahsis edilir.Not: JuliaCon 2021'in aksine, mini-sempozyumlar atölyelerin yanı sıra konferansın resmi başlangıç tarihinden önce planlanacaktır.

+

Atölyeler

+

Atölye, genellikle sunum yapan kişinin izleyicilerin önünde kod yazdığı ve kolayca takip edebilmeleri için katılımcılarla kod paylaştığı üç saatlik etkileşimli ve uygulamalı bir oturumdur. Atölyeler konferansın resmi başlangıç tarihinden önce yapılacaktır. Bu kategorideki örnek konular, pakete özgü veya alana özgü eğitici içeriklerdir. Not: bu yıl juliacon'un ingilizce olmayan atölyeler için teklifleri kabul edeceği ilk yıl olduğundan, ingilizce olmayan bir atölye önermek istiyorsanız atölyeyi giriş seviyesinde yapmaya çalışın.

+

Sanal Afişler

+

JuliaCon2022 bu yıl tamamen çevrimiçi bir konferans olduğundan, poster sunucuları fiziksel afişler hazırlanmayacaktır. Bunun yerine, önerdikleri bildirilerin 3 dakikalık videolarını vermeleri istenecektir. Videolar daha sonra, odaya katılan katılımcıların videoyu hızlı bir şekilde izleyebileceği ve sunulan video veya konuyla ilgili sohbete katılabileceği özel sohbet odalarında kullanılacaktır.

+

Çalışma Grubu Oturumları

+

Çalışma grubu oturumları, belirli konular etrafında organize tartışmalar için ara oturumlarıdır. Örneğin, paket yürütücüleri bu zamanları katılımcılarla bir toplantı düzenlemek ve katkı sağlayan kişileri işe almak için kullanabilir veya topluluk üyeleri Julia öğretim materyalleri veya çeşitlilik-kapsayıcılık(diversity) için tartışma grupları düzenleyebilir. Bu oturumlara bir saatlik zaman dilimi tahsis edilecek ve kaydedilmeyecektir.

+

Deneyimler

+

Bu kategorinin amacı, topluluktaki yeni üyeleri ağırlamaktır. Örnek konular arasında Julia'daki en sevdiğiniz özellikler, Julia'nın belirli bir sorunu çözmenize nasıl yardımcı olduğu, bir üniversite sınıfında Julia ile çözdüğünüz ilginç bir sorun veya daha genel olarak Julia'nın iş akışınıza nasıl iyi bir katkı sağladığı sayılabilir. Bu sunumların her biri üç dakika sürecek ve konferanstaki farklı oturumlar arasına serpiştirilecektir. Sonradan gelen soruları cevaplamak adına Twitter, GitHub e-posta gibi iletişim bilgilerinizi slaytlarınızda göstermenizi öneririz, çünkü bu kategoride sorular için zaman ayrılmayacaktır. Özellikle Deneyimler kısmını kullanarak fikirlerini ve izlenimlerini toplulukla paylaşmaları için Julia'ya yeni gelenleri memnuniyetle karşılıyoruz. Akademik hayatta Julia'yı kullanan bir öğretmen veya profesörseniz, öğrencilerinizi deneyimlerini Julia topluluğuyla paylaşmak için başvurmaya davet etmenizi öneririz.

+
+

Bildirinizi gönderirken (özet olarak), değerlendirilmek üzere birden fazla kategori seçebilirsiniz.

+

Başvuru Detayları

+

Konuşmacıya karşı oluşabilecek ön yargıyı önleme amacıyla anonimleştirilmiş bir başvuru süreci uyguluyoruz. Birçok bildirinin açık kaynak kodu temelli olması sebebiyle , ikincil birinin görmemesi maalesef mümkün değil ama bildirilerin tarafsız bir şekilde incelenmesi için tüm çabaları gösteriyoruz.Eğer İngilizce dışındaki bir dilde oturum için bildirinizi gönderecekseniz, istediğiniz herhangi bir dilde gönderebilirsiniz. Ek olarak lütfen her zaman bildirinizin İngilizce bir versiyonunu hazırlayın (Otomatik altyazılar yeterli olacaktır!). Bildirinizi gözden geçirmek için her zaman seçtiğiniz dili akıcı konuşan insanlar bulmaya çalışacağız ama bu mümkün olmazsa daha geniş bir inceleme havuzuna göndermek için İngilizce versiyonunuza döneceğiz. İngilizce dışındaki dillerde göndereceğiniz durumlarda , lütfen şu şekilde özette belirtin (ör : "Bu çalışma Türkçe dilinde sunulacak." ve ya "Julia Deneyimleri konuşmamı Azerice yapacağım.").

+

Eğer belirli bir zamanda düzenlenmesinin daha avantajlı olduğunu düşündüğünüz bir çalışma ve ya çalışma grubu oturumu varsa bunu lütfen bildirinize not olarak ekleyin. Örnek olarak, Türkçe dilinde bir çalışma sunmak ve bunun Türkiye'deki katılımcılar için uygun bir zamanda yapılmasını istiyorsanız , bunu özetinizde mutlaka belirtin.

+

Kayıtlar ve Materyaller

+

JuliaCon 2022 çevrimiçi bir konferans olacak ve konferansın planlanmasını kolaylaştırmak için konuşmacılarımızdan konferans öncesinde konuşmalarının kaydedilmiş bir versiyonunu sunmalarını isteyeceğiz ve konferanstan sonra kaydedilen tüm materyalleri açık kaynak hale getirmeyi planlıyoruz. Herhangi bir nedenle videonuzun gizli kalmasını tercih ediyorsanız lütfen bizimle iletişime geçin juliacon@julialang.org. Son olarak, materyallerinizi ve kayıtlarınızı Creative Commons (varsayılan: ticari kullanım olmayan) veya başka bir açık kaynak lisansı altında kullanıma sunmanızı da rica ederiz. Konuşmanızı İngilizce ve başka bir dilde yapmak isterseniz, sizden kaydedilmiş iki sürümü (her dilde bir tane) göndermenizi isteyeceğiz.

+

Transkript

+

Erişilebilirliği artırmak için bildirinizin bir parçasını transkript olarak talep edeceğiz. Başvuru süreciyle ilgili ayrıntılar için gözlerinizi e-postanızdan ayırmayın.

+

Devam Eden Makaleler

+

Bu yıl istekli katılımcılara çalışmalarını devam eden JuliaCon makalesinin bir parçası olarak yayınlama şansı sunuyoruz. Daha fazla ayrıntı gelecek.

+

Konuşmacılar için kayıt

+

Konuşmacılarımızın konferansa kayıt olmasını bekliyoruz. JuliaCon 2022 tamamen online bir konferans olduğundan, kayıt işleminin ücretsiz olacağını unutmayın.

+

Bizimle nasıl iletişime geçebilirsiniz

+

Sorularınız için bize şu adresten ulaşabilirsiniz juliacon@julialang.org.

+

Konferans Davranış Kuralları

+

' JuliaCon'da, cinsiyet, cinsel yönelim, engellilik, fiziksel görünüm, beden büyüklüğü, ırk, yaş, din veya ulusal ve etnik kökenden bağımsız olarak tüm katılımcılar için olumlu bir konferans deneyimi sunmak için herşeyi yapacağız. Katılımcılar arasındaki saygılı ve düşünceli etkileşimleri teşvik ediyoruz ve konferans katılımcılarının herhangi bir biçimde yanlış hareketine müsamaha göstermiyoruz. Örneğin, saldırgan veya cinsel bir dile(içeriklere), resmi görüşmeler ve oturumlar arasında ağ oluşturma da dahil olmak üzere herhangi bir harekete konferans oturumu içinde müsaade etmiyoruz. Bu standartları ihlal eden konferans katılımcıları, konferans organizatörlerinin takdirine bağlı olarak yaptırım uygulayabilir veya konferanstan atılabilir (geri ödeme yapılmaksızın). Tacizle mücadele politikamız [buradan] ulaşabilirsiniz(https://juliacon.org/2022/coc).

+

İlave

+

İnceleme yönergeleri ve Süreci

+

Kaynak göstermek amacıyla,gönderinizi incelerken okuyucuların kullanacağı yönergeler ve süreç aşağıda yer almaktadır.

+

Eleştirmenin amacı JuliaCona’a sunulan içeriğinin kalitesini sağlamaktır.

+

Çıkar çatışması

+

Çıkar çatışması olduğu takdirde, eleştirmen incelemeden çekilip organizatörlere hızlı bir şekilde yenisini bulmalarını bildirmeye taahhüt eder. Hiçbir eleştirmen, yazarı olduğu veya başka bir çıkar çatışması biçimine sahip olduğu herhangi bir konuşma hakkında bir inceleme yapmamalıdır.Tanım ve örnekler için PNAS örneklerine bakınız. Çıkar çatışmaları eleştirmenin “finansal veya entelektüel bir çıkar çatışması olarak ortaya çıkan veya algılanabilecek herhangi bir derneğe" sahip olduğu herhangi bir çalışmayı veya yazarı içerir. (PNAS yönergileri yukarıda bulunuyor).

+

Davranış Kuralları

+

Eleştirmen, inceleme sürecinde tüm iletişimlerde ve değerlendirmede Konferans Davranış Kurallarını okumayı ve saygı göstermeyi taahhüt eder.

+

Eğer teslim edilen bir bildiri davranış kurallarına uymuyorsa, eleştirmen bunu organizasyon komitesine yönlendirmelidir.

+

İnceleme kriterleri

+

Bu kritelerin karşılanmaması düşük puanlarla sonuçlanacaktır.

+

1. Özetin okunması kolay olmalı ve aynı konuda çalışmayan biri için anlaşılabilir olmalıdır.Başlık,içerideki konuyu tanımlamayı kolaylaştırmalıdır.

+

2. Sunulan özet teknik olarak eleştirmenin bilgisine uygyun olmalıdır.

+

3. Konu, Bildiri Çağırısında var olan konular dahil ancak bunlarla sınırlı olmamak üzere JuliaCon için dikkat çekici olmalıdır.

+ +

4. Eğer yazar tarafından istenen format(deneyim, konuşmalar, atölyeler, sanal afişler, minisempozyumlar, çalışma grupları) uygun görünmüyorsa, eleştirmen bunu işaret edebilir ve başka bir tane önerebilir.

+

5. Julia'nın kurumsal bir ortamda kullanım gereklilikleri genel olarak konferans ile ilgilidir. Özellikle, Julia ve ekosistemini kullanarak veya onunla etkileşime giren ürün geliştirme hakkındaki geri bildirimler memnuniyetle karşılanmaktadır. Ancak, görüşmeler ve afişler ürün yerleştirme için uygun bir yer değildir.

+

Puanlama Kriterleri

+

Puanlanacak kriterler aşağıdadır (puan değeri 1-5 arasındadır): 1. Julia topluluğuna uyarlanabilirlik. Julia kullanıcıları bu konuşmayı yöntemleri açısından mı yoksa sonuçları açısından mı ilgi çekici buluyor? Yüksek puan almak için Julia kullanıcısının ilgisini çekilmelidir.

+

2. Topluluğa katkısı. Bu, insanların kullanımına açılan yeni bir paket mi? Yüksek puan almak için diğerlerinin kullanabileceği bir kod ya da fikir olmalıdır.

+

3. Netlik. Bu konuşmanın amacı nedir? İnsanlar ne öğrenecek? Yüksek puan almak için amaç net olmalıdır.

+

4. Topluluk açısından önemi. Bu, Julia kullanan başka bir çok insanda ya da paket ekosisteminde fark yaratacak bir şey mi? Julia kullanıcıları için daha önemli bir şey daha yüksek puan getirir. Bunun bilimsel bir önemi olmadığını, yalnızca Julia kullanıcıları için bir yazılım veya öğretici olarak önemli olduğunu unutmayın.

+

5. Konu farklılığı. Bir topluluk olarak biz uygulamaların çeşitliliğine değer veriyoruz. Bildiriniz, Julia topluluğuna yeni alanları ve konuları keşfetmesine yardımcı olursa daha fazla kredi verilecekti.

+

6. Sağlamlık. Teklifleriniz teknik açıdan sağlam olmalıdır. Bariz hatalar vurgulanmalı ve dikkate alınmalıdır.

+

7. Sınıflandırma. Uzun sunumlar için kriterler daha katı uygulanacaktır.

+

İnceleme Süreci

+ + + + + +

İnceleme Yorumları

+

Her bildiri incelemesi verilen puanı açıklayacak bir yoruma sahip olmalıdır. Örneğin, bir yorum şöyle olabilir:

+ + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/cfp_zh/index.html b/previews/PR609/2022/cfp_zh/index.html new file mode 100644 index 000000000..af70f5c21 --- /dev/null +++ b/previews/PR609/2022/cfp_zh/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 报告和讨论提案征集 + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 报告和讨论提案征集

+

这则报告征集通知于 2022-04-04 11:59 (UTC) 过期。

+ +

我们邀请您为 JuliaCon 2022 提交报告和讨论的提案。

+

JuliaCon 的提案涉猎广泛,内容深度从基础介绍到前沿课题,话题涉及多个领域,报告人则可以是来自工业界或学术圈的开发者。如果您曾经使用 Julia 开发,那么 JuliaCon 是向 Julia 社区介绍您开发工作的最好的途径。

+

如果您想通过观摩以往的报告找找感觉,那么请看我们过去的流程安排和视频 (2014, 2015, 2016, 2017, 2018, 2019, 2020, 和 2021).

+

我们对任何主题的提案都很欢迎,下面是一些例子:

+ +

决定一个提案是否被接受的最重要依据是这个主题是否会引起 Julia 社区的兴趣。

+

提案类型

+

今年,我们将有 6 种不同类型的提案供您选择。所有报告类的提案需要在 7 月初预先录制视频并提交(具体日期稍后公布),但研讨会和兴趣小组将会以直播方式进行。今年我们将首次接受非英语提案,详情请参见下文。

+

报告 Talks

+

报告主要用来与 Julia 社区分享您的技术工作,不论是关于软件开发、科学研究还是面向特定领域的应用。

+ +

小型交流会 Minisymposia

+

小型交流会可以理解成“会议中的会议”:由您作为会议组织者统筹安排合适的报告人、小组和讨论主题。同时,小型交流会的组织者还要负责提供主持人或主席。小型交流会时长为两到三个小时。注意: 与 JuliaCon 2021 不同,小型交流会和研讨会被安排到正式会议开始之前。

+

研讨会 Workshops

+

研讨会一般是一个三小时的交互式的需要动手编程的环节,演示者在与会者面前实时编程并共享代码,以便与会者跟进。研讨会将在正式会议开始之前举行。此环节的主题可以是关于某个软件包的教程或关于某个领域的教程等。注意: 由于这是 JuliaCon 第一年接受非英语研讨会的提案,如果您想使用非英语语种进行研讨会,请尽量降低研讨会的内容门槛。

+

虚拟海报 Virtual Posters

+

由于今年 JuliaCon 2022 仅有在线的会议,海报展示者不是准备实体海报,而是提供一个关于他们提案的主题的 3 分钟视频。这段视频将在专用聊天室中播放,加入房间的与会者可以快速观看视频并加入有关内容的讨论。

+

兴趣小组 Birds of a Feather / Interest groups

+

兴趣小组会议是围绕特定主题进行的有组织的讨论。例如,软件包维护者可以利用这些时间组织会议并招募贡献者,或者可以让社区成员为 Julia 教材或招聘多样化的人才而组织讨论。这些会话将持续一小时,并且不会录制视频。

+

使用体验 Experiences

+

这个环节旨在迎接社区中的新成员。主题可以包括您在 Julia 中最喜欢的功能、Julia 如何帮助您解决某个问题、您在大学课堂上使用 Julia 解决的一个有趣的问题,或者更一般地,Julia 如何成为您工作流程的一个很好的补充。这些报告每个持续三分钟,将会穿插在会议的不同环节中。此环节没有回答问题的部分,如果您希望大家线下向您提问,我们鼓励您在幻灯片上显示您的联系信息,例如 微信二维码,Slack 账号, Humans-of-Julia Discord 账号, Zulip 账号, Twitter 账号, Github 账号或电子邮件。我们特别欢迎 Julia 的新人利用这个环节与社区分享他们的感受。如果您是在教学中使用 Julia 的教师或教授,我们鼓励您邀请您的学生申请参与这个环节,并与 Julia 社区分享他们的经验。

+

提交提案(摘要)时,您可以选择多个类别。

+

提案提交流程

+

为避免与报告者相关的选择性偏见,提案用匿名的方式提交。因为大多数提交都会包含开源代码的链接,所以执行双盲是不可能的。为此我们只能尽力确保对提交的公正评审。如果您要使用非英语语种来进行报告,请使用对应的语言来提交您的提案。对非英语语种的提案,也请提供对应的英文版本(允许机器翻译!)。我们会努力找到能流利使用您所选语言的人士来审核您的提案,但如果实在没有找到,我们将使用它的英文翻译版本进行审核。如果您选择使用非英语语种进行汇报,请在摘要中注明这一点,例如:“本次研讨会将以泰语进行”或“我将用捷克语进行 Julia 使用经验的报告”。

+

如果您要提交的研讨会或兴趣小组对时间有特别的要求,请在您的提案中注明这一点。例如,如果您想用普通话举办研讨会,并希望在亚洲参加者方便的时间举行,请在您的摘要中注明。

+

视频录制和材料

+

JuliaCon 2022 将是一个在线会议,为了方便会议的安排,我们要求我们的报告人在会议前提交他们报告的视频版本。我们会在会议结束后公开所有视频材料。如果出于任何原因,您希望不公开您的视频,请通过 juliacon@julialang.org 与我们联系。最后,我们还会要求您在 Creative Commons(默认:禁止商业用途)或其他开源许可下提供您的材料和视频。如果您想用双语进行汇报,我们会要求您提交两个视频版本(每种语言各一个)。

+

字幕

+

为了让视频更容易被观看,我们将要求您在提交的材料中包含对应的字幕。请密切关注您的电子邮件,以了解有关提交过程的详细信息。

+

会议论文集

+

今年,我们将会为有意愿的参与者提供机会把他们的工作作为 JuliaCon 会议论文集的一部分发表。更多细节即将发布。

+

报告人的注册

+

我们希望我们的报告人能够注册参加会议。由于 JuliaCon 2022 是一个完全在线的会议,注册将是免费的。

+

如何联系我们

+

您可以通过 juliacon@julialang.org 向我们提出问题。

+

会议行为准则

+

JuliaCon 致力于为所有与会者提供积极的会议体验,无论其性别、性别认同和性别表达、性取向、残疾、外貌、体型、种族、年龄、宗教或国籍和民族血统如何。我们鼓励与会者之间进行互相尊重、互相体谅的交流,而不容忍其以任何形式骚扰其他与会者。例如,不管是正式会谈还是会议之间的交流,不允许发布带攻击性或色情的文字和图像等。违反这些标准的会议参与者可能会被会议组织者酌情处罚或踢出会议(不予退款)。我们的反骚扰政策可以在这里找到。

+

附录

+

评审指南和流程

+

作为参考,以下是评审人在评审您提交的提案时使用的指南和流程。

+

评审人的作用是确保 JuliaCon 上呈现的内容的质量。

+

利益冲突

+

在存在利益冲突的情况下,评审人承诺退出评审并通知组织者以找到其他评审人。任何评审人都不应该对身为作者之一或存在其他形式利益冲突的任何报告进行评审。有关定义和示例请参阅 PNAS 指南。利益冲突包括与工作或者其作者存在的任何与财务或者知识产权上的关联(参考上面的 PNAS 指南)。

+

行为守则

+

评审人承诺阅读会议行为准则,并在审核过程以及所有沟通中尊重该准则。

+

如果提交的摘要不符合会议行为准则,评审人应将其提交给组委会。

+

评审标准

+

提案不符合这些标准将获得较低的分数。

+
    +
  1. 摘要应该让即使在不在同一领域的人也容易阅读和理解。标题应该便于识别内容所对应的领域。

    +
  2. +
  3. 从评审人的角度来看,摘要在技术层面要有一定程度的合理性。

    +
  4. +
  5. 该主题应该是 JuliaCon 感兴趣的,包括但不限于提案征集上列出的主题

    +
  6. +
+ +
    +
  1. 如果作者要求的形式(使用经验、快速报告、普通报告、研讨会、海报、小型交流会、兴趣小组)不合适,评审人可以通知建议另一种形式。

    +
  2. +
  3. 会议关心并且欢迎 Julia 在企业环境下的使用案例,特别是利用 Julia 及其生态进行产品开发的反馈。但是报告和海报不适合作为产品的广告植入。

    +
  4. +
+

评分标准

+

以下是评分 (1-5) 的标准:

+
    +
  1. 在 Julia 社区的适用面:Julia 的用户是否会对这个报告的方法或结果感兴趣?高分意味着 Julia 用户会对该提案产生广泛的兴趣。

    +
  2. +
  3. 对社区的贡献程度:这是供人们使用的新的软件包吗?得分较高的提案应该是其他人可以使用的代码或值得借鉴的想法。

    +
  4. +
  5. 明晰:这次报告的目的是什么?人们会学到什么?得分较高的提案应表达出非常明确的目的。

    +
  6. +
  7. 对社区的意义:这会改变很多其他人使用 Julia 或其软件生态的方式吗?对 Julia 用户来说,得分越高的提案应该越重要。请注意,这里不是科学研究层面意义,而是作为软件或教程对 Julia 用户的意义。

    +
  8. +
  9. 主题多样性:作为一个社区,我们重视应用的多样性。应该对为 Julia 社区扩展新领域和方向的提案给予一些额外的加分。

    +
  10. +
  11. 合理性:提案在技术上应该是合理的。应该标记并严肃考虑提案中较为明显的不正确性。

    +
  12. +
  13. 提案类型:提案的内容是否适合作为该类型进行报告?对于比较长的报告来说,这个评判应该更严格一些。

    +
  14. +
+

评审流程

+ +

评审意见

+

每条评审意见都应包含一条证明给出的分数合理性的评论。例如,该评论可能是这样的:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/coc/index.html b/previews/PR609/2022/coc/index.html new file mode 100644 index 000000000..a043ed910 --- /dev/null +++ b/previews/PR609/2022/coc/index.html @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Code of Conduct + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Code of Conduct

+

JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin. We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference channel, including formal talks and networking between sessions. In general, please abide by the Julia Community Standards. Conference participants violating these standards may be expelled from the conference at the discretion of the conference organizers.

+

Harassment includes, but is not limited to:

+ +

Enforcement

+

Participants asked to stop any harassing behavior are expected to comply immediately. If a participant engages in harassing behavior, event organizers retain the right to take any actions to keep the event a welcoming environment for all participants. This includes warning the offender or expulsion from the conference. Event organizers may take action to redress anything designed to, or with the clear impact of, disrupting the event or making the environment hostile for any participants. We expect participants to follow these rules on all platforms used for conference interactions. We think people should follow these rules outside event activities too!

+

Reporting

+

If you would like to report a CoC violation or discuss any incident that may have left you uncomfortable, please contact one of the Discord admins (usernames in red) or organizers (usernames in blue). They may involve other event staff to ensure your report is managed properly. You won't be asked to confront anyone and we won't tell anyone who you are without your permission.

+

Note that this CoC is under the (CC BY-SA 4.0) license

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/committee/index.html b/previews/PR609/2022/committee/index.html new file mode 100644 index 000000000..14dec9140 --- /dev/null +++ b/previews/PR609/2022/committee/index.html @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 Organizing Committee + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 Organizing Committee

+ +

Proceedings Committee

+ +

Joining the Committee

+

Each year, the previous years JuliaCon committee is usually asked to return. If certain members are no longer able to continue in their role, the existing committee members will work to find a replacement. JuliaCon committee members are generally folks who have been long term contributors to the community or made significant contributors in recent years. Generally, the JuliaCon Chair/co-chair's lead the effort to recruit committee members.

+

The committee is also open to nominations (you can nominate yourself) for vacant positions or positions that do not exist but you think would provide value to the conference. Nominations are accepted on a rolling basis and reviewed by the current committee as needed. While many current committee members have been long term Julia contributors, this is not a hard requirement. Being a long term member of the community comes with its blindspots, so if there is a unique angle you believe your nominee (including yourself) brings to the table, we would love to hear more!

+

Here is the Nomination form.

+
+

The JuliaCon committee is composed entirely of volunteer organizers and can be reached at juliacon@julialang.org with any questions or comments.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/experiences/index.html b/previews/PR609/2022/experiences/index.html new file mode 100644 index 000000000..6064667b6 --- /dev/null +++ b/previews/PR609/2022/experiences/index.html @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Experiences + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Experiences

+

The JuliaCon 2021 experiences are a new type of presentation for folks to share an experience they had using Julia.

+

The experiences session will take place on 2021-07-29, from 16:30–18:00, on the Purple track. You can find a calendar invite on Pretalx.

+

The following experiences will be presented at JuliaCon2021: + +

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/faq/index.html b/previews/PR609/2022/faq/index.html new file mode 100644 index 000000000..fdca767a3 --- /dev/null +++ b/previews/PR609/2022/faq/index.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + FAQs + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

FAQs

+

Q: Is there financial assistance available?

+

A: As we have moved to a virtual conference for 2021, registration is free! Register for JuliaCon 2021 at the tickets page.

+

Q: How can I get involved?

+

A: If you’re looking for ways to volunteer for JuliaCon 2021, please consider mentoring a new speaker, and virtually volunteering.

+

Q: I haven’t presented before. Is there support/guidance available?

+

A: Yes! We have mentors available to help with submissions as well as presenting. Request a mentor.

+

Q: I don’t know anyone who will be attending JuliaCon 2021. Will there be any social event(s) where I can network and make friends?

+

A: Yes! Please stay tuned for some fun social events we are planning, such as a buddy program and speaker social. We want to make JuliaCon a rewarding and fun experience for you!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/index.html b/previews/PR609/2022/index.html new file mode 100644 index 000000000..522e6ff63 --- /dev/null +++ b/previews/PR609/2022/index.html @@ -0,0 +1,485 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022, Everywhere on Earth + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + +
+
+

JuliaCon 2022 was online and the recorded talks are available on YouTube

+ +
+

+ July 27th - 29th - Times in UTC +
+ + Tickets were free but registration was required
+ +
+ +

+
+
+ + + + + + + + + + + +
+ + + + +
+ + + + +
+
+ +
+
+

JuliaCon 2022

+ JuliaCon was back online in 2022 (all times in UTC), and will be co-located with JuMP-dev. Tickets are free, but registration was required. Thanks to everyone who joined us this year!

+

To view the talks online, visit live.juliacon.org

+
+
+ +
+
+

Keynote Speakers

+

+
+
+ + + +
+ Jeremy Howard +

+ fast.ai, University of Queensland, University of San Francisco +

+

+ +

+
+
+
+ +
Jeremy Howard is a data scientist, researcher, developer, educator, and entrepreneur. Jeremy is a founding researcher at fast.ai, a research institute dedicated to making deep learning more accessible, and is an honorary professor at the University of Queensland. Previously, Jeremy was a Distinguished Research Scientist at the University of San Francisco, where he was the founding chair of the Wicklow Artificial Intelligence in Medical Research Initiative, the founding CEO of Enlitic, President and Chief Scientist of Kaggle, and CEO of FastMail as well as Optimal Decisions Group.
+
+
+ + + +
+ Erin LeDell, Ph.D. +

+ H2O.ai, WiMLDS, R-Ladies Global +

+

+ +

+
+
+
+ +

Dr. Erin LeDell is the Chief Machine Learning Scientist at H2O.ai, where she develops the open source, distributed machine learning platform, H2O, and is the founder of the H2O AutoML project. She has a Ph.D. in Biostatistics with a Designated Emphasis in Computational Science and Engineering from University of California, Berkeley. Her research focuses on automatic machine learning, ensemble machine learning and statistical computing. She also holds a B.S. and M.A. in Mathematics.

+

Before joining H2O.ai, she was the Principal Data Scientist at Wise.io and Marvin Mobile Security, and the founder of DataScientific, Inc. She is also founder of the Women in Machine Learning and Data Science (WiMLDS) organization (wimlds.org) and co-founder of R-Ladies Global (rladies.org).

+
+
+ + + +
+ Husain Attarwala +

+ Moderna +

+

+ +

+
+
+
+ +
Husain Attarwala is a clinical pharmacologist, pharmacometrician and a researcher in drug development. Currently, he is serving as Head of Clinical Pharmacology and Pharmacometrics at Moderna. His research focus on developing predictive models to guide clinical dose decisions for mRNA vaccines and therapeutics. Previously, Husain was a Principal Scientist at Alnylam Pharmaceuticals where his research helped guide dose selection for various novel siRNA therapeutics, 5 of which have received global regulatory approvals. He has obtained PhD and MS degrees in Pharmaceutical Sciences and Drug Delivery Systems from Northeastern University, and a Bachelors in Pharmacy from Al-Ameen college of pharmacy.
+

+
+
+ +
+
+

2021 videos

+ JuliaCon 2021 has come to a close, but you can watch all of the conference's talks, workshops, and keynotes at the Julia Language's YouTube channel. We also have some photographic memories from previous Juliacons.
+
+
+ +
+
+

Julia Community Prize

+ The Julia Community Prize 2022 nominations are closed. Check out the 2022 winners.
+
+
+ +
+
+

Code of Conduct

+ JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin. We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference venue, including formal talks and networking between sessions. Conference participants violating these standards may be sanctioned or expelled from the conference (without a refund) at the discretion of the conference organizers. Our anti-harassment policy and information about who to contact if you have an issue you'd like to discuss can be found on our Code of Conduct.
+
+
+ +
+
+

Committee

+ JuliaCon is organized by a committee composed entirely of volunteers, and can be reached at juliacon@julialang.org with any questions or comments.
+
+
+ +
+
+

Proceedings

+ JuliaCon is complemented by the JuliaCon proceedings, an open journal with a formal peer review process for articles that supplement JuliaCon contributions.
+
+
+ +
+
+

Recording your presentation

+ Please see this tutorial if you'd like guidance recording your virtual JuliaCon presentation.
+
+
+ + + +
+
+ + +
+
+
+

Sponsors

+ +

Platinum

+
+

+

+ + +

+

+ +

Gold

+
+

+

+ +

+

+ +

Silver

+
+

+

+ + + + + + + + +

+

+ +

Media Partners

+
+

+

+ + +

+

+ +

Community Partners

+
+

+

+ +

+

+ +

With the help of the Julia project’s fiscal sponsor:

+
+

+ + +

+ + +
+
+
+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/meetups/index.html b/previews/PR609/2022/meetups/index.html new file mode 100644 index 000000000..3cfe70c50 --- /dev/null +++ b/previews/PR609/2022/meetups/index.html @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 Local Meetups + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 Local Meetups

+

While JuliaCon remains online for 2022 we want the Julia community to have the opportunity to meet in person again.

+

Please check out the closest meetup location to you! Some are already scheduled, in which case the link will take you to that event. Others are still working out schedule and venue.

+

If your local community is not on this list, and you're able to secure a venue, please reach out to Will Kimmerer on Slack or by email (kimmerer@mit.edu).

+

Locations

+

JuliaCon Local Meetup Locations

+

United States

+ +

Europe

+ +

Asia and Oceania

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/memories/index.html b/previews/PR609/2022/memories/index.html new file mode 100644 index 000000000..78619b7b3 --- /dev/null +++ b/previews/PR609/2022/memories/index.html @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Memories of JuliaCon past + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Memories of JuliaCon past

+

2021

+

JuliaCon continued online in 2021, and so we again asked our attendees to upload a photo of their hometown. Here once again is a collage representing the world wide nature of the Julia community.

+

places of JuliaCon

+

2020

+

JuliaCon moved online in 2020, and so we could not arrange the traditional group photo. We did however ask our attendees to upload a photo of the place they were joining from. Here is a collage, representing our global audience.

+

places of JuliaCon

+

2019

+

The number of our attendees grew enough that we had to hire a drone to take the photo. Here we are in sunny Baltimore.

+

JuliaCon 2019 group photo in Baltimore

+

2018

+

JuliaCon moved to Europe for the first time. Here we are at the front quad of the University College, London.

+

JuliaCon 2018 group photo in London

+

2017

+

JuliaCon moved west, to the University of California, Berkeley.

+

JuliaCon 2017 group photo in Berkeley, California

+

2016

+

We continued at MIT for another year, with a growing audience.

+

JuliaCon 2016 group photo at MIT

+

2015

+

With increasing interest, JuliaCon was held at MIT, the home of Julia. Here we are, with the angles of the Ghery's Stata Center behind us.

+

JuliaCon 2015 group photo at MIT

+

2014

+

The first JuliaCon was held in Chicago, where nearly 80 early adopters came together to talk about this then new programming language. The rest is history!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/posters/index.html b/previews/PR609/2022/posters/index.html new file mode 100644 index 000000000..9f6b670bb --- /dev/null +++ b/previews/PR609/2022/posters/index.html @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Posters + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Posters

+

The JuliaCon 2022 posters will be presented as part of a poster session which will happen synchronously on: July 27th, 2022, from 18:00–19:30 UTC. You can find a calendar invite for the session here: JuliaCon Poster Session on Pretalx

+

The poster session will be held on Gathertown. Join the session on GatherTown.

+

The following posters will be presented at JuliaCon2022: + +

+
+ +

Acelerando un algoritmo de transformación unitaria con Julia

+

Alejandro R. Urzúa

+ + + + + + + +

Fun Insight with Julia DataFrame

+

Sorratat Sirirattanajakarin

+ +

Julia in ASEAN

+

Bishmer Sekaran

+ + + + +

Multilinear maps and fluid mechanics with Julia

+

Nicholas Chisholm

+

Nautilus.jl - a GUI for interactive compiler optimization passes

+

Miguel Raz Guzmán Macedo

+ +

Phylogenetic trees in Julia

+

Gustavo A. Ballen

+ + + + +

RobertoMD: Parallel Hybrid Particle-Field Molecular Simulation

+

Zhenghao Wu, S. Alberti

+ + + + + +

Why you should be teaching your students to program in Julia

+

Logan Kilpatrick

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/prize/index.html b/previews/PR609/2022/prize/index.html new file mode 100644 index 000000000..8162f1cb4 --- /dev/null +++ b/previews/PR609/2022/prize/index.html @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Julia Community Prize + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Julia Community Prize

+

The Julia Community Prize 2022 nominations are closed and the winners announced! Winners will receive a certificate of accomplishment and a cash prize of $1000.00.

+

2022 Community Prize Winners:

+

Morten Piibeleht, Michael Hatherly, Fredrik Ekre, and Mauro Werder

+

For their work on Documenter.jl and its ecosystem.

+

Frames White

+

For her many technical and community contributions across the Julia ecosystem.

+

Shuhei Kadowaki

+

For his work on JET.jl and the Julia compiler.

+

Awards Committee

+

The members of the committee for 2022 continue to be Prof Alan Edelman, MIT; Prof Tim Holy, WU; and Mr Curtis Vogt, Beacon Biosignals.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/proposal/index.html b/previews/PR609/2022/proposal/index.html new file mode 100644 index 000000000..fa37757c6 --- /dev/null +++ b/previews/PR609/2022/proposal/index.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Proposals + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Proposals

+

Proposal submission has closed for 2022. We are currently reviewing proposals and will notify speakers in the coming weeks.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/schedule/index.html b/previews/PR609/2022/schedule/index.html new file mode 100644 index 000000000..d4776ad54 --- /dev/null +++ b/previews/PR609/2022/schedule/index.html @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Schedule (Coming Soon!) + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Schedule (Coming Soon!)

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/sponsor/index.html b/previews/PR609/2022/sponsor/index.html new file mode 100644 index 000000000..f4dd575ab --- /dev/null +++ b/previews/PR609/2022/sponsor/index.html @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sponsorships + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Sponsorships

+

JuliaCon is a community organized non-profit conference, and it would not be possible without the support of its amazing set of sponsors over the years. We invite your organization to be a sponsor of JuliaCon 2022.

+

JuliaCon is the largest annual conference organized around Julia, the fastest high-performance open source computing language for machine learning, artificial intelligence, life sciences, robotics, algorithmic trading, real-time analytics and more.

+

Last year, JuliaCon was fully online. This move, though forced upon us by circumstance, allowed us to bring the conference to a much larger audience. Over 20,000 users from 140+ countries registered for the conference, and over 43,000 watched the conference talks during the week of the conference and 10's of thousands more over the lifetime of the videos. JuliaCon therefore offers you the unique opportunity to present your company and your product to a worldwide audience of engaged scientific programmers.

+

JuliaCon 2022 sponsorship comes with the following benefits:

+

Platinum Sponsorship ($30,000)

+ +

Gold Sponsorship ($15,000)

+ +

Silver Sponsorship ($5,000)

+ +
+

Please talk to us at juliacon@julialang.org if you, or anyone you know, might be interested in sponsoring JuliaCon.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/tickets/index.html b/previews/PR609/2022/tickets/index.html new file mode 100644 index 000000000..15efb6171 --- /dev/null +++ b/previews/PR609/2022/tickets/index.html @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022: Registration + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022: Registration

+

Tickets will be free, but registration is required to access the conference. Free registration will give you access to all the workshops and talks. We also ask that if you have the means, you "buy" a ticket which will serve as a donation to the project. Donations are not required but they support, among other things, the infrastructure to test, build, and ship Julia, and initiatives like Julia Summer of Code, Diversity and Inclusion, and the Julia Community Prize!

+ +
+ + + + + +

+ (Can't see the ticketing widget above? Please wait a few seconds, refresh your browser, or check if a plugin is preventing access. Click here if all else fails.) +

+ +

Contact the Organizers

+

Please email juliacon@julialang.org with any questions, comments or suggestions.

+
+ +
+ + + + + + + + + + + + + + + + diff --git a/previews/PR609/2022/upload/index.html b/previews/PR609/2022/upload/index.html new file mode 100644 index 000000000..30e356f2e --- /dev/null +++ b/previews/PR609/2022/upload/index.html @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Upload your files + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Upload your files

+

Please upload your talk video, poster or presentation for your accepted session. Lightning talks should be less than 8 minutes long, and full talks should be less than 25 minutes. Experience reports and posters should be less than 3 minutes long. For posters, please upload the 3 minute video and the actual poster file in two separate uploads with different file names.

+

All talks for JuliaCon are recorded and will premier at a particular time during the conference. Speakers should be online during their talk while it is premiering (this is why you were asked your availability on pretalx) so that they can answer questions that come up in the YouTube chat as well as Discord (more details on Discord coming soon). The only talks that will be given live are the keynote addresses and a few other talks (we will reach out to those speakers ahead of time).

+

Please upload the content by the 4th of July 2022 (Anywhere on Earth).

+

If you need to re-upload, please either use the same file name (it will override the first upload) or upload a second time and name sure the file name clearly states it is the second version.

+ +
+ +
+ +

If the upload is successful, you will see the "Your upload was successful. Thank you!" at the bottom of the page.

+

Contact the Organizers

+

Please email juliacon@julialang.org if you have any problems using this upload tool.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/volunteer/index.html b/previews/PR609/2022/volunteer/index.html new file mode 100644 index 000000000..b13c66584 --- /dev/null +++ b/previews/PR609/2022/volunteer/index.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sign Up! + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Sign Up!

+ +To volunteer virtually + +

JuliaCon volunteers are the backbone of our conference and without people like you, we would not be able to make JuliaCon the success it is!

+

Roles

+

Mentors to new speakers

+

JuliaCon 2022 will match first-time JuliaCon speakers desiring guidance to experienced speakers willing to mentor. We are expecting a time commitment of maximally a few hours in which mentors will provide feedback on a novice speaker's presentation.

+

Please let us know if you would like to be mentored or if you are willing to mentor a first-time speaker for JuliaCon 2022!

+

Proceedings reviewers

+

JuliaCon will be offering proceedings, and we need reviewers to assess submissions. Our review process will be similar to that of the Journal of Open Source Software (JOSS).

+

Virtual volunteers

+

Our virtual volunteers help keep the conference running smoothly by helping with items like registration, moderation, and AV support. Help us put on a great event for our community!

+

Organizing Committee Members

+

If you want to spend more time and get involved as a committee member, please check out the committee page and feel free to reach out to a committee member on Slack / Twitter for details on what the experience is like.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2022/workshops/index.html b/previews/PR609/2022/workshops/index.html new file mode 100644 index 000000000..84f0c4a86 --- /dev/null +++ b/previews/PR609/2022/workshops/index.html @@ -0,0 +1,432 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2021 Workshops + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2022 + + +
+
+ Next: 2024/2023 + Previously: 2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2021 Workshops

+

Below you will find the workshop schedule along with the link to watch on YouTube. All workshops will be at (2 PM UTC) and as shown below, there will be two workshops running concurrently each day. Make sure you register (for free) to ensure you are able to participate and ask questions during the workshops.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DateWorkshop TitleLink
Tuesday July 20 + GPU programming in Julia + + https://www.youtube.com/watch?v=Hz9IMJuW5hU +
Tuesday July 20 + DataFrames.jl 1.2 tutorial + + https://www.youtube.com/watch?v=tJf24gfcSto +
Wednesday July 21 + Quantum Computing with Julia + + https://www.youtube.com/watch?v=tEd6driz37w +
Wednesday July 21 + Statistics with Julia from the ground up + + https://www.youtube.com/watch?v=IlPoU5Yr2QI +
Thursday July 22 + A mathematical look at electronic structure theory + + https://www.youtube.com/watch?v=HvpPMWVm8aw +
Thursday July 22 + Game development in Julia with GameZero.jl + + https://www.youtube.com/watch?v=ar7wCVlncKE +
Friday July 23 + Solving differential equations in parallel on GPUs + + https://www.youtube.com/watch?v=DvlM0w6lYEY +
Friday July 23 + Package development in VSCode + + https://www.youtube.com/watch?v=F1R3ETaRQXY +
Saturday July 24 + Simulating Big Models in Julia with ModelingToolkit + + https://www.youtube.com/watch?v=HEVOgSLBzWA +
Saturday July 24 + Package development: improving engineering quality & + latency + + https://www.youtube.com/watch?v=wXRMwJdEjX4 +
Sunday July 25 + Parse and broker (log) messages with CombinedParsers(.EBNF) + + https://www.youtube.com/watch?v=RpCnP-S7txI +
Sunday July 25 + Modeling Marine Ecosystems At Multiple Scales Using Julia + + https://www.youtube.com/watch?v=UCIRrXz2ZS0 +
Monday July 26 + It's all Set: A hands-on introduction to JuliaReach + + https://www.youtube.com/watch?v=P4I7pTvQ4nk +
Monday July 26 + Introduction to Bayesian Data Analysis + + https://www.youtube.com/watch?v=W_ExvidyESg +
Tuesday July 27 + Diffractor: Next-Gen AD for Julia [Canceled] + +

[Canceled]

+
Tuesday July 27 + Introduction to metaprogramming in Julia + + https://www.youtube.com/watch?v=2QLhw6LVaq0 +
+ + +Poster for the JuliaCon 2021 workshop schedule + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/accessibility/index.html b/previews/PR609/2023/accessibility/index.html new file mode 100644 index 000000000..b7c937ca1 --- /dev/null +++ b/previews/PR609/2023/accessibility/index.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Accessibility at JuliaCon + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Accessibility at JuliaCon

+

JuliaCon is committed to providing an accessible and inclusive environment to every attendee. In light of the on-going pandemic and need to shift JuliaCon online, our accessibility plans for this year are likely to be very different from prior events.

+

We will strive to ensure that the online platforms are compatible with screen readers, and we shall attempt to close caption all our talks.

+

Please reach out to the organising committee at juliacon@julialang.org for any additional concerns.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/cfp/index.html b/previews/PR609/2023/cfp/index.html new file mode 100644 index 000000000..98533d9ac --- /dev/null +++ b/previews/PR609/2023/cfp/index.html @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2023 CFP + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2023 CFP

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/cfp_de/index.html b/previews/PR609/2023/cfp_de/index.html new file mode 100644 index 000000000..403527f82 --- /dev/null +++ b/previews/PR609/2023/cfp_de/index.html @@ -0,0 +1,346 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 CFP + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 CFP

+

Dieser Aufruf zur Einreichung von Konferenzvorschlägen wurde am 2021-04-01 11:59 (UTC) beendet.

+

Wie jedes Jahr, laden wir Sie auch in diesem Jahr herzlich dazu ein Vortragsvorschläge für die JuliaCon 2022 einzureichen.

+

Die JuliaCon bietet traditionell eine Mischung an Vorträgen sowohl für Einsteiger:innen, als auch für Fortgeschrittene, mit Themen aus verschiedenen Fachrichtungen, von Entwickler:innen, Forscher:innen aus der Industrie oder dem akademischen Bereich. Wenn Sie in der Vergangenheit mit Julia gearbeitet haben, ist die JuliaCon der beste Ort, um Ihre Arbeit mit anderen aus der Juliagemeinschaft zu teilen.

+

Einen genaueren Einblick in die üblichen Vortragsthemen geben die Listen der Vorjahresvorträge, sowie die entsprechenden Vortragsaufnahmen: (2014, 2015, 2016, 2017, 2018, 2019, 2020 und 2021).

+

Wir sind an allen Vorträgen interessiert, die in irgendeiner Form mit Julia zu tun haben. Mögliche Themen könnten sein:

+ +

Das wichtigste Kriterium für den Vorschlag sollte sein, ob das Thema für die Juliagemeinschaft von Interesse ist.

+

Vorschlagskategorien

+

In diesem Jahr gibt es sechs Kategorien, zu welchen Sie Vorschläge einreichen können. Es wird erwartet, dass alle Präsentationen im Voraus aufgezeichnet und bis Anfang Juli eingereicht werden (das genaue Datum wird später bekannt gegeben). Workshops und "Birds of a Feather"-Sitzungen werden voraussichtlich live sein. In diesem Jahr werden zum ersten Mal auch Vorschläge akzeptiert, die nicht in englischer Sprache verfasst sind. Weitere Einzelheiten siehe unten.

+

Wenn Sie Ihren Vorschlag einreichen, können Sie auch mehrere Kategorien zur Berücksichtigung auswählen.

+

Vorträge

+

In dieser Kategorie geht es in erster Linie darum, Ihre technische Arbeit mit der Juliagemeinschaft zu teilen, unabhängig davon, ob es sich um Softwareentwicklung, Forschung oder Anwendungen in einem bestimmten Bereich handelt.

+ +

Minisymposia

+

Ein Minisymposium ist eine "Konferenz innerhalb einer Konferenz", bei der die Organisator:innen für die Planung von Redner:innen, Diskussion und Diskussionsrunden nach eigenem Ermessen verantwortlich sind. Von den Veranstaltern eines Minisymposiums wird auch erwartet, dass sie Moderatoren oder Vorsitzende für das Symposium stellen. Einem Minisymposium wird ein Zeitfenster von zwei bis drei Stunden zugewiesen. Hinweis: Im Gegensatz zur JuliaCon 2021 werden die Minisymposia vor dem offiziellen Beginn der Konferenz, also zusammen mit den Workshops stattfinden.

+

Workshops

+

Bei einem Workshop handelt es sich in der Regel um eine dreistündige interaktive praktische Veranstaltung, bei welcher die Vortragenden live vor dem Publikum programmiert und den Code mit den anderen Teilnehmenden teilt, sodass diese leicht folgen können. Die Workshops finden vor dem offiziellen Beginn der Konferenz statt (wie auch die Minisymposia). Zu den Themen dieser Kategorie gehören beispielsweise paketspezifische Tutorien oder fachspezifische Tutorien. Hinweis: Da dies das erste Jahr ist, in welchem die JuliaCon Vorschläge für nicht-englischsprachige Workshops akzeptiert, sollten nicht-englischsprachige Workshops eher einen einführenden Charakter haben.

+

Virtuelle Poster

+

Da die JuliaCon in diesem Jahr eine reine Online-Konferenz ist, werden die Posterpräsentator:innen keine physischen Poster vorbereiten. Stattdessen werden sie gebeten, dreiminütige Aufnahmen ihrer vorgeschlagenen Themen zu erstellen. Die Videos werden dann in speziellen Chaträumen zur Verfügung gestellt, sodass die dem Chatraum neu beitretenden Teilnehmer:innen sich das Video schnell ansehen und direkt an der Diskussion beteiligen können.

+

Birds of a Feather / Interessensgruppen

+

Die "Birds of a Feather"-Sitzungen sind organisierte Diskussionen zu bestimmten Themen. Beispielsweise können Paketbetreuer:innen diese Zeit nutzen, um ein Treffen mit Mitwirkenden zu organisieren und diese zu rekrutieren, eine Diskussionsgruppe könnte Erfahrungen mit auf Julia basierten Lehrmaterialien austauschen oder eine Arbeitsgemeinschaft für Diversität in der Juliagemeinschaft könnte sich organisieren. Diese Sitzungen werden jeweils eine Stunde dauern und werden nicht aufgezeichnet.

+

Erfahrungen (Experiences)

+

Diese Rubrik soll neue Mitglieder in der Gemeinschaft willkommen heißen. Beispiele für Themen sind die Vorstellung der Lieblingsfunktionen in Julia, wie Julia geholfen hat, ein bestimmtes Problem zu lösen, z.B. in einem Universitätskurs, oder ganz allgemein wie Julia sich gut in den persönlichen Arbeitsablauf integriert und diesen ergänzt. Da für diese Vortragskategorie keine Zeit für Fragen vorgesehen ist, ermutigen wir Sie im Besonderen Kontaktinformationen wie Ihren Twitter- oder Github-Nutzernamen oder Ihre E-Mail-Adresse auf Ihren Folien anzugeben, damit Zuseher:innen Ihnen Fragen zukommen lassen können. Wir freuen uns besonders, wenn Julianeulinge mittels dieser Beitragskategorie ihre Eindrücke mit der Juliagemeinschaft teilen. Falls Sie als Lehrer:in oder Professor:in Julia in Ihren Kursen verwenden, möchten wir Sie bitten, Ihre Studierenden einzuladen, bei dieser Kategorie Ihre Erfahrungen mit der Juliagemeinschaft zu teilen.

+

Details zur Einreichung und Begutachtung

+

Wir verwenden ein anonymisiertes Begutachtungsverfahren um Auswahlverzerrungen in Bezug auf die Vortragenden zu vermeiden. Obwohl ein Doppelblindverfahren nicht vollständig gewährleistet werden kann, da die meisten Einreichungen auf öffentlichen Open-Source-Code verweisen, werden alle Anstrengungen unternommen, um eine unparteiische Prüfung der Einreichungen zu gewährleisten. In diesem Jahr können Sie Beiträge in einer Sprache Ihrer Wahl einreichen. Bei nicht-englischen Beiträgen fügen Sie bitte immer eine Version Ihres Beschreibungstextes in Englisch bei (eine maschinelle Übersetzung ist völlig in Ordnung). Wir werden immer versuchen, fließende Sprecher:innen in der gewählten Sprache zu finden, um den Vorschlag zu begutachten. Sollte dies jedoch nicht möglich sein, werden wir auf die englische Übersetzung zurückgreifen, um den Vorschlag einem größeren Kreis von Gutachter:innen vorlegen zu können. Falls Sie Ihren Vortrag in einer anderen Sprache als Englisch halten möchten, vermerken Sie dies bitte in der Zusammenfassung selbst (z.B. "Dieser Workshop wird auf Thailändisch gehalten." oder "Ich werde einen Vortrag über meine Juliaerfahrungen auf Tschechisch halten.").

+

Wenn Sie einen Workshop oder eine "Birds of a Feather"-Veranstaltung einreichen, die Ihrer Meinung nach besonders von einer bestimmten Uhrzeit profitieren würde, vermerken Sie dies bitte in Ihrem Vorschlag. Wenn Sie z.B. einen Workshop in Mandarin abhalten möchten, geben Sie gerne an, dass dieser zu einem für den asiatischen Raum günstigen Zeitpunkt stattfinden sollte.

+

Aufzeichnungen und Vortragsmaterialien

+

Die JuliaCon 2022 wird eine Online-Konferenz sein. Um die Planung der Konferenz zu erleichtern, werden wir unsere Redner:innen bitten, eine aufgezeichnete Version ihres Vortrags vor der Konferenz einzureichen. Ebenfalls planen wir das gesamte aufgezeichnete Material nach der Konferenz öffentlich zugänglich zu machen. Wenn Sie es aus irgendeinem Grund vorziehen, dass Ihr Video privat bleibt, kontaktieren Sie uns bitte unter juliacon@julialang.org. Wir bitten Sie ebenfalls Ihre Materialien und Aufzeichnungen unter einer Creative-Commons-Lizenz (Standard: keine kommerzielle Weiterverwendung) oder einer anderen Open-Source-Lizenz zur Verfügung zu stellen. Wenn Sie Ihren Vortrag sowohl in Englisch als auch in einer anderen Sprache halten möchten, bitten wir Sie, zwei aufgezeichnete Versionen (eine in jeder Sprachen) einzureichen.

+

Transkripte

+

Um den Zugang zu Beiträgen möglichst barrierefrei zu gestalten, benötigen wir Transkripte zusammen mit Ihrer Videoeinreichung. Bitte beachten Sie eine entsprechende E-Mail, welche weitere Einzelheiten zur Einreichung der Transskripte bekannt geben wird.

+

JuliaCon Proceedings

+

Auch dieses Jahr geben wir wieder Teilnehmern die Möglichkeit Ihre Arbeit als Teil der JuliaCon Proceedings zu veröffentlichen. Weitere Details werden folgen.

+

Registrierung für Vortragende

+

Wir erwarten von unseren Vortragenden, dass sie sich für die Konferenz registrieren. Da die JuliaCon 2022 eine reine Online-Konferenz ist, wird die Anmeldung kostenlos sein.

+

Kontakt

+

Sie können uns bei allen Fragen und Anliegen unter juliacon@julialang.org erreichen.

+

Verhaltenskodex der Konferenz

+

JuliaCon ist bestrebt, allen Teilnehmer:innen ein positives Konferenzerlebnis zu bieten, unabhängig von Geschlecht, Geschlechtsidentität, sexueller Orientierung, Behinderung, körperlichem Aussehen, Körpergröße, Alter, Religion oder nationaler und ethnischer Herkunft. Wir fördern einen respektvollen und rücksichtsvollen Umgang zwischen den Teilnehmenden und dulden keine Belästigung von Konferenzteilnehmer:innen in irgendeiner Form. So sind beispielsweise beleidigende oder sexuelle Ausdrücke und Bilder an keinem Konferenzort angebracht, auch nicht bei offiziellen Gesprächen und beim Plauschen zwischen den Sitzungen. Konferenzteilnehmer:innen, die gegen diese Standards verstoßen, können nach Ermessen der Konferenzorganisator:innen mit Sanktionen belegt oder von der Konferenz ausgeschlossen werden (ohne Rückerstattung). Unseren Verhaltenskodex finden Sie hier (auf Englisch).

+

Anhang

+

Richtlinien und Verfahren der Begutachtung

+

Nachfolgend finden Sie die Richtlinien und Verfahren, welche die Gutachter:innen bei der Beurteilung Ihrer Einreichung anwenden werden. Die Hauptaufgabe der Gutachter:innen besteht darin, die Qualität der Inhalte auf der JuliaCon zu gewährleisten.

+

Interessenkonflikte

+

Im Falle eines Interessenkonflikts verpflichten sich die Begutachtenden, sich von der Begutachtung zurückzuziehen und den Organisatoren mitzuteilen, dass ein Ersatz gefunden werden muss. Kein:e Gutachter:in sollte einen Vortrag begutachten, an dem er:sie als Autor:in beteiligt ist oder in einem anderen Interessenkonflikt steht. In den PNAS-Richtlinien (auf Englisch) finden Sie eine Definition und Beispiele. Ein solcher Konflikt ist insbesondere dann geboten, wenn die begutachtete Arbeit oder die beteiligten Autoren in einer Weise mit dem:der Gutachter:in verbunden sind, "die einen finanziellen oder intellektuellen Interessenkonflikt darstellt oder als solchen wahrgenommen werden könnte" (PNAS-Richtlinien oben).

+

Verhaltensregeln

+

Die Begutachtenden verpflichten sich, den Verhaltenskodex (auf Englisch) der Konferenz bei der Bewertung und bei allen Mitteilungen während des Begutachtungsprozesses zu lesen und einzuhalten.

+

Wenn eine eingereichte Zusammenfassung nicht mit dem Verhaltenskodex übereinstimmt, sollte der:die Gutachter:in dies dem Organisationskomitee anzeigen.

+

Begutachtungskriterien

+

Die Nichteinhaltung dieser Kriterien führt zu einer niedrigeren Bewertung des Beitrages.

+
    +
  1. Die Zusammenfassung sollte auch für Teilnehmenden aus anderen Fachbereichen einfach zu lesen und zu verstehen sein. Der Titel sollte Thema und Inhalt des Beitrages passgenau wiedergeben.

    +
  2. +
  3. Die vorgelegte Zusammenfassung sollte nach bestem Wissen und Gewissen des Gutachters technisch einwandfrei sein.

    +
  4. +
  5. Das Thema sollte für die JuliaCon und die Juliagemeinschaft interessant sein. Beispielsweise kommen die Themen des Call for Proposals in Frage, welche sind:

    +
      +
    • Biologie, Bioinformatik, Gesundheitswesen, Medizin, Medizinsoziologie

      +
    • +
    • Datenanalyse und Datenvisualisierung

      +
    • +
    • Finanzwesen und Wirtschaftswissenschaften

      +
    • +
    • Allgemeine Datenverarbeitung

      +
    • +
    • Industrielle Anwendungen

      +
    • +
    • Details zum Juliakompilierer, zu Juliawerkzeugen und dem Juliaökosystem

      +
    • +
    • Numerische und mathematische Optimierung

      +
    • +
    • Wissenschaftliches Rechnen

      +
    • +
    • Bewährte Praktiken in der Softwareentwicklung

      +
    • +
    • Statistik, maschinelles Lernen und Künstliche Intelligenz

      +
    • +
    • Computergestützte Geistes- und Sozialwissenschaften

      +
    • +
    +
  6. +
  7. Falls das vom Autor vorgeschlagene Beitragsformat (Experience, Kurzvortrag, Vortrag, Workshop, Poster, Minisymposium, Birds of a Feather) unpassend erscheint, können die Begutachtenden dies anzeigen und ein anderes Format vorschlagen.

    +
  8. +
  9. Anwendungen von Julia in einem Unternehmen sind generell von Interesse für die Konferenz. Insbesondere Rückmeldungen zur Produktentwicklung, die Julia und Julias Ökosystem nutzen oder mit ihnen interagieren, sind willkommen. Vorträge und Poster sind jedoch kein geeigneter Ort für Werbung oder Produktplatzierung.

    +
  10. +
+

Benotung

+

Im Folgenden sind die Kriterien aufgeführt, nach denen die Noten von 1 (wenig erfüllt) bis 5 (voll erfüllt) vergeben werden sollten:

+
    +
  1. Anwendbarkeit für die Juliagemeinschaft. Wären Julianutzer:innen an diesem Vortrag interessiert, entweder wegen der Methoden oder wegen der Ergebnisse? Höher bewertete Vorschläge sollten für Julianutzer:innen von großem Interesse sein.

    +
  2. +
  3. Beiträge für die Gemeinschaft. Handelt es sich um ein neues Paket, das andere nutzen können? Höher bewertete Vorschläge sollten Code oder Ideen sein, die andere nutzen können.

    +
  4. +
  5. Klarheit. Was ist der Zweck dieses Vortrags? Was werden die Teilnehmer:innen lernen? Vorschläge, die eine höhere Punktzahl erreichen, sollten eine klare Vortragsabsicht haben.

    +
  6. +
  7. Bedeutung für die Gemeinschaft. Handelt es sich um etwas, was die Art und Weise wie Julia oder das Paket-Ökosystem genutzt wird verändern wird? Höher bewertete Vorschläge sollten für Julianutzer:innen von größerer Bedeutung sein. Beachten Sie, dass dies keine wissenschaftliche Bedeutung erfordert, sondern nur die Bedeutung als Software oder Anleitung für Julianutzer:innen.

    +
  8. +
  9. Themenvielfalt. Als Gemeinschaft schätzen wir die Vielfalt der Anwendungen. Vorschläge, die auf neue Bereiche und Felder abzielen, die die Juliagemeinschaft erweitern kann, sollten eine gewisse Anerkennung erhalten.

    +
  10. +
  11. Fundiertheit. Die Vorschläge sollten technisch solide sein. Offensichtliche Unrichtigkeiten sollten hervorgehoben und berücksichtigt werden.

    +
  12. +
  13. Einstufung. Die Kriterien werden für längere Präsentationen strenger sein.

    +
  14. +
+

Begutachtungsprozess

+ +

Gutachterkommentare

+

Jede Bewertung sollte einen Kommentar enthalten, der die vergebene Punktzahl rechtfertigt. Ein Kommentar könnte zum Beispiel so lauten:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/cfp_es/index.html b/previews/PR609/2023/cfp_es/index.html new file mode 100644 index 000000000..f0d08e085 --- /dev/null +++ b/previews/PR609/2023/cfp_es/index.html @@ -0,0 +1,351 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon2022 CFP (Call for Proposals) ¡en Español! + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon2022 CFP (Call for Proposals) ¡en Español!

+ +

Este documento está disponible en francés, alemán, chino, ... (¿Falta su idioma? Por favor mande un Pull Request)

+

Les invitamos a presentar una propuesta de plática en JuliaCon2022.

+

JuliaCon tradicionalmente ha presentado pláticas desde introductorias hasta avanzadas abarcando temas de todos los campos e involucrando desarrolladores e investigadores en la industria y la academia. Si usted ha trabajado o trabaja actualmente en o con Julia, JuliaCon es un excelente foro para compartir su trabajo con la comunidad de Julia.

+

Aceptamos contribuciones diversas, en campos como:

+ +

El criterio de inclusión más importante es que el tema sea interesante y relevante para la comunidad de Julia, incluso si corresponde a una disciplina muy específica.

+

Tipos de propuestas

+

Este año, tendremos 6 diferentos tipos de presentación. Todas las presentaciones serán pre-grabadas y entregadas a principios de julio (fecha exacta por determinarse). Por primera vez, este año aceptaremos propuestas que no sean en inglés. Léase abajo para mayor detalle.

+

Pláticas

+ +

Minisymposio

+

Un minisymposio es una "conferencia dentro de una conferencia" donde los organizadores son responsables por coordinar a los ponentes, páneles y las discusiones como vean apropiado. Se espera que los organizadores de un minisymposium provean moderadores y organizadores para las sesiones como vean apropiado. Un minisymposio tiene asignado un horario de 2 a 3 horas consecutivas. Nota: En contraste con JuliaCon2021, los minisymposios sucederán antes de la fecha oficial de la conferencia, simultáneamente a los talleres (workshops).

+

Workshops / Talleres

+

Un taller es una sesión interactiva de usualmente 3 horas donde los presentadores programan en vivo frente a la audiencia y comparten código para poder seguir sus ejemplos. Los talleres suceden antes de las fechas oficiales de la conferencia. Hemos tenido como talleres tutoriales específicos de paqueterías particulares y tutoriales para áreas en paricular. Nota: Como este es el primer año en el que JuliaCon va a aceptar propuestas de talleres en idiomas dieferentes al inglés, por favor considere mantener el nivel de los talleres a nivel introductorio si usted quiere proponer un taller en un idioma diferente al inglés.

+

Birds of a Feather / Grupos de interés

+

(N.B. En inglés la frase "birds of a feather, flock together" se usúa para grupos de personas dentro de una organización que comparten un interés. Así, en el mundo de programación hay "Birds of a Feather" que traten Machine Learning, trabajo con GPUs, ambientes gráficos, inclusión y equidad de género, etc.)

+

Las sesiones de Birds of a Feather / Grupos de interés son sesiones dedicadas para organizar discusiones alrededor de ciertos temas en específico. Por ejemplo, los desarrolladores de paquetes pueden usar este horario para organizar una junta y reclutar colaboradores, o miembros de la comunidad pueden organizar discusiones sobre materiales de enseñanza de Julia. Estas sesiones tendrán un horario de 1 hora asignado, y no serán grabadas.

+

Experiences / Experiencias

+

El propósito de este espacio es darle la bienvenida a miembros nuevos de la comunidad. Por ejemplo, se presentan temas como sus características favoritas de Julia, cómo Julia fue útil para resolver cierto problema, o un problema interesante que resolvieron con Julia en universidad, preparatoria ¡o secundaria! Éstas presentaciones duran 3 minutos cada una y serán interpuestas durante las distintas sesiones de la conferencia. No habrá tiempo asignado para contestar preguntas de la audiencia en este tipo de presentaciones. Por tanto, les invitamos cordialmente a que muestren su información de contacto, ya sea su usuario en twitter, github, o su correo, en sus diapositivas de la presentación si aceptarían preguntas offline. Especialmente buscamos a principiantes y primerizos de la comunidad de Julia para que compartan sus impresiones con la comunidad usando presentaciones de este tipo. Si usted usa Julia en sus materiales de clase, le invitamos a invitar a sus estudiantes a que envíen sus propuestas y compartan sus experiencias con la comunidad de Julia.

+
+

Cuando uno postula una propuesta de plática (abstract), se pueden seleccionar una de varias categorías.

+

Detalles de propuestas

+

Usaremos un proceso de propuestas anonimizado para evitar sesgos en el proceso de selección de ponentes. Dado que es imposible seguir protocolos de doble ciego pues las propuestas van acompañadas de código abierto, se llevan a cabo todos los esfuerzos posibles para asegurar un juicio imparcial de sus propuestas. Si usted está postulando una propuesta para una sesión en un idioma distinto al (puede ser en su propio lenguaje), por favor añada una versión de la propuesta en inglés (una traducción automatizada es aceptable). Intentaremos encontrar hablantes nativos de su idioma para revisar la propuesta, pero, en caso que no sea posible, usaremos la traducción en inglés para poder usar un mayor número de jueces. En caso que usted elija presentar en un lenguaje distinto al inglés, por favor anótelo explícitamente en el abstract (e.g. "Este taller será presentado en tailandés", ó "Esta Julia Experience será en checo.")

+

Si usted postula una propuesta de taller o de una sesión Birds-of-a-feather que cree que se beneficiaría particularmente de llevarse a cabo en cierto horario, por favor escríbalo en su propuesta. Por ejemplo, si quiere presentar una propuesta en mandarín, y que sea en un horario conveniente para los ponentes en Asia, indíquelo en la propuesta.

+

Grabaciones y materiales

+

JuliaCon 2022 será una conferencia online, y para facilitar la organización de la conferencia, le hemos pedido a los ponentes enviar una versión pre-grabada de su plática antes de la conferencia. Planeamos subir todo el material para que esté públicamente disponible después de la conferencia. Si por cualquier razón, usted prefiere que su video permanezca privado y no sea almacenado, por favor contáctenos en juliacon@julialang.org. Finalmente, le pedimos que sus materiales y grabación sean disponibles bajo una licencia de Creative Commons (por default sin uso comercial) u otra licencia de open source. Si usted quiere dar su plática en inglés y otro lenguaje, le pediremos que grabe 2 versiones de su plática, una en en cada lenguaje.

+

Transcripciones

+

Para mejorar la accessibilidad de la conferencia, le pediremos a los ponentes que incluyan subtítulos con sus propuestas. Se enviarán más instrucciones a sus correos para darle seguimiento a este proceso.

+

Publicación de actas de la conferencia

+

Este año le ofrecemos a los participantes la oportunidad de publicar su trabajo como parte de los "proceedings" o actas de JuliaCon. Las actas de una conferencia son un registro escrito de un congreso, que suele incluir resúmenes o informes de trabajos presentados por los asistentes. Se anunciarán más detalles a futuro.

+

Registro de ponentes

+

Se espera que los ponentes se registren para la conferencia. Dado que JuliaCon 2022 es totalmente virtual, el registro será gratis.

+

Cómo contactarnos

+

Nos pueden contactar con dudas, comentarios o sugerencias en juliacon@julialang.org.

+

Código de conducta para la Conferencia

+

JuliaCon tiene un compromiso con ser una experiencia positiva de conferencia para todos sus asistentes, independientemente de su género, identidad o expresión de género, orientación sexual, discapacidad, apariencia física, tamaño corporal, raza, edad, religión, u origen nacional o étnico. Alentamos las interacciones respetuosas y consideradas entre asistentes y no toleramos el acoso de participantes en la conferencia en cualquiera de sus foros, incluidos pláticas formales y discusiones entre ellas. Los participantes que violen estos acuerdos serán sancionados o expulsados de la conferencia (sin reembolso) a la discreción de los organizadores de la conferencia. Nuestra política anti-acoso se encuentra aquí.

+

Apéndice

+

Repaso de lineamientos y procesos

+

Las guías y procedimientos para la revisión de propuestas de pláticas se encuentran a continuación como referencia.

+

El rol de los jueces es asegurar la calidad del contenido presentado en JuliaCon.

+

Conflictos de interés

+

En casos de conflictos de interés, los jueces se comprometen a recusarse y señalárselo a los organizadores para encontrar un reemplazo rápidamente. Ningún juez debe emitir un juicio sobre una plática en donde sean autores o tengan cualquier otra forma o conflicto de interés. Véase las guías de PNAS sobre conflicto de interés para saber definiciones y ejemplos. Los conflictos de interés pueden incluir cualquier trabajo o autores con los cuales los jueces haya tenido "cualquier asociación la cual podría percibirse como un conflicto de interés intelectual o financiero" (guía de PNAS anterior.)

+

Código de conducta

+

Nuestros jueces se compromenten a leer y respetar el Código de Conducta en sus recomendaciones y todas sus comunicaciones durante el proceso de revisión.

+

Si una propuesta no cumple con el código de conducta, los jueces deben referirlo al comité organizador.

+

Criterios de evaluación de propuesta

+

No cumplir con los siguientes criterios disminuirá el puntaje de la propuesta.

+
    +
  1. La propuesta debe ser fácil de leer y entender para alguien no experto en el mismo tema. El título debe ser fácil de identificar por el tema al que se refiere.

    +
  2. +
  3. La propuesta debe ser técnicamente sólida hasta donde puedan entender sus jueces.

    +
  4. +
  5. El tema debe ser de interés para JuliaCon, incluyendo pero no limitado a temas listados en el Call for Proposals.

    +
  6. +
+ +
    +
  1. Si el formato requerido por los autores (experiencia, plática rápida, taller, poster, minisymposio, grupos de interés) no parece apropiado, los jueces pueden señalarlo y sugerir otro.

    +
  2. +
  3. Los usos de Julia dentro de ambientes comericales son de interés para la conferencia. En particular, la retroalimentación en el desarrollo de productos por medio de Julia y su ecosistema son bienvenidos. Sin embargo, las pláticas y posters no son adecuados para la promoción de productos.

    +
  4. +
+

Criterios de calificación

+

En cada uno de los siguientes criterios se asignarán calificaciones del 1 al 5:

+
    +
  1. Aplicabilidad para la comunidad de Julia. ¿Estarán interesados los usuarios de Julia en ésta plática por sus métodos o resultados? Las propuestas con mayor calificación deberían ser de interés para usuarios de Julia.

    +
  2. +
  3. Contribuciones a la comunidad. ¿Esto es un nuevo paquete para la comunidad? Se asignará una mayor calificación a las propuestas con código o ideas que los demás puedan usar.

    +
  4. +
  5. Claridad. ¿Cuál es el propósito de esta plática? ¿Qué aprenderá la gente? Las propuestas con mayor calificación deberían tener propósitos claros.

    +
  6. +
  7. Impacto en la comunidad. ¿Esta propuesta puede cambiar la manera que muchos otros usuarios usen Julia o su ecosistema? Las propuestas con mayor calificación deberían ser más significantes para usuarios de Julia. Observemos que esto no significa impacto científico, sólo impacto como software o tutorial a usuarios de Julia.

    +
  8. +
  9. Diversidad de temas. Como comunidad alentamos la diversidad de propuestas. Las propuestas que traigan temas o áreas nuevas para la comunidad de Julia tendrán mayor calificación.

    +
  10. +
  11. Solidez. Las propuestas deben ser técnicamente sólidas. Errores profundos deben ser señalados y tomados en cuenta.

    +
  12. +
  13. Clasificación. Los criterios serán más estrictos para presentaciones más largas.

    +
  14. +
+

Proceso de revisión

+ +

Comentarios de revisión

+

Cada revisión debe incluir un comentario que justifique la calificación asignada. Por ejemplo, un comentario podría ser:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/cfp_fr/index.html b/previews/PR609/2023/cfp_fr/index.html new file mode 100644 index 000000000..3f8bee484 --- /dev/null +++ b/previews/PR609/2023/cfp_fr/index.html @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Appel à communications JuliaCon 2022 + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Appel à communications JuliaCon 2022

+

L'appel à communications se terminera le [TBD]

+

Nous vous invitons à soumettre vos propositions d'interventions à JuliaCon 2022.

+

La conférence offre typiquement un panel d'interventions de niveau débutant à confirmé, dans des domaines divers, assurées par des personnes issues du monde de la recherche, du développement logiciel et de l'industrie. Si vous avez travaillé sur Julia, JuliaCon est la conférence la plus adaptée pour diffuser vos travaux dans la communauté.

+

Pour vous faire une idée des présentations des années précédentes, vous pouvez consulter les programmes et interventions des éditions antérieures (2014, 2015, 2016, 2017, 2018, 2019, 2020, et 2021).

+

La conférence est potentiellement intéressée par tous les domaines de recherche autour de et utilisant Julia, notamment :

+ +

La considération principale pour l'évaluation des propositions est l'intérêt potentiel pour la communauté Julia.

+

Catégories d'interventions

+

Cette année, 6 différentes catégories d'interventions sont accessibles. Lors de la soumission d'une proposition, plusieurs catégories d'interventions peuvent être suggérées. Toutes les interventions devront être préenregistrées et soumises début juillet (la date exacte sera communiquée ultérieurement). Les sessions d'échanges de groupe et les ateliers se tiendront en direct sans enregistrement. Pour la première fois, JuliaCon acceptera cette année des propositions d'intervention en langue non anglaise (voir ci-dessous).

+

Présentations orales

+

Les présentations orales servent à partager vos travaux avec la communauté Julia, qu'ils soient liés à du développement logiciel, de la recherche ou des applications à un domaine spécifique.

+ +

Cette année, vous pouvez choisir de donner votre intervention en anglais, une autre langue ou les deux.

+

Minisymposia

+

Un minisymposium est une conférence dans la conférence, pour laquelle les personnes chargées de l'organisation peuvent planifier les intervenant·e·s, panels et discussions à leur guise. L'équipe d'organisation d'un minisymposium doit proposer un modérateur ou une modératrice pour la session. Un minisymposium occupe deux à trois heures selon les possibilités de la conférence. Note : contrairement à JuliaCon 2021, en 2022 les minisymposia auront lieu avant le début officiel de la conférence, avec les ateliers.

+

Ateliers

+

Un atelier est une session interactive de deux à trois heures orientée vers la pratique, durant laquelle du code source est écrit et partagé en direct avec le public pour lui permettre de suivre facilement l'exposé. Les ateliers auront lieu en amont du début officiel de la conférence. Ils peuvent porter sur un package en particulier ou sur un domaine d'application. Note : 2022 est la première édition de JuliaCon proposant des ateliers non anglophones. Si vous souhaitez proposer un atelier dans une langue hors anglais, concevez-le de façon accessible pour un niveau débutant.

+

Posters virtuels

+

JuliaCon 2022 ayant lieu complètement en ligne, les personnes présentant un poster n'ont besoin de l'imprimer sur papier. À la place, il leur est demandé de fournir un enregistrement de trois minutes sur leur sujet. Ces contenus seront ensuite diffusés dans des salons de chat dédiés, où les participant·e·s pourront venir visionner les vidéos et discuter du sujet.

+

"Qui se ressemble s'assemble" (Birds of a Feather)

+

Les sessions Birds of a Feather permettent des discussions en plus petit comité autour d'un sujet spécifique. Par exemple, elles peuvent servir aux gestionnaires d'un package pour rencontrer / recruter des collaborateurs et collaboratrices. Des membres de la communauté peuvent aussi les utiliser pour échanger sur l'enseignement de Julia ou les initiatives en faveur de la diversité. Ces sessions dureront une heure, et ne seront pas enregistrées.

+

Retours d'expérience

+

L'objectif des retours d'expérience est d'accueillir de nouveaux membres dans la communauté Julia. On peut lister comme exemples de sujets vos fonctionnalités préférées du langage, comment Julia vous a aidé à résoudre un certain type de problèmes, ou plus généralement, comment vous avez intégré Julia à vos outils et processus. Ces présentations durent trois minutes chacune et seront intégrées à travers toutes les sessions au cours de la conférence. Nous vous invitons à ajouter vos coordonnées (pseudo Twitter, GitHub, courriel) sur les slides si vous souhaitez recevoir des questions, puisqu'il n'y aura pas de temps d'échange dédié après la diffusion de votre présentation. Nous encourageons particulièrement les personnes qui viennent de rejoindre la communauté à partager leurs impressions en utilisant ce format. Si vous enseignez et utilisez Julia dans vos cours, nous vous encourageons à inviter vos étudiants à proposer leurs retours d'expériences.

+

Détails sur les soumissions

+

Nous utilisons un processus de revue en simple aveugle (l'identité des reviewers est inconnue à la personne qui soumet une proposition), ceci afin de favoriser la sincérité des commentaires. Bien qu'il soit difficile d'imposer un processus de revue en double aveugle (puisque la plupart des soumissions doivent contenir un lien vers du code public open source), tous les efforts seront mis en oeuvre pour garantir une évaluation impartiale. Si vous soumettez une proposition en langue non anglaise, vous pouvez utiliser le langage de votre choix. En complément, veuillez soumettre une traduction en anglais de votre proposition (une traduction automatique est acceptable). Nous tenterons systématiquement de trouver des personnes maîtrisant la langue choisie pour évaluer au mieux votre proposition. Cependant, si cela s'avère impossible, nous utiliserons la version en anglais afin d'agrandir l'ensemble des reviewers. Si vous choisissez de présenter dans une langue non anglaise, veuillez l'indiquer dans l'abstract directement ("cet atelier sera présenté en tchèque" ou "je donnerai cette présentation en espagnol").

+

Si vous soumettez un atelier ou une session Birds of a Feather qui pourrait bénéficier d'un horaire spécifique, merci de le mentionner dans votre proposition. Par exemple, si vous souhaitez présenter en mandarin, il peut être préférable de viser une plage horaire confortable pour les personnes qui participent depuis l'Asie. Merci de l'indiquer dans l'abstract. il peut être préférable de trouver une plage horaire pratique pour l'audience participant depuis l'Asie, indiquez-le dans l'abstract.

+

Enregistrements et supports

+

JuliaCon 2022 sera complètement en ligne, et pour faciliter l'organisation de la conférence, nous demandons que toutes les présentations soient pré-enregistrées avant la conférence. L'ensemble de ce contenu sera rendu public après la conférence. Si, pour une raison quelconque, vous ne souhaitez pas que votre enregistrement soit diffusé après la conférence, contactez-nous sur juliacon@julialang.org. Nous vous demandons également de rendre vos documents et enregistrements accessibles sous une licence Creative Commons (default: no commercial reuse) ou une autre license open source. Si vous souhaitez donner votre présentation en anglais et une autre langue, nous vous demanderons d'envoyer les deux versions enregistrées.

+

Transcriptions vidéo

+

Pour améliorer l'accessibilité de la conférence, nous vous demanderons d'accompagner votre vidéo d'une transcription écrite. Restez attentif à vos courriels pour les détails sur le processus de soumission.

+

Publication d'articles de conférence

+

Nous offrons la possibilité aux personnes qui présentent de soumettre également leurs travaux sous forme d'articles de conférence dans les publications de proceedings de la JuliaCon. D'autres informations suivront.

+

Inscription

+

Les personnes qui interviennent doivent également s'inscrire pour participer à la conférence, qui sera en ligne et entièrement gratuite.

+

Nous contacter

+

Nous sommes joignables à l'adresse juliacon@julialang.org pour répondre à vos questions ou préoccupations.

+

Code de Conduite de la conférence

+

JuliaCon s'engage à proposer une expérience positive pour toute personne participante sans différence de genre, d'expression ou d'orientation sexuelle, de handicap, d'apparence physique, de morphologie, de race, d'âge, de religion, de nationalité ou d'origine ethnique. Nous encourageons fortement les interactions respectueuses et prévenantes entre les personnes qui participent, et ne tolérerons aucune forme de harcèlement. Par exemple, les propos ou images à caractère sexuel ou offensant ne sont appropriés dans aucun des lieux virtuels et espaces de discussion, ni dans les sessions formelles, ni dans les moments d'échange entre les sessions. Les personnes ne respectant pas ces conventions pourront être sanctionnées ou expulsées de la conférence à la discrétion de l'équipe organisatrice. Notre politique anti-harcèlement peut être consultée ici : https://juliacon.org/2022/coc/.

+

Annexes

+

Processus et consignes pour la revue

+

Vous trouverez ci-dessous le guide de revue et d'évaluation des propositions qui sera utilisé à la réception de votre soumission.

+

Le rôle des reviewers est d'assurer la qualité du contenu présenté à JuliaCon.

+

Conflit d'intérêt

+

Dans tout cas de conflit d'intérêt parmi les reviewers d'une soumission, la personne concernée s'engage à se retirer du processus d'évaluation et à le signaler à l'équipe organisatrice pour trouver rapidement un remplacement. il est interdit aux reviewers de consulter l'évaluation d'une proposition à laquelle ils ou elles ont contribué, ou bien qui présente une autre forme de conflit d'intérêt. Se référer au guide PNAS https://www.pnas.org/page/authors/conflict-of-interest pour des définitions et exemples. En particulier, les conflits d'intérêts incluent tout travail et toute personne avec qui existe "une association qui présente ou peut être perçue comme un conflit d'intérêt intellectuel ou financier" (cf guide PNAS ci-dessus).

+

Code de Conduite

+

Les reviewers s'engagent à lire et respecter le Code de Conduite de la conférence dans leurs évaluations et communications, tout au long du processus de revue. Si un abstract soumis n'est pas conforme au Code de Conduite, il est nécessaire d'en informer le comité d'organisation.

+

Critères d'évaluation

+

Une proposition ne remplissant pas l'un des critères suivants se verra attribuer un score plus bas :

+
    +
  1. L'abstract doit être facile à lire et à comprendre pour quelqu'un ne travaillant pas dans le même domaine. Le titre doit permettre d'identifier le sujet de l'intervention.

    +
  2. +
  3. L'abstract doit être scientifiquement correct, pour autant que les reviewers puissent en juger.

    +
  4. +
  5. Le sujet doit être un des sujets d'intérêt pour JuliaCon, ce qui inclut notamment (mais pas uniquement) les domaines listés plus haut :

    +
  6. +
+ +
    +
  1. Si le format demandé lors de la soumission (retour d'expérience, présentation longue ou courte, atelier, poster, minisymposium, Birds of a Feather) ne semble pas approprié au contenu présenté, les reviewers peuvent le signaler et en suggérer un autre.

    +
  2. +
  3. Les études de cas concernant Julia en entreprise sont généralement intéressantes pour la conférence. Plus spécifiquement, les retours d'expérience sur le développement de produits utilisant ou interagissant avec Julia et son écosystème sont bienvenus. Cependant, ils ne doivent pas donner lieu à du placement de produit.

    +
  4. +
+

Barème pour l'évaluation

+

Les critères ci-dessous seront évalués de 1 à 5 pour chaque soumission :

+
    +
  1. Applicabilité à la communauté Julia. Les personnes utilisant le langage seront-elles intéressées par cette contribution, que ce soit pour ses méthodes ou pour ses résultats ? Les scores les plus hauts doivent traduire une large applicabilité à travers les centres d'intérêt de la communauté.

    +
  2. +
  3. Apport à la communauté. S'agit-il d'un nouveau package, d'une nouvelle idée utilisable directement ? Les scores les plus hauts doivent être attribués à des travaux que d'autres peuvent utiliser.

    +
  4. +
  5. Clarté. Quel est l'objectif de l'intervention ? Que va apprendre l'audience ? Les propositions avec des scores hauts doivent être claires dans leurs objectifs.

    +
  6. +
  7. Importance pour la communauté. Est-ce que la contribution peut changer la façon dont les autres utiliseront Julia ou son écosystème de packages ? Des scores hauts doivent correspondre à une plus grande importance pour la communauté. À noter, l'importance ici n'est pas nécessairement scientifique, mais peut désigner la valeur du logiciel ou du tutoriel proposé pour les utilisateurs de Julia.

    +
  8. +
  9. Diversité des sujets. En tant que communauté, nous valorisons la diversité des applications. Les propositions visant de nouveaux domaines et disciplines qui étendent la communauté Julia doivent être valorisées.

    +
  10. +
  11. Validité. Les propositions doivent être techniquement et scientifiquement correctes. Des erreurs évidentes doivent être soulignées et prises en compte.

    +
  12. +
  13. Types de proposition. Les exigences seront plus élevées pour les formats plus longs.

    +
  14. +
+

Processus de revue

+ +

Toutes les personnes ayant proposé un atelier satisfaisant la qualité attendue seront contactées pour construire un programme d'ateliers diversifié et cohérent basé sur ces propositions.

+ +

Commentaires de revue

+

Chaque évaluation doit inclure un commentaire qui justifie le score attribué à la proposition. Voici des exemples de commentaires pertinents :

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/cfp_pt/index.html b/previews/PR609/2023/cfp_pt/index.html new file mode 100644 index 000000000..0c1f89e1f --- /dev/null +++ b/previews/PR609/2023/cfp_pt/index.html @@ -0,0 +1,380 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 CFP + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 CFP

+

Este documento está traduzido em francês, alemão, espanhol, russo, chinês simplificado, ... (Falta o seu idioma? Envie um PR)

+

As inscrições para palestrantes na JuliaCon 2022 estão abertas e aguardamos a sua proposta.

+

A JuliaCon tradicionalmente apresenta palestras que vão do introdutório ao avançado em tópicos relacionados a vários campos, com desenvolvedores e pesquisadores tanto da academia quanto da indústria. Se você já trabalhou com Julia, a JuliaCon é o melhor meio de compartilhar o seu trabalho com a comunidade do Julia.

+

Para ter noção das apresentações em anos anteriores, veja os nossos programas e gravações: (2014, 2015, 2016, 2017, 2018, 2019, 2020, and 2021).

+

Nós estamos interessados em escutar sobre todos os tópicos que tem relação com Julia. Exemplos deste tipo de tópico são:

+ +

O critério mais importante é se o tópico pode ser interessante para a comunidade do Julia.

+

Tipos de proposta

+

Esse ano teremos 6 tipos diferentes de proposta que podem ser submetidas. Todas as apresentações serão pré-gravadas e enviadas até o começo de julho (a data exata será anunciada posteriormente). Espera-se que Oficinas e Grupos de Interesse sejam ao vivo. Pela primeira vez aceitaremos propostas de trabalho que não estão em Inglês. Veja abaixo para mais detalhes.

+

Palestras

+

Esse tipo é dedicado primariamente ao compartilhamento de trabalhos técnicos com a comunidade do Julia, sejam trabalhos relacionados ao desenvolvimento de software, pesquisa ou aplicação em algum campo específico.

+ +

Minissimpósios

+

Um minissimpósio é uma "conferência dentro de uma conferência", onde os organizadores são responsáveis por agendar palestrantes, painéis e discussões como acharem melhor. Espera-se que os organizadores de um minissimpósio forneçam um moderador ou presidente de mesa (chair) para a sessão. Um minissimpósio é alocado na agenda em um espaço de 2 ou 3 horas. Nota: Em contraste com a JuliaCon 2021, os minissimpósios serão agendados antes do começo oficial da conferência, juntamente aos minicursos.

+

Minicursos

+

Um minicurso é usualmente uma sessão interativa de 3 horas, onde o apresentador programa ao vivo na frente da audiência e compartilha o código com o público para facilitar o acompanhamento. Os minicursos ocorrerão antes do começo oficial da conferência. Exemplo de tópicos para esse tipo de evento incluem tutoriais de pacotes específicos ou tutorials de um tópico específico. Nota: Como esse é o primeiro ano em que a JuliaCon aceitará propostas de minicursos em várias línguas, então pedimos que mantenham o nível do minicurso mais próximo do introdutório se a língua do minicurso não for o Inglês.

+

Pôsteres Virtuais

+

Como a JuliaCon 2022 será inteiramente virtual esse ano, então os apresentadores desse tipo não prepararão pôsteres físicos. Ao invés disto, pedimos que forneçam uma gravação de 3 minutos do seu tópico proposto. Os vídeos serão usados em salas de bate-papo dedicadas à exibição dos pôsteres virtuais, onde o público poderá assistir o vídeo e participar da conversa sobre ele ou o tópico apresentado.

+

Grupos de Interesse (Birds of a Feather)

+

As sessões de grupos de interesse são sessões para discussões organizadas em torno de tópicos específicos. Por exemplo, os mantenedores de pacotes podem usar essas sessões para organizar um encontro e recrutar contribuidores, ou membros da comunidade podem organizar grupos de discussão sobre recursos de ensino para o Julia ou contratação de diversidade. Essas sessões serão alocadas na agenda em um espaço de 1 hora e não serão gravadas.

+

Experiências

+

O objetivo desse tipo é receber os novos membros da comunidade. Exemplo de tópicos incluem a sua funcionalidade favorita no Julia, como o Julia te ajudou a resolver um determinado problema, um problema interessante que você resolveu em uma aula na universidade, ou, de modo mais geral, como o Julia tem sido uma boa adição para o seu fluxo de trabalho. Essas apresentações durarão 3 minutos e serão distribuídas entre diferentes sessões durante a conferência. Nós encorajamos que o apresentador mostre informações de contato como o nome de usuário no Twitter ou GitHub, ou seu endereço de e-mail nos seus slides se estiver aberto a receber perguntas, pois não será alocado tempo para perguntas do público. Nós somos especialmente receptivos aos novos membros compartilharem suas impressões com a comunidade usando esse tipo. Se você é um professor usando Julia nas suas aulas, nós encorajamos que convide os seus estudantes para aplicar neste tipo e compartilhar essas experiências com a comunidade do Julia.

+
+

Ao submeter sua proposta (resumo), você pode selecionar várias categorias para avaliação.

+

Detalhes da aplicação

+

Nós usamos um processo de aplicação anonimizada para evitar viés de seleção relacionado ao candidato. Apesar de ser impossível forçar um duplo cego, dado que a maior parte das aplicações deve conter links para códigos-fonte abertos, todo o esforço será feito para uma avalição imparcial. Se você está submetendo uma proposta para sessão em outra língua que não em inglês, então a submissão também pode ser na mesma língua escolhida. Adicionalmente, por favor sempre forneça uma versão em inglês da sua proposta (mesmo uma tradução de máquina está bom!). Nós iremos sempre buscar falantes nativos da língua de escolha para avaliar a proposta. No entanto, caso isso não seja possível, nós utilizaremos a tradução em inglês de modo a submeter para um grupo maior de avaliadores. Se escolher apresentar em uma língua diferente do Inglês, por favor mencione isso no próprio resumo (e.g. "Essa oficina será apresentada em Tailandês", ou "Eu farei uma exposição de Experiências em Tcheco").

+

Se você está aplicando uma oficina ou grupo de interesse que acredita se beneficiar de ocorrer em um horário determinado, por favor indique isso na sua proposta. Por exemplo, se você quiser apresentar uma oficina em Mandarim, e quer que ocorra em um horário conveniente para o público na Ásia, indique isso no seu resumo.

+

Gravações e materiais

+

A JuliaCon 2022 será uma conferência online, e para facilitar o planejamento da conferência, nós pedimos aos nossos apresentadores que submetam uma versão gravada da apresentação antes da conferência, e planejamos tornar todo o material gravado acessível ao público após a conferência. Se, por alguma razão, você preferir que o seu vídeo permaneça privado, por favor contate-nos em juliacon@julialang.org. Finalmente, também pedimos que coloque o seu material e gravação disponíveis com licença Creative Commons (padrão: sem reuso comercial) ou outra licença de código aberto. Se você desejar que a sua apresentação seja em inglês e outra língua, então pedimos que submeta duas versões da gravação (uma em cada língua).

+

Transcrições

+

De modo a melhorar a acessibilidade, nós exigimos transcrições como parte da aplicação. Fique de olho no e-mail usado na aplicação para maior detalhes sobre o processo.

+

Publicações nos Anais

+

Esse ano nós oferecemos a chance de ter o seu trabalho publicado como parte dos anais da JuliaCon. Mais detalhes em breve.

+

Registro para apresentadores

+

Nós esperamos que os apresentadores se registrem para a conferência. Note que como a JuliaCon 2022 é inteiramente online, então o registro será gratuito.

+

Contatos

+

Você pode nos contatar com questões e comentários em juliacon@julialang.org.

+

Código de Conduta da Conferência

+

A JuliaCon é dedicada a prover uma experiência positiva para todos os atendentes, sem discriminação de gênero, identidade ou expressão de gênero, orientação sexual, capacidade, aparência física, tamanho, etnia, idade, religião ou origem nacional. Nós encorajamos interações entre o público que sejam respeitosas e com consideração pelo bem-estar do outro, de modo que não toleramos qualquer tipo de assédio aos participantes. Por exemplo, linguagem ou menções de cunho sexual não são apropriadas em qualquer espaço da conferência, incluindo palestras e sessões de conversa entre eventos. Participantes que violem esse padrão podem ser sancionados ou expulsos da conferência (sem reimbolso) pelos organizadores. Nossa política anti-assédio pode ser vista aqui.

+

Apêndice

+

Processo de avaliação

+

Para referência, abaixo se encontram os guias e processos de avaliação que os revisores empregarão para a seleção.

+

O paper dos revisores é garantir a qualidade do conteúdo apresentado na JuliaCon.

+

Conflito de interesses

+

Em qualquer caso de conflito de interesse, o revisor alegará sua suspeição e sinalizará para os demais organizadores de modo a encontrar um substituto rapidamente. Nenhum revisor deve avaliar uma aplicação na qual seja autor ou tenha outra forma de conflito de interesse. Veja o guia PNAS para mais informações. Conflitos de interesse incluem qualquer trabalho ou autores com os quais o revisor possua "qualquer associação que seja percebida como conflito de interesse de ordem intelectual ou financeiro" (ver guia PNAS acima).

+

Código de Conduta

+

O revisor se compromete a ler e respeitar o Código de Conduta da conferência na avaliação e em toda comunicação durante o processo de seleção.

+

Se um resumo submetido não estiver de acordo com o Código de Conduta, o revisor deve remetê-lo ao comitê dos organizadores.

+

Critérios para a avaliação

+

Não alcançar os critérios abaixo resultará em notas menores.

+
    +
  1. O resumo deve ser fácil de ler e compreensível para alguém que não trabalhe no mesmo tópico. O título deve tornar fácil de identificar o tópico abordado pelo conteúdo.

    +
  2. +
+
    +
  1. O resumo apresentado deve ser tecnicamente correto até onde for capaz de avaliar dado o conhecimento do revisor.

    +
  2. +
+
    +
  1. O tema deve ser de interesse para a JuliaCon, incluindo, mas sem se limitar, aos tópicos listados na chamada de propostas.

    +
  2. +
+ +
    +
  1. Se o tipo de apresentação pedido pelo autor (experiência, palestra, minicurso, pôster, minissimpósio, grupo de interesse) não parecer apropriado, o revisor pode sinalizar ao candidato e sugerir outro tipo.

    +
  2. +
+
    +
  1. Casos de uso do Julia em ambientes da iniciativa privada são geralmente de interesse da conferência. Em particular, conteúdo sobre o desenvolvimento de produtos usando ou interagindo com o Julia e seu ecossistema são bem-vindos. No entanto, palestras e pôsteres não são lugares adequados para propaganda ou venda de produtos.

    +
  2. +
+

Critérios de pontuação

+

A seguir estão os critérios pelos quais serão atribuidas as notas (1-5):

+
    +
  1. Aplicabilidade para a comunidade Julia. Os usuários do Julia estariam interessados nessa apresentação pelos métodos ou seus resultados? Propostas de interesse amplo dos usuários do Julia devem receber maiores notas.

    +
  2. +
+
    +
  1. Contribuições para a comunidade. É um novo pacote para as pessoas usarem? Pospostas de código ou ideias que outros podem usar devem receber maiores notas.

    +
  2. +
+
    +
  1. Clareza. Qual a finalidade dessa apresentação? O que as pessoas vão aprender? Propostas que sejam claras quanto ao seu objetivo devem recerber maiores notas.

    +
  2. +
+
    +
  1. Significância para a comunidade. Isso é algo que mudará a forma de várias outras pessoas usarem Julia ou seu ecossistema de pacotes? Propostas mais significantes para os usuários do Julia devem recerber maiores notas. Note que isso não requer significância científica, apenas significância como software ou tutorial para os usuários do Julia.

    +
  2. +
+
    +
  1. Diversidade de tópico. Como uma comunidade nós valorizamos a diversidade de aplicações. Poropostas que são voltadas a novas áreas e campos para a comunidade do Julia expandir devem receber maiores notas.

    +
  2. +
+
    +
  1. Corretude. Propostas devem ser tecnicamente corretas. Erros gritantes devem ser destacados e levados em consideração.

    +
  2. +
+
    +
  1. Classificação. Os critérios serão mais estritos para apresentações mais longas.

    +
  2. +
+

Processo de revisão

+ + + + + + +

Comentários de revisão

+

Cada revisão deve incluir um comentário que justifica as notas que foram dadas. Por exemplo, um comentário pode ser como:

+ + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/cfp_ru/index.html b/previews/PR609/2023/cfp_ru/index.html new file mode 100644 index 000000000..2d1a85aca --- /dev/null +++ b/previews/PR609/2023/cfp_ru/index.html @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 ПДПЗ + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 ПДПЗ

+

*Этот документ доступен на английском, французском, китайском, русском и других языках. Если вашего языка нет, то сделайте перевод и создайте запрос на добавление в репозиторий.

+

Приглашаем вас подать заявку для выступления на JuliaCon 2022.

+

На JuliaCon традиционно проводятся доклады от начального до продвинутого уровня на темы использования языка Julia в различных предметных областях, где авторами являются разработчики и исследователи из промышленности и научных кругов. Если вы уже работали над Julia проектами, то JuliaCon это лучшее место, где можно поделиться своей работой с сообществом Julia.

+

Для того чтобы получить представление о том, как проходит конференция, посмотрите программы и записи докладов прошлых лет: 2014, 2015, 2016, 2017, 2018, 2019, 2020 и 2021.

+

Мы заинтересованы в том, чтобы охватить как можно большее количество тем связанных с Julia. Например, такими темами могут быть:

+ +

Основным критерием выбора темы является то, что она должна быть интересна сообществу Julia.

+

Категории заявок

+

В этом году мы предлагаем 6 различных категорий по которым вы можете подать заявку. Презентации должны быть предварительно записаны и отправлены до начала июля (точная дата будет объявлена позже). Практикумы и семинары для групп по интересам (Birds of Feather) будут проводиться дистанционно. В этом году впервые будут приниматься заявки на других языках, помимо английского. Детали смотрите ниже.

+

Выступления

+

Эта категория предназначена для того, чтобы поделиться техническими деталями своей работы с сообществом Julia. Доклады могут быть посвящены разработке программного обеспечения, исследовательской работе или прикладному применению Julia в каких-либо специальных областях.

+ +

Минисимпозиумы

+

Минисимпозиум это "конференция внутри конференции" на которой организаторы отвечают за составление расписания выступающих, проведение свободной дискуссии и обсуждения по своему усмотрению. Организаторы минисимпозиумов должны предоставить модератора или председателя сессии. На минисимпозиум выделяется от двух до трех часов. Примечание: В отличие от JuliaCon 2021, минисимпозиумы будут проводиться до официального начала самой конференции, одновременно с практикумами.

+

Практикумы (Workshops)

+

Практикум обычно представляет собой трехчасовую сессию, где выступающий программирует вживую перед аудиторией и делится кодом с присутствующими, чтобы им было легче следить за происходящим. Практикумы проходят до официального начала конференции. В качестве тем практикума может быть, например, обучение по использованию каких-либо библиотек или по применению Julia для решения задач в какой-либо специальной области. Примечание: поскольку на JuliaCon впервые принимаются заявки на проведение практикумов не на английском языке, то, пожалуйста, если вы хотите провести практикум не на английском языке, то разрабатывайте их для участников, чей уровень знания Julia не выше начального.

+

Виртуальные постеры

+

Так как JuliaCon 2022 проводится полностью в онлайн режиме, то от докладчиков не требуется подготовка физических постеров. Вместо этого, необходимо предоставить 3-х минутную запись видео по теме постера. Эти видео будут доступны в выделенных чат-комнатах, где присоединившиеся участники могут просмотреть видео и обсудить предложенную тему.

+

Группы по интересам (Birds of a Feather)

+

Сессии групп по интересам представляют собой отдельные секции для обсуждений по какой-либо выделенной теме. К примеру, ведущие разработчики пакетов могут использовать это время для организации встреч с пользователями пакетов и привлечения новых разработчиков. Члены сообщества Julia могут также организовывать дискуссионные группы по обсуждению учебно-методических материалов или методик подачи материала в целом. На эти секции выделяется один час и они не будут записываться на видео.

+

Опыт использования

+

Цель этой части конференции заключается в том, чтобы дать возможность новым членам сообщества поделиться своим опытом использования Julia. В этой секции, можно рассказать о наиболее понравившихся особенностях Julia, или о том как удалось решить конкретную проблему с помощью Julia. Можно рассказать об интересной задаче, которую вы решили в классе или о том, как именно Julia стала хорошим добавлением к реальному рабочему процессу. На эти выступления выделяется три минуты и они будут распределены между остальными частями конференции. Рекомендуем докладчикам добавлять на слайды свою контактную информацию, включая QR-коды с ней, ники в твиттере, на гитхабе или е-мейлы в том случае, если слушатели захотят продолжить обсуждение в дальнейшем, так как времени для ответов на вопросы не предусмотрено. Мы также просим поделиться своими впечатлениями людей, которые лишь недавно начали использовать Julia. Если вы преподаватель, использующий Julia в учебном процессе, мы также рекомендуем пригласить ваших студентов для того, чтобы они могли поделиться своим опытом и впечатлениями со всем сообществом Julia.

+

При заполнении заявки (аннотации), можно выбрать несколько категорий сразу.

+

Правила подачи заявок

+

Мы используем анонимизированный процесс отбора заявок для того, чтобы избежать предвзятостей по отношению к заявителю. Несмотря на то, что использование двойного слепого отбора невозможно, поскольку большинство предоставляемых материалов содержат ссылки на публичные репозитории открытого кода, мы приложим максимальные усилия, чтобы обеспечить беспристрастное рассмотрение заявок. Вы можете подать заявку на том языке, который предпочитаете. Но, пожалуйста, в этом случае предоставьте и английскую версию (машинный перевод нас полностью устроит!). Для рассмотрения такой заявки мы обязательно постараемся найти рецензентов, которые свободно говорят на вашем языке. Однако, если это по какой-либо причине не получится сделать, то нам понадобится использовать английскую версию вашей заявки, чтобы передать её на рассмотрение англоязычным рецензентам. Если вы хотите использовать язык отличный от английского, пожалуйста, добавьте информацию об этом в аннотацию (например "Практикум будет проводиться на русском языке" или "Я поделюсь своим опытом использования Julia на чешском языке").

+

Если вы подаёте заявку на практикум или сессию группу по интересам и полагаете, что сессию лучше проводить в какое-то определённое время, то пожалуйста отметьте это отдельно в вашей заявке. Например, если вы хотите провести практикум на китайском языке во время, удобное для участников из Азии, то укажите это в аннотации к вашей заявке явно.

+

Видеозаписи и дополнительные материалы

+

JuliaCon 2022 будет проводиться в формате онлайн конференции, и для облегчения планирования конференции, мы просим выступающих предоставить записи выступлений заблаговременно. Все записи докладов и дополнительные материалы мы планируем опубликовать сразу после окончания конференции. Если, по какой-либо причине, вы предпочитаете, чтобы ваша запись не была общедоступной, то пожалуйста, свяжитесь с нами по электронной почте juliacon@julialang.org. Дополнительно, просим вас сделать все видеозаписи и дополнительные материалы доступными под лицензией Creative Commons (по умолчанию: повторное использование в коммерческих целях запрещено) или под любой другой лицензией с открытым исходным кодом. Если вы хотите сделать ваше выступление доступным и на английском, и на другом языке, то предоставьте записи для каждого языка отдельно.

+

Тексты докладов

+

Для того, чтобы сделать выступления доступными широкому кругу зрителей, мы просим вас предоставить тексты докладов, как часть заявки. Следите за сообщениями в своём почтовом ящике для отслеживания процесса обработки заявки.

+

Публикации материалов конференции

+

В этом году мы предлагаем желающим участникам возможность опубликовать свою работу в рамках публикации материалов конференции JuliaCon. О деталях будет сообщено позднее.

+

Регистрация докладчиков

+

Выступающие должны зарегистрироваться для участия в конференции. Так как JuliaCon 2022 будет проводиться полностью в дистанционном формате, то обращаем ваше внимание на то, что регистрация является обязательной, но бесплатной.

+

Как с нами связаться

+

С вопросами и предложениями можно обращаться на адрес электронной почты juliacon@julialang.org.

+

Нормы поведения на конференции

+

Мы нацелены на то, чтобы обеспечить положительные впечатления от конференции для всех, вне зависимости от пола, гендерной идентичности и самоидентификации, сексуальной ориентации, каких-либо неполноценностей, внешнего вида, размера тела, расы, возраста, религии, национальности или этнического происхождения. Мы приветствуем и поощряем уважительное и внимательное взаимодействие между участниками и не приемлем притеснения участников конференции в любой форме. Например, оскорбительные или сексуальные высказывания и образы неприемлемы на любом этапе проведения конференции, как на формальных выступлениях так и при общении между сессиями. Участники конференции, нарушающие эти стандарты, могут быть подвергнуты санкциям и исключены из конференции (без возврата денег) по усмотрению организаторов конференции. С кодексом норм поведения можно ознакомиться здесь.

+

Приложение

+

Рекомендации и процесс рассмотрения

+

Для справки, ниже приводятся рекомендации участникам и рабочие процессы, которые будут использоваться рецензентами при рассмотрении вашей заявки.

+

Задача рецензентов заключается в том, чтобы обеспечить высокий уровень выступлений, представленных на JuliaCon.

+

Конфликт интересов

+

В случае любого конфликта интересов, рецензент обязан самоустраниться от процесса рассмотрения заявки и должен сообщить организаторам о том, чтобы они максимально быстро нашли замену. Рецензент не должен рассматривать заявку на любое выступление в том случае, если он является автором/соавтором или находится в состоянии конфликта интересов с автором в любой другой форме. Определение и примеры конфликта интересов можно найти в PNAS guidelines. Конфликт интересов подразумевает также выполнение работ или отношения с авторами, с которыми рецензент имеет "любую форму отношений, интерпретируемых как финансовый или интеллектуальный конфликт интересов" (см. упомянутые выше "PNAS guidelines").

+

Нормы поведения

+

Рецензент обязуется прочитать и уважать кодекс норм поведения конференции при проведении оценки заявки и во время любых последующих коммуникаций в процессе рассмотрения.

+

Если предоставленная заявка не соответствует кодексу норм поведения, то рецензент должен уведомить об этом оргкомитет.

+

Критерии рассмотрения заявки

+

Несоответствие этим критериям приведёт к снижению оценки заявки.

+
    +
  1. Аннотация должна быть легко читаемой и понятной тем, кто не работает в той же области. Название должно давать возможность легко понять тему, которой посвящено содержание заявки.

    +
  2. +
  3. Предоставленная заявка должна быть технически обоснованной с точки зрения рецензента.

    +
  4. +
  5. Тема выступления должна представлять интерес для JuliaCon. Примером могут служить темы, указанные в Приглашении для подачи заявлений

    +
  6. +
+ +
    +
  1. Если формат запрошенный автором (опыт использования, блицвыступление, выступление, практикум, постер, минисимпозиум, группа по интересам) не является подходящим, то рецензент должен его об этом уведомить и предложить более подходящий вариант.

    +
  2. +
  3. Примеры использования Julia в корпоративной среде в целом представляют интерес для конференции. В частности, приветствуется обратная связь по разработке продуктов с использованием Julia и её экосистемы. Однако, выступления и постеры не должны быть использованы для рекламы своих продуктов.

    +
  4. +
+

Критерии выставления оценок

+

Оценки (1-5) выставляются в соответствии со следующими критериями:

+
    +
  1. Применимость для сообщества Julia. Будут ли интересны пользователям Julia методики или результаты, освещаемые в выступлении? Заявки с высокими баллами должны быть интересны широкому кругу пользователей Julia.

    +
  2. +
  3. Вклад в сообщество. Например, рассказывается ли о новом пакете, который может использоваться другими людьми? Заявки с высокими баллами должны быть о коде или идеях, которыми могут пользоваться остальные пользователи.

    +
  4. +
  5. Понятность. В чем цель данного выступления? Чему научатся люди? Заявки с высокими баллами должны иметь четко сформулированную цель выступления.

    +
  6. +
  7. Значимость для сообщества. Будет ли рассказываться о чем-то, что значимо изменит работу людей с Julia или экосистему пакетов? Заявки с высокими баллами должны быть значимы для пользователей Julia. Обратите внимание, что это не означает, что подразумевается научная значимость, лишь значимость с точки зрения программного обеспечения или обучения пользователей Julia.

    +
  8. +
  9. Новизна тем. Как сообщество, мы ценим разнообразие приложений Julia. Заявки, в которых рассматриваются новые сферы применения и которые позволят расширить области использования Julia, должны получить дополнительный бонус.

    +
  10. +
  11. Обоснованность. Заявки должны быть технически обоснованными. На явные нестыковки и ошибки должно быть обращено дополнительное внимание и они должны быть учтены при вынесении финальной оценки.

    +
  12. +
  13. Соответствие регламенту. Критерий применяется строже для более длинных презентаций.

    +
  14. +
+

Процесс рецензирования

+ +

Комментарии рецензентов

+

Каждая рецензия должна включать комментарий, который обосновывает выставленный балл. Например, комментарий может выглядеть следующим образом:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/cfp_tr/index.html b/previews/PR609/2023/cfp_tr/index.html new file mode 100644 index 000000000..8f5d4e431 --- /dev/null +++ b/previews/PR609/2023/cfp_tr/index.html @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 CFP + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 CFP

+

*Bu doküman Fransızca, Almanca, İspanyolca, Rusça, Standart Çince ve Türkçe dillerinde bulunmaktadır. (Kendi dilinizde yoksa Çevirisini yapıp gönderebilirsiniz.)

+

Sizi JuliaCon 2022'de konuşma yapmak için bildiri göndermenizi istiyoruz.

+

JuliaCon geleneksel olarak Endüstri ve Akademide bulunan kişilerin çeşitli alanlarla ilgili konularda giriş seviyesinden ileri seviyelere kadar konuşmalar içermektedir. Daha önce Julia ile bir çalışma yaptıysanız, JuliaCon çalışmanızı Julia Komunitesi ile paylaşmak için en iyi yerdir.

+

Geçmiş yılların sunumları hakkında fikir edinmek için geçmiş programlarımıza ve kayıtlarımıza bir göz atın:(2014, 2015, 2016, 2017, 2018, 2019, 2020, and 2021).

+

Julia ile ilgili tüm konuları duymak istiyoruz. Bu tür konulara örnek olarak şunlar verilebilir:

+ +

En önemli unsur, konunun Julia topluluğu için ilginç(uygun) olup olmayacağıdır.

+

Bildiri Tipleri

+

Bu yıl, bildiri sunabileceğiniz 6 farklı türe sahip olacağız. Tüm sunumların Temmuz ayı başına kadar önceden kaydedilip sunulması beklenmektedir (kesin tarih daha sonra açıklanacaktır). Atölyelerin ve çalışma gruplarının canlı olması bekleniyor. İlk kez, bu yıl İngilizce olmayan teklifleri kabul edeceğiz. Daha fazla bilgi için aşağıya bakın.

+

Konuşmalar

+

Bu kategori, öncelikle yazılım geliştirme, araştırma veya belirli bir alandaki uygulamalarla ilgili teknik çalışmalarınızı Julia topluluğuyla paylaşmaya yöneliktir.

+ +

Mini-Sempozyum

+

Bir mini-sempozyum, organizatörlerin konuşmacıları, panelleri ve tartışmaları uygun gördükleri şekilde planlamaktan sorumlu oldukları bir "konferans içinde konferans"tır. Mini-sempozyum organizatörlerinden ayrıca oturum için bir moderatör veya başkan sağlamaları beklenir. Bir mini-sempozyuma iki ila üç saatlik bir süre tahsis edilir.Not: JuliaCon 2021'in aksine, mini-sempozyumlar atölyelerin yanı sıra konferansın resmi başlangıç tarihinden önce planlanacaktır.

+

Atölyeler

+

Atölye, genellikle sunum yapan kişinin izleyicilerin önünde kod yazdığı ve kolayca takip edebilmeleri için katılımcılarla kod paylaştığı üç saatlik etkileşimli ve uygulamalı bir oturumdur. Atölyeler konferansın resmi başlangıç tarihinden önce yapılacaktır. Bu kategorideki örnek konular, pakete özgü veya alana özgü eğitici içeriklerdir. Not: bu yıl juliacon'un ingilizce olmayan atölyeler için teklifleri kabul edeceği ilk yıl olduğundan, ingilizce olmayan bir atölye önermek istiyorsanız atölyeyi giriş seviyesinde yapmaya çalışın.

+

Sanal Afişler

+

JuliaCon2022 bu yıl tamamen çevrimiçi bir konferans olduğundan, poster sunucuları fiziksel afişler hazırlanmayacaktır. Bunun yerine, önerdikleri bildirilerin 3 dakikalık videolarını vermeleri istenecektir. Videolar daha sonra, odaya katılan katılımcıların videoyu hızlı bir şekilde izleyebileceği ve sunulan video veya konuyla ilgili sohbete katılabileceği özel sohbet odalarında kullanılacaktır.

+

Çalışma Grubu Oturumları

+

Çalışma grubu oturumları, belirli konular etrafında organize tartışmalar için ara oturumlarıdır. Örneğin, paket yürütücüleri bu zamanları katılımcılarla bir toplantı düzenlemek ve katkı sağlayan kişileri işe almak için kullanabilir veya topluluk üyeleri Julia öğretim materyalleri veya çeşitlilik-kapsayıcılık(diversity) için tartışma grupları düzenleyebilir. Bu oturumlara bir saatlik zaman dilimi tahsis edilecek ve kaydedilmeyecektir.

+

Deneyimler

+

Bu kategorinin amacı, topluluktaki yeni üyeleri ağırlamaktır. Örnek konular arasında Julia'daki en sevdiğiniz özellikler, Julia'nın belirli bir sorunu çözmenize nasıl yardımcı olduğu, bir üniversite sınıfında Julia ile çözdüğünüz ilginç bir sorun veya daha genel olarak Julia'nın iş akışınıza nasıl iyi bir katkı sağladığı sayılabilir. Bu sunumların her biri üç dakika sürecek ve konferanstaki farklı oturumlar arasına serpiştirilecektir. Sonradan gelen soruları cevaplamak adına Twitter, GitHub e-posta gibi iletişim bilgilerinizi slaytlarınızda göstermenizi öneririz, çünkü bu kategoride sorular için zaman ayrılmayacaktır. Özellikle Deneyimler kısmını kullanarak fikirlerini ve izlenimlerini toplulukla paylaşmaları için Julia'ya yeni gelenleri memnuniyetle karşılıyoruz. Akademik hayatta Julia'yı kullanan bir öğretmen veya profesörseniz, öğrencilerinizi deneyimlerini Julia topluluğuyla paylaşmak için başvurmaya davet etmenizi öneririz.

+
+

Bildirinizi gönderirken (özet olarak), değerlendirilmek üzere birden fazla kategori seçebilirsiniz.

+

Başvuru Detayları

+

Konuşmacıya karşı oluşabilecek ön yargıyı önleme amacıyla anonimleştirilmiş bir başvuru süreci uyguluyoruz. Birçok bildirinin açık kaynak kodu temelli olması sebebiyle , ikincil birinin görmemesi maalesef mümkün değil ama bildirilerin tarafsız bir şekilde incelenmesi için tüm çabaları gösteriyoruz.Eğer İngilizce dışındaki bir dilde oturum için bildirinizi gönderecekseniz, istediğiniz herhangi bir dilde gönderebilirsiniz. Ek olarak lütfen her zaman bildirinizin İngilizce bir versiyonunu hazırlayın (Otomatik altyazılar yeterli olacaktır!). Bildirinizi gözden geçirmek için her zaman seçtiğiniz dili akıcı konuşan insanlar bulmaya çalışacağız ama bu mümkün olmazsa daha geniş bir inceleme havuzuna göndermek için İngilizce versiyonunuza döneceğiz. İngilizce dışındaki dillerde göndereceğiniz durumlarda , lütfen şu şekilde özette belirtin (ör : "Bu çalışma Türkçe dilinde sunulacak." ve ya "Julia Deneyimleri konuşmamı Azerice yapacağım.").

+

Eğer belirli bir zamanda düzenlenmesinin daha avantajlı olduğunu düşündüğünüz bir çalışma ve ya çalışma grubu oturumu varsa bunu lütfen bildirinize not olarak ekleyin. Örnek olarak, Türkçe dilinde bir çalışma sunmak ve bunun Türkiye'deki katılımcılar için uygun bir zamanda yapılmasını istiyorsanız , bunu özetinizde mutlaka belirtin.

+

Kayıtlar ve Materyaller

+

JuliaCon 2022 çevrimiçi bir konferans olacak ve konferansın planlanmasını kolaylaştırmak için konuşmacılarımızdan konferans öncesinde konuşmalarının kaydedilmiş bir versiyonunu sunmalarını isteyeceğiz ve konferanstan sonra kaydedilen tüm materyalleri açık kaynak hale getirmeyi planlıyoruz. Herhangi bir nedenle videonuzun gizli kalmasını tercih ediyorsanız lütfen bizimle iletişime geçin juliacon@julialang.org. Son olarak, materyallerinizi ve kayıtlarınızı Creative Commons (varsayılan: ticari kullanım olmayan) veya başka bir açık kaynak lisansı altında kullanıma sunmanızı da rica ederiz. Konuşmanızı İngilizce ve başka bir dilde yapmak isterseniz, sizden kaydedilmiş iki sürümü (her dilde bir tane) göndermenizi isteyeceğiz.

+

Transkript

+

Erişilebilirliği artırmak için bildirinizin bir parçasını transkript olarak talep edeceğiz. Başvuru süreciyle ilgili ayrıntılar için gözlerinizi e-postanızdan ayırmayın.

+

Devam Eden Makaleler

+

Bu yıl istekli katılımcılara çalışmalarını devam eden JuliaCon makalesinin bir parçası olarak yayınlama şansı sunuyoruz. Daha fazla ayrıntı gelecek.

+

Konuşmacılar için kayıt

+

Konuşmacılarımızın konferansa kayıt olmasını bekliyoruz. JuliaCon 2022 tamamen online bir konferans olduğundan, kayıt işleminin ücretsiz olacağını unutmayın.

+

Bizimle nasıl iletişime geçebilirsiniz

+

Sorularınız için bize şu adresten ulaşabilirsiniz juliacon@julialang.org.

+

Konferans Davranış Kuralları

+

' JuliaCon'da, cinsiyet, cinsel yönelim, engellilik, fiziksel görünüm, beden büyüklüğü, ırk, yaş, din veya ulusal ve etnik kökenden bağımsız olarak tüm katılımcılar için olumlu bir konferans deneyimi sunmak için herşeyi yapacağız. Katılımcılar arasındaki saygılı ve düşünceli etkileşimleri teşvik ediyoruz ve konferans katılımcılarının herhangi bir biçimde yanlış hareketine müsamaha göstermiyoruz. Örneğin, saldırgan veya cinsel bir dile(içeriklere), resmi görüşmeler ve oturumlar arasında ağ oluşturma da dahil olmak üzere herhangi bir harekete konferans oturumu içinde müsaade etmiyoruz. Bu standartları ihlal eden konferans katılımcıları, konferans organizatörlerinin takdirine bağlı olarak yaptırım uygulayabilir veya konferanstan atılabilir (geri ödeme yapılmaksızın). Tacizle mücadele politikamız [buradan] ulaşabilirsiniz(https://juliacon.org/2022/coc).

+

İlave

+

İnceleme yönergeleri ve Süreci

+

Kaynak göstermek amacıyla,gönderinizi incelerken okuyucuların kullanacağı yönergeler ve süreç aşağıda yer almaktadır.

+

Eleştirmenin amacı JuliaCona’a sunulan içeriğinin kalitesini sağlamaktır.

+

Çıkar çatışması

+

Çıkar çatışması olduğu takdirde, eleştirmen incelemeden çekilip organizatörlere hızlı bir şekilde yenisini bulmalarını bildirmeye taahhüt eder. Hiçbir eleştirmen, yazarı olduğu veya başka bir çıkar çatışması biçimine sahip olduğu herhangi bir konuşma hakkında bir inceleme yapmamalıdır.Tanım ve örnekler için PNAS örneklerine bakınız. Çıkar çatışmaları eleştirmenin “finansal veya entelektüel bir çıkar çatışması olarak ortaya çıkan veya algılanabilecek herhangi bir derneğe" sahip olduğu herhangi bir çalışmayı veya yazarı içerir. (PNAS yönergileri yukarıda bulunuyor).

+

Davranış Kuralları

+

Eleştirmen, inceleme sürecinde tüm iletişimlerde ve değerlendirmede Konferans Davranış Kurallarını okumayı ve saygı göstermeyi taahhüt eder.

+

Eğer teslim edilen bir bildiri davranış kurallarına uymuyorsa, eleştirmen bunu organizasyon komitesine yönlendirmelidir.

+

İnceleme kriterleri

+

Bu kritelerin karşılanmaması düşük puanlarla sonuçlanacaktır.

+

1. Özetin okunması kolay olmalı ve aynı konuda çalışmayan biri için anlaşılabilir olmalıdır.Başlık,içerideki konuyu tanımlamayı kolaylaştırmalıdır.

+

2. Sunulan özet teknik olarak eleştirmenin bilgisine uygyun olmalıdır.

+

3. Konu, Bildiri Çağırısında var olan konular dahil ancak bunlarla sınırlı olmamak üzere JuliaCon için dikkat çekici olmalıdır.

+ +

4. Eğer yazar tarafından istenen format(deneyim, konuşmalar, atölyeler, sanal afişler, minisempozyumlar, çalışma grupları) uygun görünmüyorsa, eleştirmen bunu işaret edebilir ve başka bir tane önerebilir.

+

5. Julia'nın kurumsal bir ortamda kullanım gereklilikleri genel olarak konferans ile ilgilidir. Özellikle, Julia ve ekosistemini kullanarak veya onunla etkileşime giren ürün geliştirme hakkındaki geri bildirimler memnuniyetle karşılanmaktadır. Ancak, görüşmeler ve afişler ürün yerleştirme için uygun bir yer değildir.

+

Puanlama Kriterleri

+

Puanlanacak kriterler aşağıdadır (puan değeri 1-5 arasındadır): 1. Julia topluluğuna uyarlanabilirlik. Julia kullanıcıları bu konuşmayı yöntemleri açısından mı yoksa sonuçları açısından mı ilgi çekici buluyor? Yüksek puan almak için Julia kullanıcısının ilgisini çekilmelidir.

+

2. Topluluğa katkısı. Bu, insanların kullanımına açılan yeni bir paket mi? Yüksek puan almak için diğerlerinin kullanabileceği bir kod ya da fikir olmalıdır.

+

3. Netlik. Bu konuşmanın amacı nedir? İnsanlar ne öğrenecek? Yüksek puan almak için amaç net olmalıdır.

+

4. Topluluk açısından önemi. Bu, Julia kullanan başka bir çok insanda ya da paket ekosisteminde fark yaratacak bir şey mi? Julia kullanıcıları için daha önemli bir şey daha yüksek puan getirir. Bunun bilimsel bir önemi olmadığını, yalnızca Julia kullanıcıları için bir yazılım veya öğretici olarak önemli olduğunu unutmayın.

+

5. Konu farklılığı. Bir topluluk olarak biz uygulamaların çeşitliliğine değer veriyoruz. Bildiriniz, Julia topluluğuna yeni alanları ve konuları keşfetmesine yardımcı olursa daha fazla kredi verilecekti.

+

6. Sağlamlık. Teklifleriniz teknik açıdan sağlam olmalıdır. Bariz hatalar vurgulanmalı ve dikkate alınmalıdır.

+

7. Sınıflandırma. Uzun sunumlar için kriterler daha katı uygulanacaktır.

+

İnceleme Süreci

+ + + + + +

İnceleme Yorumları

+

Her bildiri incelemesi verilen puanı açıklayacak bir yoruma sahip olmalıdır. Örneğin, bir yorum şöyle olabilir:

+ + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/cfp_zh/index.html b/previews/PR609/2023/cfp_zh/index.html new file mode 100644 index 000000000..7a13bc1d0 --- /dev/null +++ b/previews/PR609/2023/cfp_zh/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2022 报告和讨论提案征集 + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2022 报告和讨论提案征集

+

这则报告征集通知于 2022-04-04 11:59 (UTC) 过期。

+ +

我们邀请您为 JuliaCon 2022 提交报告和讨论的提案。

+

JuliaCon 的提案涉猎广泛,内容深度从基础介绍到前沿课题,话题涉及多个领域,报告人则可以是来自工业界或学术圈的开发者。如果您曾经使用 Julia 开发,那么 JuliaCon 是向 Julia 社区介绍您开发工作的最好的途径。

+

如果您想通过观摩以往的报告找找感觉,那么请看我们过去的流程安排和视频 (2014, 2015, 2016, 2017, 2018, 2019, 2020, 和 2021).

+

我们对任何主题的提案都很欢迎,下面是一些例子:

+ +

决定一个提案是否被接受的最重要依据是这个主题是否会引起 Julia 社区的兴趣。

+

提案类型

+

今年,我们将有 6 种不同类型的提案供您选择。所有报告类的提案需要在 7 月初预先录制视频并提交(具体日期稍后公布),但研讨会和兴趣小组将会以直播方式进行。今年我们将首次接受非英语提案,详情请参见下文。

+

报告 Talks

+

报告主要用来与 Julia 社区分享您的技术工作,不论是关于软件开发、科学研究还是面向特定领域的应用。

+ +

小型交流会 Minisymposia

+

小型交流会可以理解成“会议中的会议”:由您作为会议组织者统筹安排合适的报告人、小组和讨论主题。同时,小型交流会的组织者还要负责提供主持人或主席。小型交流会时长为两到三个小时。注意: 与 JuliaCon 2021 不同,小型交流会和研讨会被安排到正式会议开始之前。

+

研讨会 Workshops

+

研讨会一般是一个三小时的交互式的需要动手编程的环节,演示者在与会者面前实时编程并共享代码,以便与会者跟进。研讨会将在正式会议开始之前举行。此环节的主题可以是关于某个软件包的教程或关于某个领域的教程等。注意: 由于这是 JuliaCon 第一年接受非英语研讨会的提案,如果您想使用非英语语种进行研讨会,请尽量降低研讨会的内容门槛。

+

虚拟海报 Virtual Posters

+

由于今年 JuliaCon 2022 仅有在线的会议,海报展示者不是准备实体海报,而是提供一个关于他们提案的主题的 3 分钟视频。这段视频将在专用聊天室中播放,加入房间的与会者可以快速观看视频并加入有关内容的讨论。

+

兴趣小组 Birds of a Feather / Interest groups

+

兴趣小组会议是围绕特定主题进行的有组织的讨论。例如,软件包维护者可以利用这些时间组织会议并招募贡献者,或者可以让社区成员为 Julia 教材或招聘多样化的人才而组织讨论。这些会话将持续一小时,并且不会录制视频。

+

使用体验 Experiences

+

这个环节旨在迎接社区中的新成员。主题可以包括您在 Julia 中最喜欢的功能、Julia 如何帮助您解决某个问题、您在大学课堂上使用 Julia 解决的一个有趣的问题,或者更一般地,Julia 如何成为您工作流程的一个很好的补充。这些报告每个持续三分钟,将会穿插在会议的不同环节中。此环节没有回答问题的部分,如果您希望大家线下向您提问,我们鼓励您在幻灯片上显示您的联系信息,例如 微信二维码,Slack 账号, Humans-of-Julia Discord 账号, Zulip 账号, Twitter 账号, Github 账号或电子邮件。我们特别欢迎 Julia 的新人利用这个环节与社区分享他们的感受。如果您是在教学中使用 Julia 的教师或教授,我们鼓励您邀请您的学生申请参与这个环节,并与 Julia 社区分享他们的经验。

+

提交提案(摘要)时,您可以选择多个类别。

+

提案提交流程

+

为避免与报告者相关的选择性偏见,提案用匿名的方式提交。因为大多数提交都会包含开源代码的链接,所以执行双盲是不可能的。为此我们只能尽力确保对提交的公正评审。如果您要使用非英语语种来进行报告,请使用对应的语言来提交您的提案。对非英语语种的提案,也请提供对应的英文版本(允许机器翻译!)。我们会努力找到能流利使用您所选语言的人士来审核您的提案,但如果实在没有找到,我们将使用它的英文翻译版本进行审核。如果您选择使用非英语语种进行汇报,请在摘要中注明这一点,例如:“本次研讨会将以泰语进行”或“我将用捷克语进行 Julia 使用经验的报告”。

+

如果您要提交的研讨会或兴趣小组对时间有特别的要求,请在您的提案中注明这一点。例如,如果您想用普通话举办研讨会,并希望在亚洲参加者方便的时间举行,请在您的摘要中注明。

+

视频录制和材料

+

JuliaCon 2022 将是一个在线会议,为了方便会议的安排,我们要求我们的报告人在会议前提交他们报告的视频版本。我们会在会议结束后公开所有视频材料。如果出于任何原因,您希望不公开您的视频,请通过 juliacon@julialang.org 与我们联系。最后,我们还会要求您在 Creative Commons(默认:禁止商业用途)或其他开源许可下提供您的材料和视频。如果您想用双语进行汇报,我们会要求您提交两个视频版本(每种语言各一个)。

+

字幕

+

为了让视频更容易被观看,我们将要求您在提交的材料中包含对应的字幕。请密切关注您的电子邮件,以了解有关提交过程的详细信息。

+

会议论文集

+

今年,我们将会为有意愿的参与者提供机会把他们的工作作为 JuliaCon 会议论文集的一部分发表。更多细节即将发布。

+

报告人的注册

+

我们希望我们的报告人能够注册参加会议。由于 JuliaCon 2022 是一个完全在线的会议,注册将是免费的。

+

如何联系我们

+

您可以通过 juliacon@julialang.org 向我们提出问题。

+

会议行为准则

+

JuliaCon 致力于为所有与会者提供积极的会议体验,无论其性别、性别认同和性别表达、性取向、残疾、外貌、体型、种族、年龄、宗教或国籍和民族血统如何。我们鼓励与会者之间进行互相尊重、互相体谅的交流,而不容忍其以任何形式骚扰其他与会者。例如,不管是正式会谈还是会议之间的交流,不允许发布带攻击性或色情的文字和图像等。违反这些标准的会议参与者可能会被会议组织者酌情处罚或踢出会议(不予退款)。我们的反骚扰政策可以在这里找到。

+

附录

+

评审指南和流程

+

作为参考,以下是评审人在评审您提交的提案时使用的指南和流程。

+

评审人的作用是确保 JuliaCon 上呈现的内容的质量。

+

利益冲突

+

在存在利益冲突的情况下,评审人承诺退出评审并通知组织者以找到其他评审人。任何评审人都不应该对身为作者之一或存在其他形式利益冲突的任何报告进行评审。有关定义和示例请参阅 PNAS 指南。利益冲突包括与工作或者其作者存在的任何与财务或者知识产权上的关联(参考上面的 PNAS 指南)。

+

行为守则

+

评审人承诺阅读会议行为准则,并在审核过程以及所有沟通中尊重该准则。

+

如果提交的摘要不符合会议行为准则,评审人应将其提交给组委会。

+

评审标准

+

提案不符合这些标准将获得较低的分数。

+
    +
  1. 摘要应该让即使在不在同一领域的人也容易阅读和理解。标题应该便于识别内容所对应的领域。

    +
  2. +
  3. 从评审人的角度来看,摘要在技术层面要有一定程度的合理性。

    +
  4. +
  5. 该主题应该是 JuliaCon 感兴趣的,包括但不限于提案征集上列出的主题

    +
  6. +
+ +
    +
  1. 如果作者要求的形式(使用经验、快速报告、普通报告、研讨会、海报、小型交流会、兴趣小组)不合适,评审人可以通知建议另一种形式。

    +
  2. +
  3. 会议关心并且欢迎 Julia 在企业环境下的使用案例,特别是利用 Julia 及其生态进行产品开发的反馈。但是报告和海报不适合作为产品的广告植入。

    +
  4. +
+

评分标准

+

以下是评分 (1-5) 的标准:

+
    +
  1. 在 Julia 社区的适用面:Julia 的用户是否会对这个报告的方法或结果感兴趣?高分意味着 Julia 用户会对该提案产生广泛的兴趣。

    +
  2. +
  3. 对社区的贡献程度:这是供人们使用的新的软件包吗?得分较高的提案应该是其他人可以使用的代码或值得借鉴的想法。

    +
  4. +
  5. 明晰:这次报告的目的是什么?人们会学到什么?得分较高的提案应表达出非常明确的目的。

    +
  6. +
  7. 对社区的意义:这会改变很多其他人使用 Julia 或其软件生态的方式吗?对 Julia 用户来说,得分越高的提案应该越重要。请注意,这里不是科学研究层面意义,而是作为软件或教程对 Julia 用户的意义。

    +
  8. +
  9. 主题多样性:作为一个社区,我们重视应用的多样性。应该对为 Julia 社区扩展新领域和方向的提案给予一些额外的加分。

    +
  10. +
  11. 合理性:提案在技术上应该是合理的。应该标记并严肃考虑提案中较为明显的不正确性。

    +
  12. +
  13. 提案类型:提案的内容是否适合作为该类型进行报告?对于比较长的报告来说,这个评判应该更严格一些。

    +
  14. +
+

评审流程

+ +

评审意见

+

每条评审意见都应包含一条证明给出的分数合理性的评论。例如,该评论可能是这样的:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/coc/index.html b/previews/PR609/2023/coc/index.html new file mode 100644 index 000000000..dfc5e3aa6 --- /dev/null +++ b/previews/PR609/2023/coc/index.html @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Code of Conduct + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Code of Conduct

+

JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin. We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference channel, including formal talks and networking between sessions. In general, please abide by the Julia Community Standards. Conference participants violating these standards may be expelled from the conference at the discretion of the conference organizers.

+

Harassment includes, but is not limited to:

+ +

Enforcement

+

Participants asked to stop any harassing behavior are expected to comply immediately. If a participant engages in harassing behavior, event organizers retain the right to take any actions to keep the event a welcoming environment for all participants. This includes warning the offender or expulsion from the conference. Event organizers may take action to redress anything designed to, or with the clear impact of, disrupting the event or making the environment hostile for any participants. We expect participants to follow these rules on all platforms used for conference interactions. We think people should follow these rules outside event activities too!

+

Reporting

+

If you would like to report a CoC violation or discuss any incident that may have left you uncomfortable, please contact one of the Discord admins (usernames in red) or organizers (usernames in blue). They may involve other event staff to ensure your report is managed properly. You won't be asked to confront anyone and we won't tell anyone who you are without your permission.

+

Note that this CoC is under the (CC BY-SA 4.0) license

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/committee/index.html b/previews/PR609/2023/committee/index.html new file mode 100644 index 000000000..e2b86ccb0 --- /dev/null +++ b/previews/PR609/2023/committee/index.html @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2023 Organizing Committee + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2023 Organizing Committee

+ +

Proceedings Committee

+ +

Joining the Committee

+

Each year, the previous years JuliaCon committee is usually asked to return. If certain members are no longer able to continue in their role, the existing committee members will work to find a replacement. JuliaCon committee members are generally folks who have been long term contributors to the community or made significant contributors in recent years. Generally, the JuliaCon Chair/co-chair's lead the effort to recruit committee members.

+

The committee is also open to nominations (you can nominate yourself) for vacant positions or positions that do not exist but you think would provide value to the conference. Nominations are accepted on a rolling basis and reviewed by the current committee as needed. While many current committee members have been long term Julia contributors, this is not a hard requirement. Being a long term member of the community comes with its blindspots, so if there is a unique angle you believe your nominee (including yourself) brings to the table, we would love to hear more!

+

Here is the Nomination form.

+
+

The JuliaCon committee is composed entirely of volunteer organizers and can be reached at juliacon@julialang.org with any questions or comments.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/experiences/index.html b/previews/PR609/2023/experiences/index.html new file mode 100644 index 000000000..97575e8cc --- /dev/null +++ b/previews/PR609/2023/experiences/index.html @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Experiences + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Experiences

+

The JuliaCon 2021 experiences are a new type of presentation for folks to share an experience they had using Julia.

+

The experiences session will take place on 2021-07-29, from 16:30–18:00, on the Purple track. You can find a calendar invite on Pretalx.

+

The following experiences will be presented at JuliaCon2021: + +

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/faq/index.html b/previews/PR609/2023/faq/index.html new file mode 100644 index 000000000..de938bdf2 --- /dev/null +++ b/previews/PR609/2023/faq/index.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + FAQs + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

FAQs

+

Q: Is there financial assistance available?

+

A: As we have moved to a virtual conference for 2021, registration is free! Register for JuliaCon 2021 at the tickets page.

+

Q: How can I get involved?

+

A: If you’re looking for ways to volunteer for JuliaCon 2021, please consider mentoring a new speaker, and virtually volunteering.

+

Q: I haven’t presented before. Is there support/guidance available?

+

A: Yes! We have mentors available to help with submissions as well as presenting. Request a mentor.

+

Q: I don’t know anyone who will be attending JuliaCon 2021. Will there be any social event(s) where I can network and make friends?

+

A: Yes! Please stay tuned for some fun social events we are planning, such as a buddy program and speaker social. We want to make JuliaCon a rewarding and fun experience for you!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/food/index.html b/previews/PR609/2023/food/index.html new file mode 100644 index 000000000..5b1534d7e --- /dev/null +++ b/previews/PR609/2023/food/index.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Food Options + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Food Options

+

The following food options will be available as foodtrucks during JuliaCon. They will be parked right outside the venue next to the Stata amphitheater.

+

Wednesday and Friday

+ +

Thursday

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/index.html b/previews/PR609/2023/index.html new file mode 100644 index 000000000..471e0d131 --- /dev/null +++ b/previews/PR609/2023/index.html @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2023 + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + +
+
+

JuliaCon 2023 +

+ +
+

+ Cambridge, USA. July 25th - 29th, 2023. +
+ + Co-Located with JuMP-dev, SciMLCon and ASE60*
+ +
+ +

+
+
+ + + + + + + + + + + +
+ + + + +
+ + + + +
+
+ +
+
+

JuliaCon 2023

+ JuliaCon 2023 was held in-person at the Ray and Maria Stata Centre at the Massachusetts Institute of Technology, Cambridge, MA, USA. The conference began with a full day set of workshops on Tuesday, the 25th of July. Talks (and poster sessions) were presented from Wednesday, the 26th, to Friday, the 28th of July. A hackathon for interested participants was held on Saturday, the 29th of July.

+

JuliaCon was co-located with JuMP-dev, SciMLCon and Professor Alan Edelman's 60th Birthday Celebration (ASE60)*

+
+
+ +
+
+

JuliaCon Local Eindhoven, 2023

+ JuliaCon Local Eindhoven will be a one day conference on 1 December, 2023. Colocated with Pydata Eindhoven, it will be held in-person at the High Tech Campus Conference Center in Eindhoven in the Netherlands
+
+
+ +
+
+

Keynote Speakers

+

+
+
+ + + +
+ Dr. Stephen Wolfram +

+ Wolfram Research +

+

+ +

+
+
+
+ +

Dr. Stephen Wolfram is the creator of Mathematica, Wolfram|Alpha and the Wolfram Language; the author of A New Kind of Science; the originator of the Wolfram Physics Project; and the founder and CEO of Wolfram Research. Over the course of more than four decades, he has been a pioneer in the development and application of computational thinking—and has been responsible for many discoveries, inventions and innovations in science, technology and business. Based on both his practical and theoretical thinking, Dr. Wolfram has emerged as an authority on the implications of computation and artificial intelligence for society and the future, and the importance of computational language as a bridge between the capabilities of computation and human objectives.

+

Dr. Wolfram has been president and CEO of Wolfram Research since its founding in 1987. In addition to his corporate leadership, Wolfram is deeply involved in the development of the company's technology, personally overseeing the functional design of the company's core products on a daily basis, and constantly introducing new ideas and directions.

+
+
+ + + +
+ Dr. Rumman Chowdhury +

+ Parity Consulting +

+

+ +

+
+
+
+ +

Dr. Chowdhury currently runs Parity Consulting, Parity Responsible Innovation Fund, and is a Responsible AI Fellow at the Berkman Klein Center for Internet & Society at Harvard University. She is also a Research Affiliate at the Minderoo Center for Democracy and Technology at Cambridge University and a visiting researcher at the NYU Tandon School of Engineering.

+

Dr.Chowdhury’s passion lies at the intersection of artificial intelligence and humanity. She is a pioneer in the field of applied algorithmic ethics, creating cutting-edge socio-technical solutions for ethical, explainable and transparent AI. She is an active contributor to discourse around responsible technology with bylines in the Atlantic, Forbes, Harvard Business Review, Sloan Management Review, MIT Technology Review and VentureBeat.

+
+
+ + + +
+ Dr. Christopher Rackauckas +

+ JuliaHub, Pumas AI, MIT +

+

+ +

+
+
+
+ +

Dr. Rackauckas is a Research Affiliate and Co-PI of the Julia Lab at the Massachusetts Institute of Technology, VP of Modeling and Simulation at JuliaHub and Creator / Lead Developer of JuliaSim. He's also the Director of Scientific Research at Pumas-AI and Creator / Lead Developer of Pumas, and Lead Developer of the SciML Open Source Software Organization.

+

Dr. Rackauckas's research and software is focused on Scientific Machine Learning (SciML): the integration of domain models with artificial intelligence techniques like machine learning. By utilizing the structured scientific (differential equation) models together with the unstructured data-driven models of machine learning, our simulators can be accelerated, our science can better approximate the true systems, all while enjoying the robustness and explainability of mechanistic dynamical models.

+
+
+ + + +
+ Dr. Tim Davis +

+ Texas A&M University +

+

+ +

+
+
+
+ +

Timothy A. Davis, PhD, is a Professor in the Computer Science and Engineering Department at Texas A&M University, and a Fellow of SIAM, ACM, and IEEE. He serves as an associate editor for the ACM Transactions on Mathematical Software. In 2018 he was awarded the Walston Chubb Award for Innovation, by Sigma Xi.

+

Prof. Davis is a world leader in the creation of innovative algorithms and widely-used software for solving large sparse matrix problems that arise in a vast range of real-world technological and social applications. He is the author of Suitesparse

+

+
+
+ +
+
+

Venue

+ The conference will be held in the Ray and Maria Stata Center at the Massachusetts Institute of Technology, 32 Vassar Street, Cambridge, MA 02139, USA:

+

+ +

+
+
+ +
+
+

Julia Community Prize

+ The Julia Community Prize 2023 has been announced. Check out the 2023 winners.
+
+
+ +
+
+

2022 videos

+ JuliaCon 2022 has come to a close, but you can watch all of the conference's talks, workshops, and keynotes at the Julia Language's YouTube channel. We also have some photographic memories from previous JuliaCons.
+
+
+ +
+
+

Code of Conduct

+ JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin. We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference venue, including formal talks and networking between sessions. Conference participants violating these standards may be sanctioned or expelled from the conference (without a refund) at the discretion of the conference organizers. Our anti-harassment policy and information about who to contact if you have an issue you'd like to discuss can be found on our Code of Conduct.
+
+
+ +
+
+

Committee

+ JuliaCon is organized by a committee composed entirely of volunteers, and can be reached at juliacon@julialang.org with any questions or comments.
+
+
+ + + +
+
+ + +
+
+
+

Sponsors

+

+ +

Platinum

+
+ +
+ +

Gold

+
+ +
+ +

Silver

+
+ + + + +
+ +

Bronze

+
+ + + + +
+ +

Academic Partners

+
+ +
+ +

Local Partner

+
+ +
+ +

With the help of the Julia project’s fiscal host:

+
+ +
+ + +
+
+
+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/memories/index.html b/previews/PR609/2023/memories/index.html new file mode 100644 index 000000000..933935177 --- /dev/null +++ b/previews/PR609/2023/memories/index.html @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Memories of JuliaCon past + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Memories of JuliaCon past

+

2021

+

JuliaCon continued online in 2021, and so we again asked our attendees to upload a photo of their hometown. Here once again is a collage representing the world wide nature of the Julia community.

+

places of JuliaCon

+

2020

+

JuliaCon moved online in 2020, and so we could not arrange the traditional group photo. We did however ask our attendees to upload a photo of the place they were joining from. Here is a collage, representing our global audience.

+

places of JuliaCon

+

2019

+

The number of our attendees grew enough that we had to hire a drone to take the photo. Here we are in sunny Baltimore.

+

JuliaCon 2019 group photo in Baltimore

+

2018

+

JuliaCon moved to Europe for the first time. Here we are at the front quad of the University College, London.

+

JuliaCon 2018 group photo in London

+

2017

+

JuliaCon moved west, to the University of California, Berkeley.

+

JuliaCon 2017 group photo in Berkeley, California

+

2016

+

We continued at MIT for another year, with a growing audience.

+

juliacon 2016 group photo at MIT

+

2015

+

With increasing interest, JuliaCon was held at MIT, the home of Julia. Here we are, with the angles of the Ghery's Stata Center behind us.

+

JuliaCon 2015 group photo at MIT

+

2014

+

The first JuliaCon was held in Chicago, where nearly 80 early adopters came together to talk about this then new programming language. The rest is history!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/posters/index.html b/previews/PR609/2023/posters/index.html new file mode 100644 index 000000000..9d9823961 --- /dev/null +++ b/previews/PR609/2023/posters/index.html @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Posters + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Posters

+

The poster session is on 26th July, 2023 (Wednesday) at 6 PM at R&D Commons (on the 4th floor of the Stata Center).

+ + + + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/prize/index.html b/previews/PR609/2023/prize/index.html new file mode 100644 index 000000000..4d90adcec --- /dev/null +++ b/previews/PR609/2023/prize/index.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Julia Community Prize + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Julia Community Prize

+

The Julia Community Prize 2023 nominations are closed and the winners announced! Winners will receive a certificate of accomplishment.

+

2023 Community Prize Winners:

+

Valentin Churavy and William Moses

+

For their work on Enzyme.jl

+

Valentin Churavy

+

Ian Butterworth and Kristoffer Carlsson

+

For their relentless work on Pkg.jl including package extensions

+

Ian and Kristoffer

+

Yingbo Ma

+

For his work on the SciML Ecosystem.

+

Yingbo Ma

+

Awards Committee

+

The members of the committee for 2023 continue to be Prof Alan Edelman, MIT; Prof Tim Holy, WU; and Mr Curtis Vogt, Beacon Biosignals.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/proposal/index.html b/previews/PR609/2023/proposal/index.html new file mode 100644 index 000000000..4a84a7d6d --- /dev/null +++ b/previews/PR609/2023/proposal/index.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Proposals + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Proposals

+

Proposal submission has closed for 2022. We are currently reviewing proposals and will notify speakers in the coming weeks.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/schedule/index.html b/previews/PR609/2023/schedule/index.html new file mode 100644 index 000000000..48d7a1217 --- /dev/null +++ b/previews/PR609/2023/schedule/index.html @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Schedule (Coming Soon!) + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Schedule (Coming Soon!)

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/social/index.html b/previews/PR609/2023/social/index.html new file mode 100644 index 000000000..f8bbdf7ab --- /dev/null +++ b/previews/PR609/2023/social/index.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Social Events + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Social Events

+

We have prepared a range of social activities for JuliaCon 2023. In addition to the posters and appetizers session on Wednesday evening, this includes:

+ +

The full socials plan can be found here.

+

To gauge numbers, and to organise groups for some events, we request you to sign up for the events you plan to attend using this form.

+

Ideally, we would like you to have registered your interest using the form by July 22nd.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/sponsor/index.html b/previews/PR609/2023/sponsor/index.html new file mode 100644 index 000000000..53cccbf29 --- /dev/null +++ b/previews/PR609/2023/sponsor/index.html @@ -0,0 +1,297 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sponsorships + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Sponsorships

+

JuliaCon is a community organized non-profit conference, and it would not be possible without the support of its amazing set of sponsors over the years. We invite your organization to be a sponsor of JuliaCon 2023. You can find our sponsors from last year at the bottom of our 2022 homepage.

+

JuliaCon is the largest annual conference organized around Julia, the fastest high-performance open source computing language for machine learning, artificial intelligence, life sciences, robotics, algorithmic trading, real-time analytics and more.

+

Last year, JuliaCon was fully online. This year, we are thrilled to be returning in-person for the first time since 2019. With a global audience of developer, JuliaCon offers you the unique opportunity to present your company and your product to a huge group of engaged scientific programmers.

+

The following JuliaCon 2023 sponsorship options are available:

+

Diamond Sponsorship ($45,000)

+ +

Platinum Sponsorship ($30,000)

+ +

Gold Sponsorship ($15,000)

+ +

Silver Sponsorship ($5,000)

+ +

materials, webpages, and social media.

+ +

coffee breaks, lunches, or happy hours. See the next page for details.

+

Bronze Sponsorship ($2,000)

+ +

webpages.

+

Additional Sponsorship Opportunities

+ +

Happy Hour Sponsorship ($5,000)

+ +

Lunch ($3,000)

+ +

Coffee Break ($2,000)

+ +

Exhibition Table ($1,000)

+ +

To learn more about our sponsorship options, please download the 2023 sponsor prospectus.

+
+

Please talk to us at juliacon@julialang.org if you, or anyone you know, might be interested in sponsoring JuliaCon.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/tickets/index.html b/previews/PR609/2023/tickets/index.html new file mode 100644 index 000000000..5c343e575 --- /dev/null +++ b/previews/PR609/2023/tickets/index.html @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2023: Registration + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2023: Registration

+

JuliaCon 2023 is back in person at MIT, ticket prices are shown below. Please only select a student ticket if you are a registered student. We have a limited number of student tickets and want to make the conference accessible to those who need them. Early bird prices will be honored for accepted speakers even if they are no longer open to the general public.

+ +
+ + + + + +

Contact the Organizers

+

Please email juliacon@julialang.org with any questions, comments or suggestions.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/upload/index.html b/previews/PR609/2023/upload/index.html new file mode 100644 index 000000000..aa300da46 --- /dev/null +++ b/previews/PR609/2023/upload/index.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Upload your files + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Upload your files

+

Please upload your talk video for your accepted online talk. Lightning talks should be less than 8 minutes long, and full talks should be less than 25 minutes.

+

Please upload the content by the 23th of June 2023 (Anywhere on Earth).

+

If you need to re-upload, please either use the same file name (it will override the first upload) or upload a second time and make sure the file name clearly states it is the second version.

+ +
+ +
+ +

If the upload is successful, you will see the "Your upload was successful. Thank you!" at the bottom of the page.

+

Contact the Organizers

+

Please email juliacon@julialang.org if you have any problems using this upload tool.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/venue/index.html b/previews/PR609/2023/venue/index.html new file mode 100644 index 000000000..09f8ef3c2 --- /dev/null +++ b/previews/PR609/2023/venue/index.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Venue + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Venue

+

JuliaCon 2023 will be held at the Ray and Maria Stata Center at the Massachusetts Institute of Technology, 32 Vassar Street, Cambridge, MA 02139, USA.

+ + + +

Getting around the conference

+

Below you can find different maps highlighting the rooms where the conference will be held.

+ +

+ + + +

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/volunteer/index.html b/previews/PR609/2023/volunteer/index.html new file mode 100644 index 000000000..3b6ecb181 --- /dev/null +++ b/previews/PR609/2023/volunteer/index.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sign Up! + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

Sign Up!

+ +Help out as a volunteer. + +

JuliaCon volunteers are the backbone of our conference and without people like you, we would not be able to make JuliaCon the success it is!

+

Roles

+

Mentors to new speakers

+

JuliaCon 2023 will match first-time JuliaCon speakers desiring guidance to experienced speakers willing to mentor. We are expecting a time commitment of maximally a few hours in which mentors will provide feedback on a novice speaker's presentation.

+

Please let us know if you would like to be mentored or if you are willing to mentor a first-time speaker for JuliaCon 2023!

+

Proceedings reviewers

+

JuliaCon will be offering proceedings, and we need reviewers to assess submissions. Our review process will be similar to that of the Journal of Open Source Software (JOSS).

+

Virtual volunteers

+

Our virtual volunteers help keep the conference running smoothly by helping with items like registration, moderation, and AV support. Help us put on a great event for our community!

+

Organizing Committee Members

+

If you want to spend more time and get involved as a committee member, please check out the committee page and feel free to reach out to a committee member on Slack / Twitter for details on what the experience is like.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2023/workshops/index.html b/previews/PR609/2023/workshops/index.html new file mode 100644 index 000000000..8222f66f1 --- /dev/null +++ b/previews/PR609/2023/workshops/index.html @@ -0,0 +1,432 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2021 Workshops + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2023 + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 +
Other Events in 2023: Eindhoven +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2021 Workshops

+

Below you will find the workshop schedule along with the link to watch on YouTube. All workshops will be at (2 PM UTC) and as shown below, there will be two workshops running concurrently each day. Make sure you register (for free) to ensure you are able to participate and ask questions during the workshops.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DateWorkshop TitleLink
Tuesday July 20 + GPU programming in Julia + + https://www.youtube.com/watch?v=Hz9IMJuW5hU +
Tuesday July 20 + DataFrames.jl 1.2 tutorial + + https://www.youtube.com/watch?v=tJf24gfcSto +
Wednesday July 21 + Quantum Computing with Julia + + https://www.youtube.com/watch?v=tEd6driz37w +
Wednesday July 21 + Statistics with Julia from the ground up + + https://www.youtube.com/watch?v=IlPoU5Yr2QI +
Thursday July 22 + A mathematical look at electronic structure theory + + https://www.youtube.com/watch?v=HvpPMWVm8aw +
Thursday July 22 + Game development in Julia with GameZero.jl + + https://www.youtube.com/watch?v=ar7wCVlncKE +
Friday July 23 + Solving differential equations in parallel on GPUs + + https://www.youtube.com/watch?v=DvlM0w6lYEY +
Friday July 23 + Package development in VSCode + + https://www.youtube.com/watch?v=F1R3ETaRQXY +
Saturday July 24 + Simulating Big Models in Julia with ModelingToolkit + + https://www.youtube.com/watch?v=HEVOgSLBzWA +
Saturday July 24 + Package development: improving engineering quality & + latency + + https://www.youtube.com/watch?v=wXRMwJdEjX4 +
Sunday July 25 + Parse and broker (log) messages with CombinedParsers(.EBNF) + + https://www.youtube.com/watch?v=RpCnP-S7txI +
Sunday July 25 + Modeling Marine Ecosystems At Multiple Scales Using Julia + + https://www.youtube.com/watch?v=UCIRrXz2ZS0 +
Monday July 26 + It's all Set: A hands-on introduction to JuliaReach + + https://www.youtube.com/watch?v=P4I7pTvQ4nk +
Monday July 26 + Introduction to Bayesian Data Analysis + + https://www.youtube.com/watch?v=W_ExvidyESg +
Tuesday July 27 + Diffractor: Next-Gen AD for Julia [Canceled] + +

[Canceled]

+
Tuesday July 27 + Introduction to metaprogramming in Julia + + https://www.youtube.com/watch?v=2QLhw6LVaq0 +
+ + +Poster for the JuliaCon 2021 workshop schedule + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/accessibility/index.html b/previews/PR609/2024/accessibility/index.html new file mode 100644 index 000000000..40fff3961 --- /dev/null +++ b/previews/PR609/2024/accessibility/index.html @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Accessibility at JuliaCon + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Accessibility at JuliaCon

+

JuliaCon is committed to providing an accessible and inclusive environment to every attendee. We want everyone to get the most from the presentations at JuliaCon, whether they're attending in person or watching online.

+

Feel free to reach out to the organising committee at juliacon@julialang.org for any additional concerns.

+

Presentation Guidelines

+

We're aiming to raise awareness of diversity and promote equity for all members of our community. We want to reach everybody in the audience, regardless of vision impairment or other disabilities. So here are some guidelines and suggestions you can follow when building your presentation. These will help make your ideas accessible to everyone.

+

Diversity Awareness:

+

Be aware and open to the diversity in your audience. When planning your content understand that some of your audience might not be able to:

+ +

Your audience has both visible and invisible identities and accessibility needs.

+

Best practices for creating an accessible presentation:

+ +

Best practices for inclusive presentations:

+ +
+

Read Best Practices for Creating Accessible PowerPoints and Inclusive Presentations for more information.

+

Travel with a disability

+

Read our Travel with a disability page for more information on how to make your travel to JuliaCon as smooth as possible.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/activities/index.html b/previews/PR609/2024/activities/index.html new file mode 100644 index 000000000..61932dd59 --- /dev/null +++ b/previews/PR609/2024/activities/index.html @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Activities + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Activities

+

Welcome to Eindhoven, a vibrant city brimming with exciting activities for everyone!

+

Eindhoven Travel Guide

+ + + +

Dining

+

Eindhoven has a variety of restaurants near the city center or close to the PSV Stadium. Many are within walking distance of the stadium or city center, but there are a few things to consider.

+ +

You can find a lot of recommendations here

+

As a reference, here is a non-exhaustive list of recommended places:

+ +

Bars

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/callforhosts/index.html b/previews/PR609/2024/callforhosts/index.html new file mode 100644 index 000000000..8aeae9570 --- /dev/null +++ b/previews/PR609/2024/callforhosts/index.html @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon Global 2025 and JuliaCon Locals Call for Hosts + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon Global 2025 and JuliaCon Locals Call for Hosts

+

The JuliaCon Executive Committee will consider proposals to host JuliaCon Global 2025 as well as JuliaCon Local(s) over the next 1-2 years. Following the usual JuliaCon Global rotation of locations (alternating between the Americas and Europe), JuliaCon 2025 is planned to be held in the US or the broader Americas, however proposals for alternate locations may still be selected.

+

JuliaCon Locals may be proposed for any location in the globe and for any time of year (except the month of July). Proposals must be from active researchers or other community members, not from a conference management entity. Proposers should have had previous JuliaCon experience (for example, participation in the conference, volunteering at the conference including serving on the program committee, etc.). Selected proposals will be asked to submit further details and will be advised in its preparation.

+

Proposals should be brief (2 to four pages) and should contain information on:

+ +

Proposals should be emailed to raye@julialang.org

+

Responsibilities

+

The executive committee appoints the program chair(s), finance chair(s), sponsorship chair(s), proceedings chair(s) and DEI chair(s) and other committee positions for JuliaCon 2025. The local committee is typically responsible for:

+ +

For JuliaCon Global the global committee is typically responsible for:

+ +

The local committee is free to determine the extent of its involvement in these global committee responsibilities.

+


In the case of a JuliCon Local all responsibilities listed above are typically assumed by the local committee except for finance which is shared between the global finance chair and the local finance chair.***

+

Evaluation Criteria

+

The proposal may include, as appendices, brochures or other printed material concerning the locale and conference facilities, if these are available. For JuliaCon Global 2025 the global committee will negotiate with proposed hotel venues directly, if the venue is a university or similar entity the local chairs may be involved in this negotiation. For JuliaCon Local(s) the local committee must still submit these documents but will handle negotiations. The proposal will be evaluated using the following criteria:

+ +

JuliaCon is committed to diversity, equity, and inclusion, in all of its activities, and aims to recruit volunteers representative of the diversity of the Julia community as well as the broader software development and research communities.

+

For more information please contact raye@julialang.org

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/coc/index.html b/previews/PR609/2024/coc/index.html new file mode 100644 index 000000000..fbcb752e7 --- /dev/null +++ b/previews/PR609/2024/coc/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Code of Conduct + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Code of Conduct

+

JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin. We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference channel, including formal talks and networking between sessions. In general, please abide by the Julia Community Standards. Conference participants violating these standards may be expelled from the conference at the discretion of the conference organizers.

+

Harassment includes, but is not limited to:

+ +

or national and ethnic origin

+ +

Enforcement

+

Participants asked to stop any harassing behavior are expected to comply immediately. If a participant engages in harassing behavior, event organizers retain the right to take any actions to keep the event a welcoming environment for all participants. This includes warning the offender or expulsion from the conference. Event organizers may take action to redress anything designed to, or with the clear impact of, disrupting the event or making the environment hostile for any participants. We expect participants to follow these rules on all platforms used for conference interactions and at all conference venues. We think people should follow these rules outside event activities too!

+

Reporting

+

If you would like to report a CoC violation or discuss any incident that may have left you uncomfortable, please contact the JuliaCon Diversity and Accessibility Chairs (Skylar Gering and Valentin Churavy) in-person, through email at diversity@julialang.org, or at +3197010270482. You can also ask any other member of the organizing committee or volunteer at the front desk to help locate the appropriate individuals to help you. Other event staff may be involved to ensure your report is managed properly but your identity will be kept confidential throughout the reporting process.

+

Finally, if you feel that the organizing committee is unable to address your report, the Julia Stewards may be contacted at stewards@julialang.org.

+

Note that this CoC is under the (CC BY-SA 4.0) license

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/dei/index.html b/previews/PR609/2024/dei/index.html new file mode 100644 index 000000000..7bd3e2f91 --- /dev/null +++ b/previews/PR609/2024/dei/index.html @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Diversity, Equity, and Inclusion at JuliaCon 2024 + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Diversity, Equity, and Inclusion at JuliaCon 2024

+

JuliaCon Mentor-Mentee Program

+

A reminder that JuliaCon is running an in-conference mentor-mentee program! Are you a new Julia user or a first-time conference attendee? Are you an experienced Julia community member or multi-conference attendee? If so, sign up to be a mentee or mentor, respectively. We will match attendees based on track and mini-symposium interests, providing new community members with a chance to attend talks with their mentors and gain a foothold in the community. Regardless of whether you already signed up when buying tickets or want to sign up now, please fill out this matching form by July 3rd, one week before the start of the conference!

+

Childcare

+ + +
+ + DEI Announcement +
+
+
+ +

We will have on-site childcare at JuliaCon 2024 for children between the ages of 0-12. When you purchase your ticket there is an option to sign up for one of the available JuliaCare childcare slots! We hope that this will allow increased attendance and participation from parents of young children. As we approach the conference those who signed up will be contacted with more details. The childcare providers will be on-site Tuesday to Friday. The childcare providers will speak both Dutch and English.

+

If you bought a ticket but didn't sign up for childcare and would now like to bring your child, please sign up using this form.

+

Ticket and Travel Grants

+ + +
+ + DEI Announcement +
+
+
+ +

All tickets and travel grants have already been awarded for JuliaCon 2024.

+

JuliaCon 2024 will attempt provide financial assistance to those who wish to attend but for whom it is financially infeasible. A portion of the sponsorship money will be set aside for Diversity, Equity, and Inclusion (DEI) initiatives, including providing free tickets and travel assistance to diverse attendees. Awards are based on financial need, benefits to the applicant, and contributions by the applicant to their community and the broader Julia community. Financial assistance cannot be guaranteed at this time, but we will do what we can.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/hackathon/index.html b/previews/PR609/2024/hackathon/index.html new file mode 100644 index 000000000..ab1a2365e --- /dev/null +++ b/previews/PR609/2024/hackathon/index.html @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Hackathon + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Hackathon

+

This year the hackathon will take place in the iconic Grand Cafe De Lichttoren on Saturday, July 13th. Here you can chat with the friends you made during the previous days of JuliaCon, while in the meantime solving problem of package developers. The following projects are ready to be worked on:

+ +

Additional Details

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/index.html b/previews/PR609/2024/index.html new file mode 100644 index 000000000..51a3b3e4c --- /dev/null +++ b/previews/PR609/2024/index.html @@ -0,0 +1,671 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2024 + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + +
+
+

JuliaCon 2024 +

+ +
+

Join the largest annual conference organized around the Julia programming language. +

+ +
+

+ Philips Stadion, Eindhoven. July 9th–13th, 2024.
+ + Workshops are hosted at the TU/e on July 9th. +
+Co-hosted with PyData Eindhoven on July 11th. +
+Hackathon is hosted at De Lichttoren on July 13th. +
+ +
+ +

+
+
+ + + + + + + + + + + +
+ + + + +
+ + + +
+

+ JuliaCon YouTube Live Feed +

+
+ + +
+

+ JuliaCon at a Glance +

+
+ +
Welcome to JuliaCon 2024, the premier annual conference for the Julia programming language community! This exciting event brings together developers, researchers, and enthusiasts from around the globe to celebrate and explore the power and versatility of Julia.
+
+
JuliaCon 2024 schedule is now out! Besides the awesome talks that will be hosted on July 10th, 11th and 12th, there will also be other activities on the days around the conference! On July 9th workshops will be held, and on July 13th the annual hackathon will be held. The workshops will take place at the Neuron faculty building at the Eindhoven University of Technology and the hackathon will take place at Grand Cafe De Lichttoren. Both locations are only a short walk from the Eindhoven train station.
+
+ +
+
+

Passionate community

+ +
+
+ At JuliaCon, expect to be surrounded by passionate individuals from diverse backgrounds united by their enthusiasm for the Julia programming language. Check our Diversity Program!
+
+
+

Technical Talks & Keynotes

+ +
+
+ More than 300 talks, workshops, posters and hackatone sessions covering a wide range of topics in Julia programming. Additionally, check out our insightful keynotes, set to happen on the iconic PSV stadion pitch!
+
+
+

Practical Workshops

+ +
+
+ Extra workshops designed to provide hands-on learning and practical insights into Julia programming. From the beginners intro to Julia to the hardcore machine learning in Julia, there is something for everyone.
+
+
+

Networking opportunities

+ +
+
+ JuliaCon offers exceptional networking opportunities for professionals and enthusiasts alike. Meet and connect with like-minded individuals from around the world.
+
+
+

Iconic location

+ +
+
+ The conference venue will be the Philips Stadion, the home of the PSV Eindhoven football club, in Eindhoven, the Netherlands. And if you still didn't know, we have the daycare for mamas and papas!
+
+
+

Diversity Initiative & Childcare

+ +
+
+ Did you know we will have on-site childcare at JuliaCon 2024 for children between the ages of 0-12? Learn how to sign up and learn more about our other Diversity Initiatives!
+
+



+ +
+
+

+ Keynote Speakers +

+
+ +
+
+
+
+ +
+
+
Julia Core Developers
+ State of Julia 2024 +
+
+
+
+
+
+
+ +
+
+
Prof. Bert de Vries
+ Natural Artificial Intelligence +
+
+
+
+
+
+
+ +
+
+
Maurice du Mée
+ Software at ASML: the Force behind making microchips +
+
+
+
+
+
+
+ +
+
+
Prof. Michael F. Herbst
+ Materials Modeling: Bonding across atoms, code, and people +
+
+
+
+
+
+
+ +
+
+
Prof. Rachel Kurchin
+ Materials Modeling: Bonding across atoms, code, and people +
+
+
+
+
+
+
+ +
+
+
Dr. Andrew Fitzgibbon
+ AI Hardware and Real-world AI +
+
+
+
+
+
+
+ +
+
+
Dr. Katharine Hyatt
+ Why I use Julia for Quantum Computing? +
+
+
+
+
+
+
+ +
+
+
Dr. Sam Aaron
+ Sonic Pi - Live Coding as a tool for next-gen education +
+
+
+
+
+
+ +
+
+

+ Venue +

+
+ +
+
The conference venue will be the Philips Stadion, the home of the PSV Eindhoven football club, in Eindhoven, the Netherlands.
+
+
+
+
+ +
+
+

+ Previous events +

+
+ +

After movie

+

+ +
Relive the highlights of JuliaCon Local 2023 in Eindhoven! Check out our after movie to see what made this event a success. Discover why attendees found it a valuable experience, and get a glimpse into the dynamic and collaborative spirit of the event.

+

Recorded talks

+

+ +
JuliaCon 2024 is almost upon us. To get in the mood for what is planned to be an amazing conference you can watch all of the previous JuliaCon conference's talks, workshops and keynotes at the Julia Language's YouTube channel.

+

Memories of JuliaCon past

+

We also have some photographic memories from previous JuliaCons. Explore our collection of photos to revisit the lively workshops, insightful presentations, and memorable networking moments that have made each JuliaCon unique. Find more photos here.

+
+
+
+

+ And more! +

+
+ +


+ +

+

+
+
+

Julia Community Prize 2024

+ Nominations for the Julia Community Prize 2024 are now open! Send us your nominations today.
+
+
+ +
+
+

Diversity Initiative & Childcare

+

+

We will have on-site childcare at JuliaCon 2024 for children between the ages of 0-12. When you purchase your ticket there is an option to sign up for one of the available JuliaCare childcare slots!

+

Moreover, if you are traveling from outside the Schengen area you may need a visa or a supporting letter.

+

Learn how to sign up and learn more about our other Diversity Initiatives!

+

+
+
+ +
+
+

Code of Conduct

+ JuliaCon is dedicated to providing a positive conference experience for all attendees, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin.

+

We encourage respectful and considerate interactions between attendees and do not tolerate harassment of conference participants in any form. For example, offensive or sexual language and imagery is not appropriate for any conference venue, including formal talks and networking between sessions. Conference participants violating these standards may be sanctioned or expelled from the conference (without a refund) at the discretion of the conference organizers.

+

Our anti-harassment policy and information about who to contact if you have an issue you'd like to discuss can be found on our Code of Conduct.

+
+
+ +
+
+

Committee

+ JuliaCon is organized by a committee composed entirely of volunteers, and can be reached at juliacon@julialang.org with any questions or comments.
+
+
+ + + +
+
+ + +
+
+
+

Thanks to our Sponsors!

+

+ The conference wouldn’t be possible without our cool sponsors! Their generous support and dedication have played a crucial role in bringing together JuliaCon 2024, allowing us to create an exceptional experience for all attendees. We extend our heartfelt gratitude to each sponsor for their commitment to advancing technology, fostering innovation, and supporting our community. Thank you for making this event a success!

+ +

Diamond

+
+ +
+ +

Platinum

+
+ +
+ + + + +

Silver

+
+ + + +
+ +

Bronze

+
+ + + +
+ +

Copper

+
+ +
+ +

Startup

+
+ + + + + + + + +
+ +

Supporting Partners

+
+ + + + +
+ +

Local Partners

+
+ + + +
+ +

With the help of the Julia project’s fiscal host:

+
+ +
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/jobboard/index.html b/previews/PR609/2024/jobboard/index.html new file mode 100644 index 000000000..fe93b5bb8 --- /dev/null +++ b/previews/PR609/2024/jobboard/index.html @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Job board + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Job board

+

Check out job listings from our sponsors:

+

+
+

+

+ +

+

+ + +

+

+ + +

+

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/keynotes/index.html b/previews/PR609/2024/keynotes/index.html new file mode 100644 index 000000000..a86fe254b --- /dev/null +++ b/previews/PR609/2024/keynotes/index.html @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Keynotes + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Keynotes

+ +
+ +
+
+
+ + + +
+ Julia Core Developers +

+ Julia +

+

+ +

+
+
+
+ +

State of Julia 2024

+

In this keynote the core developers will delve into the latest advancements and future directions of the Julia programming language. This keynote will offer a comprehensive overview of the developments over the past year, highlighting significant improvements, new features, and the growing ecosystem around Julia.

+ +
+ +
+
+
+ + + +
+ Prof. Bert de Vries +

+ Eindhoven Technical University +

+

+ Bert de Vries received MSc (1986) and PhD (1991) degrees in Electrical Engineering from Eindhoven University of Technology (TU/e) and the University of Florida, respectively. From 1992 until 1999 he worked at Sarnoff Research Center in Princeton (NJ), where he contributed to research projects over a wide range of signal and image processing topics such as word spotting, financial market prediction, and breast cancer detection from mammograms. Since April 1999, he has been employed in the hearing aids industry (currently at GN Hearing), both in research and managerial roles. Since January 2012, he has also been a full professor at the Signal Processing Systems Group at TU/e, where he directs the BIASlab research team of graduate students with whom he conducts research on transferring a Bayesian brain theory (the Free Energy Principle) to practical engineering solutions. +

+
+
+
+ +

Natural Artificial Intelligence

+

Large language model-based chatbots such as chatGPT are very impressive, but you cannot ask them to go out and learn how to ride a bike. Learning how to ride a bike is about an agent that learns a skill through efficient, real-time interactions with a dynamic environment. In this presentation, I will discuss the underlying technology that enables brains to learn new skills and acquire knowledge solely through unsupervised environmental interactions. How much do we understand about what brains compute? And is this knowledge transferable to AI engineering systems? I will discuss Karl Friston’s Free Energy Principle, which is the theory on what, why and how brains compute. I will also discuss the efforts of our research lab (http://biaslab.org) at TU Eindhoven to develop a Julia ecosystem of packages to support transfer of these ideas to working AI engineering tools.

+ +
+ +
+
+
+ + + +
+ Maurice du Mée +

+ ASML +

+

+ +

+
+
+
+ +

Software at ASML: the Force behind making microchips

+

In a rapidly evolving landscape of semiconductor manufacturing, ASML’s advanced lithography technologies are pivotal in driving Moore’s Law forward. The focus of this talk is ASML’s holistic approach to Software development and acceleration of Software delivery to customers. In addition, we discuss how ASML engages and cultivates Software talents. At the end of this presentation the attendees will have an understanding of ASML’s software ecosystem and its critical role in advancing the future.

+ +
+ +
+
+
+ + + +
+ Prof. Michael F. Herbst +

+ Mathematics and Institute of Materials Science, École polytechnique fédérale de Lausanne, Switzerland +

+

+ +

+
+
+
+ +
+
+ + + +
+ Prof. Rachel Kurchin +

+ Materials Science and Engineering department at Carnegie Mellon University in Pittsburgh, Pennsylvania, USA +

+

+ +

+
+
+
+ +

Materials Modeling: Bonding across atoms, code, and people

+

Current solutions to key 21st-century challenges (such as climate change, food insecurity, healthcare, and communications) are fundamentally limited by the functional properties of known materials. Designing new materials increasingly relies on computational modeling with state-of-the-art workflows frequently interweaving first-principles with empirical modeling as well as data-driven approaches. To make advances, we often must establish novel connections across fields such as physics, chemistry, computer science, and applied math. The Julia language and user community are well-poised to address these challenges. However, with many well-established software solutions and their respective user communities already in existence, Julia tools cannot just duplicate existing functionality. Rather, it is crucial to integrate and add value to existing (often monolithic) codebases and software ecosystems. In this talk, we will discuss existing efforts in this area –- both by ourselves as well as the broader JuliaMolSim community –- and outline remaining challenges and opportunities going forward

+ +
+ +
+
+
+ + + +
+ Dr. Andrew Fitzgibbon +

+ Graphcore +

+

+ Andrew Fitzgibbon has been closely involved in the delivery of three groundbreaking computer vision and machine learning systems over two decades. In 2000, he was computer vision lead on the Emmy-award-winning 3D camera tracker "Boujou"; in 2009 he introduced large-scale synthetic training data to Kinect for Xbox 360, and in 2019 was science lead on the team that shipped fully articulated hand tracking on HoloLens 2. His passion is bringing the power of mathematics to the crucible of real-world engineering. He has numerous research awards, including ten "best paper" prizes at leading conferences, and is a Fellow of the UK's Royal Academy of Engineering. +

+
+
+
+ +

AI Hardware and Real-world AI

+

AI is fast becoming a significant consumer of the world’s computational power, so it is crucial to use that power wisely and efficiently. Our approaches to doing so must span all levels of the research stack: from fundamental theoretical understanding of the loss surfaces and regularization properties of machine learning models, to efficient layout at the transistor level of floating-point multipliers and RAM. I will talk about projects, such as real-time computer vision on the Microsoft HoloLens HPU (about 3.5 GFLOPS ), which required extreme efficiency in both objective and gradient computations, and how this relates to the training of massive AI models on Graphcore’s IPU (about 350 TFLOPS). Key to this work is how we empower programmers to communicate effectively with such hardware, and how we design frameworks and languages to ensure we can put theory into practice. So this talk contains aspects of: mathematical optimization, automatic differentiation, programming languages, and silicon design. Despite this range of topics, the plan is for it to be accessible and useful to anyone who loves computers.

+ +
+ +
+
+
+ + + +
+ Dr. Katharine Hyatt +

+ Amazon +

+

+ +

+
+
+
+ +

Why I use Julia for Quantum Computing?

+

Quantum computing is an emerging field, with a variety of hardware platforms in development and proposed applications. We will review some of these hardware approaches and quantum algorithms in a way accessible to experts in classical computing, discussing the challenges that lie ahead for practical applications of quantum technology. Finally, we'll discuss the role Julia and its community can play in the field and opportunities to fix some of what Julia lacks in this area.

+ +
+ +
+
+
+ + + +
+ Dr. Sam Aaron +

+ Sonic Pi +

+

+ +

+
+
+
+ +

Sonic Pi - Live Coding as a tool for next-gen education

+

Sonic Pi is a free code-based music creation and performance tool that targets both education and professional musicians. It is possible for beginners to code fresh beats, driving bass lines and shimmering synth riffs. All this whilst teaching core computer science concepts such as sequencing, functions, variables, loops, data structures and algorithms. This talk will briefly introduce Sonic Pi before taking a deep technical nose-dive into some of the interesting requirements of live coding systems. We'll touch on concurrency, distributed programming, temporal logic, deterministic randomisation, event streams, hot swapping code and domain specific languages. Get ready for some serious live coded beats and a window into an exciting future of computing education.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/marketingmaterials/index.html b/previews/PR609/2024/marketingmaterials/index.html new file mode 100644 index 000000000..026e7a93d --- /dev/null +++ b/previews/PR609/2024/marketingmaterials/index.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Marketing Materials + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Marketing Materials

+

Below are multiple different talk / workshop / session advertising templates for your use, scroll all the way down to see them all.

+

We encourage you to edit these templates with your talk title, abstract, and optionally a headshot or other image. These materials are provided strictly for the advertisement of your confirmed JuliaCon 2024 talk, and should not be used for any other purpose.

+

Options for editing the templates include Powerpoint, Keynote, Google Slides, Canva, Adobe PhotoShop, GIMP, or Julia tools like Luxor.jl or Makie.jl.

+

Please distribute your talk advert within your own communities both in person and online. However, do not spam Julia social spaces like Slack, Discourse or Zulip.

+

An example of the templates in use for the 2024 Dagger.jl workshop is below:

+

Dagger.jl Marketing Materials

+

Template A:

+

Template A with no photos Template A with 1 photo Template A with 2 photos Template A with 3 photos

+

Template B:

+

Template B with no photos Template B with 1 photo Template B with 2 photos Template B with 3 photos

+

Template C:

+

Template C with no photos Template C with 1 photo Template C with 2 photos Template C with 3 photos

+

Template D:

+

Template D with no photos Template D with 1 photo Template D with 2 photos Template D with 3 photos

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/memories/index.html b/previews/PR609/2024/memories/index.html new file mode 100644 index 000000000..ad4e8c310 --- /dev/null +++ b/previews/PR609/2024/memories/index.html @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Memories of JuliaCon past + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Memories of JuliaCon past

+

2023

+

JuliaCon was back at MIT for 2023, and we took a photo in the same amphitheatre as before.

+

JuliaCon 2023 group photo at MIT

+

2021

+

JuliaCon continued online in 2021, and so we again asked our attendees to upload a photo of their hometown. Here once again is a collage representing the world wide nature of the Julia community.

+

places of JuliaCon

+

2020

+

JuliaCon moved online in 2020, and so we could not arrange the traditional group photo. We did however ask our attendees to upload a photo of the place they were joining from. Here is a collage, representing our global audience.

+

places of JuliaCon

+

2019

+

The number of our attendees grew enough that we had to hire a drone to take the photo. Here we are in sunny Baltimore.

+

JuliaCon 2019 group photo in Baltimore

+

2018

+

JuliaCon moved to Europe for the first time. Here we are at the front quad of the University College, London.

+

JuliaCon 2018 group photo in London

+

2017

+

JuliaCon moved west, to the University of California, Berkeley.

+

JuliaCon 2017 group photo in Berkeley, California

+

2016

+

We continued at MIT for another year, with a growing audience.

+

juliacon 2016 group photo at MIT

+

2015

+

With increasing interest, JuliaCon was held at MIT, the home of Julia. Here we are, with the angles of the Ghery's Stata Center behind us.

+

JuliaCon 2015 group photo at MIT

+

2014

+

The first JuliaCon was held in Chicago, where nearly 80 early adopters came together to talk about this then new programming language. The rest is history!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/minisymposia/aerospace/index.html b/previews/PR609/2024/minisymposia/aerospace/index.html new file mode 100644 index 000000000..a60666f20 --- /dev/null +++ b/previews/PR609/2024/minisymposia/aerospace/index.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Aerospace Minisymposium + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Aerospace Minisymposium

+

Aerospace engineering and science stand at the vanguard of technological progress, where precision, efficiency, and the scalability of computational tools play pivotal roles. The advent of the New Space era, characterized by a surge in small-scale spacecraft and missions, has disrupted the traditional rigidity of the aerospace industry. This new landscape prioritizes performance, flexibility, and rapid iteration in modeling and mission design.

+

Amidst these evolving dynamics, Julia emerges as an increasingly preferred solution for complex aerospace challenges, owing to its high-performance capabilities and user-friendly nature. Our minisymposium is conceived to spotlight Julia's applications in aerospace, fostering a vibrant forum for enthusiasts and experts alike. This event aims to catalyze collaboration, and advocate for Julia's broader adoption in aerospace circles.

+

Participants will be treated to insightful presentations, each delving into Julia's practical and theoretical applications in solving real-world aerospace problems. We welcome contributions from all sectors—academic, industrial, and governmental—that demonstrate Julia's impact and potential in aerospace endeavors.

+

Beyond the presentations, the minisymposium will feature a panel discussion, designed to encourage lively exchanges among attendees. This segment presents a unique opportunity to engage in dialogues about current trends, emerging challenges, and future trajectories of Julia in aerospace applications. Our objective is to nurture a collaborative milieu, where shared experiences and ideas might crystallize into initiatives and partnerships within the Julia community.

+

Proposals are invited from both newcomers to Julia and seasoned practitioners in the aerospace sector. Through this minisymposium, we aspire not only to showcase Julia's current contributions but also, primarily, to amplify its role in driving forward aerospace technology and research.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/minisymposia/data/index.html b/previews/PR609/2024/minisymposia/data/index.html new file mode 100644 index 000000000..86d11382a --- /dev/null +++ b/previews/PR609/2024/minisymposia/data/index.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Scientific Data Minisymposium + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Scientific Data Minisymposium

+

A robust scientific data ecosystem is critical to Julia's applications in scientific computing. The ability to handle scientific data interchange allows Julia to interoperate with existing scientific projects which may be using code in other languages such as MATLAB, Python, C, C++, or Rust. Prior minisymposia on data have emphasized the use of Julia with tabular data in CSV files or web friendly data formats such as JSON. Julia's strong support for tabular data and JSON provide a strong foundation to build upon. Scientific data also extends into n-dimensional arrays with dimensions describing space, time, and other parameters such as wavelength that may not be well served these data formats. These datasets are organized into nested hiearchial groups and are annotated with standardized regular vocabulary.

+

Potential topics for the scientific data minisymposium are as follows.

+
    +
  1. Advanced input and output APIs for scientific data. This includes HPC interfaces such as Message Passing Interface (MPI), cloud data APIs, and interfaces with databases.

    +
  2. +
  3. Data formats for scientific data interchange. Discussion of data formats such as HDF5, NetCDF, FITS, Zarr, ADIOS2, and ASDF or their incoporation into data schemes such as scverse would be welcome.

    +
  4. +
  5. Data exchange between threads and (distributed) processes. This especially includes techniques that transfers data while retaining annotations and context.

    +
  6. +
  7. The implementation of abstract interfaces over similar data interfaces. For example, implementing a general n-dimensional chunk based interface supporting multiple data formats.

    +
  8. +
+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/minisymposia/earth/index.html b/previews/PR609/2024/minisymposia/earth/index.html new file mode 100644 index 000000000..e0b24dc92 --- /dev/null +++ b/previews/PR609/2024/minisymposia/earth/index.html @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Earth and climate science in Julia: Power to the user + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Earth and climate science in Julia: Power to the user

+

Solving the two-language problem, Julia blurs the line between users and developers. Julia software in Earth and climate science often spans multiple aspects including models and their development, preparing and running simulations, data post-processing, analysis and visualisation. Users can easily extend packages, increasing the number of contributors, while developers enhance the user interface and experience within a unified language framework. At the same time, developers start to support other software packages and tools directly given the single language framework, further growing the ecosystem.

+

Traditionally, Earth and climate science relied on Fortran for performance-critical software and, more recently, on Python for data analysis and visualisation. Unfortunately, this puts a divide between developers and users, at least partially counteracting the gained productivity through Python. Julia as an emerging language framework has allowed this community to rethink how to build software with and for users, of which we want to highlight efforts from both the developer but especially the user perspective. Overall we want to accelerate research on Earth and climate science, which not just depends on high-performance computing but particularly on the user interface being accessible, intuitive, interactive and extensible.

+

We invite both developers and users, as well as individuals who bridge these roles, to discuss software projects and their impact on user empowerment. We also welcome talks by developer-user pairs highlighting the co-benefits from a combined perspective. For this minisymposium, we accept abstracts on every field in and adjacent to Earth and climate sciences, including but not limited to

+ +

Talks can focus on software that solves equations, analyses or visualises data, processes measurements and especially software with any combination of the above. Talks on planetary sciences are equally welcome especially when they parallel the issues and opportunities to the fields mentioned.

+

Chairs

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/minisymposia/hpc/index.html b/previews/PR609/2024/minisymposia/hpc/index.html new file mode 100644 index 000000000..323b8504b --- /dev/null +++ b/previews/PR609/2024/minisymposia/hpc/index.html @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Julia for High-Performance Computing + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Julia for High-Performance Computing

+

As we embrace the era of exascale computing, scalable performance and fast development on extremely heterogeneous hardware have become ever more important aspects for high-performance computing (HPC). Scientists and developers with interest in Julia for HPC need to know how to leverage the capabilities of the language and ecosystem to address these issues and which tools and best practices can help them to achieve their performance goals.

+

What do we mean by HPC? While HPC can be mainly associated with running large-scale physical simulations like computational fluid dynamics, molecular dynamics, high-energy physics, climate models etc., we use a more inclusive definition beyond the scope of computational science and engineering. More recently, rapid prototyping with high-productivity languages like Julia, machine learning training, data management, computer science research, research software engineering, large scale data visualization and in-situ analysis have expanded the scope for defining HPC. For us, the core of HPC is not to run simple test problems faster but involves everything that enables solving challenging problems in simulation or data science, on heterogeneous hardware platforms, from a high-end workstation to the world's largest supercomputers powered with different vendors CPUs and accelerators (e.g. GPUs).

+

In this minisymposium, we will review the current state of affairs of Julia for HPC in a series of talks. The focus of these overview talks is to introduce and highlight the aspects that make the Julia language beneficial for scientific HPC workflows such as scalable deployments, compute accelerator support, user support, and HPC applications. In addition, we have reserved some time for participants to interact, discuss and share the current landscape of their investments in Julia HPC, while encouraging networking with their colleagues over topics of common interest.

+

The minisymposium will include presentations of the following confirmed speakers and topics (exact titles and schedule will be finalized later):

+ +

The overall goal of the minisymposium is to identify and summarize current practices, limitations, and future developments as Julia experiences growth and positions itself in the larger HPC community due to its appeal in scientific computing. It also exemplifies the strength of the existing Julia HPC community that collaboratively prepared this event. We are an international, multi institutional, and multi disciplinary group interested in advancing Julia for HPC applications in our academic and national laboratory environments. We welcome new people from diverse backgrounds sharing our interest and would like to bring them together in this minisymposium.

+

With this being the third installment of the Julia for HPC miniysmposium at JuliaCon, this minisymposium has become a gathering place for all HPC enthusiasts at JuliaCon. In this spirit, the minisymposium will also serve as a starting point for further Julia HPC activities at JuliaCon 2024 such as a hands-on workshop on Julia for high-performance computing. Furthermore, a number of talks will be dedicated to topics relevant for HPC developers and users alike.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/minisymposia/index.html b/previews/PR609/2024/minisymposia/index.html new file mode 100644 index 000000000..4ae2424b7 --- /dev/null +++ b/previews/PR609/2024/minisymposia/index.html @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Minisymposia + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Minisymposia

+

A minisymposium is a conference within a conference.

+

There are two kinds of minisymposia

+
    +
  1. Minisymposia accepting submissions

    + +
  2. +
  3. Minisymposia with predefined program

    + +
  4. +
+

How to submit to a minisymposium

+

Minisymposia accepting submissions are tracks in the pretalx system. Simply choose the minisymposium from the "tracks" field when submitting.

+

By default, deadline for minisymposia is the same of JuliaCon. Some minisymposia organizers may choose to extend the deadline after this has passed. This will be communicated later.

+

Checkout the full schedule on PreTalx, or click here for the rest of the announcement and Important FAQs!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/minisymposia/industrial/index.html b/previews/PR609/2024/minisymposia/industrial/index.html new file mode 100644 index 000000000..99b73728d --- /dev/null +++ b/previews/PR609/2024/minisymposia/industrial/index.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Industrial Julia + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Industrial Julia

+

Have you deployed Julia in an industrial setting? Have you tried to teach your colleagues about Julia? We are keen to learn from you about the ups and downs of these experiences.

+

We are aiming to make this an open session with plenty of room for discussion with the goal of improving the adoption of Julia as an industrial language. This can focus both on actions we can immediately take ourselves as well as on actions that require input from the wider Julia community and/or the Julia core developers.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/minisymposia/quantum/index.html b/previews/PR609/2024/minisymposia/quantum/index.html new file mode 100644 index 000000000..da3fb1274 --- /dev/null +++ b/previews/PR609/2024/minisymposia/quantum/index.html @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Quantum minisymposia + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Quantum minisymposia

+

Introduction:

+

At JuliaCon 2024, we are excited to present a mini-symposium focused on the burgeoning field of quantum software. This event showcases how Julia, as a cutting-edge programming language, is revolutionizing research and applications in various quantum domains such as quantum computing, condensed matter physics, quantum information, and quantum chemistry.

+

Objective:

+

The primary goal of this symposium is to foster a community where the latest software developments in quantum sciences can be shared and discussed. We aim to highlight the role of Julia in facilitating these advancements, providing a platform for showcasing innovative software solutions, discussing challenges, and exploring future possibilities in quantum research.

+

Target Audience:

+

This call is open to researchers, developers, and students who are at the forefront of integrating software, especially Julia, into quantum science research and applications. Whether you are developing new quantum algorithms, exploring quantum-chemical simulations, or applying Julia in novel quantum contexts, your insights are invaluable.

+

Topics of Interest:

+

We encourage submissions that cover a broad spectrum of quantum software topics, including but not limited to:

+

Software for quantum algorithm development and simulations Case studies of Julia in quantum computing applications Advances in software for quantum information processing Julia applied to the design, optimization, and control of quantum hardware Julia-based tools and libraries for quantum many-body physics research Development of quantum-chemical tools in chemistry and materials science Interfaces and libraries for atomistic modeling Benefits of Participation: Contributors will have the opportunity to engage with a global network of quantum software enthusiasts and professionals, gain visibility for their work, and contribute to advancing the field. The symposium serves as a platform for knowledge exchange, collaboration, and inspiration.

+

Conclusion:

+

Your participation in the JuliaCon 2024 Minisymposium will help shape the future of quantum software. We look forward to your innovative contributions and the exciting discussions they will spark.

+

Confirmed Speakers

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/schedule/index.html b/previews/PR609/2024/schedule/index.html new file mode 100644 index 000000000..9c84ceb3b --- /dev/null +++ b/previews/PR609/2024/schedule/index.html @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Schedule + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Schedule

+

Checkout the full schedule on PreTalx, or click here for the rest of the announcement and Important FAQs!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/social/index.html b/previews/PR609/2024/social/index.html new file mode 100644 index 000000000..9dd657fb7 --- /dev/null +++ b/previews/PR609/2024/social/index.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Social Events + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Social Events

+

We have prepared a range of social activities for JuliaCon 2024. In addition to the posters and appetizers session on Wednesday evening, this includes:

+ +

The full socials plan can be found here.

+

To gauge numbers, and to organise groups for some events, we request you to sign up for the events you plan to attend using this form.

+

Ideally, we would like you to have registered your interest using the form by July 22nd.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/sponsor/index.html b/previews/PR609/2024/sponsor/index.html new file mode 100644 index 000000000..1215d9430 --- /dev/null +++ b/previews/PR609/2024/sponsor/index.html @@ -0,0 +1,442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sponsorship Opportunities + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Sponsorship Opportunities

+

JuliaCon is a community organized non-profit conference, and it would not be possible without the support of its amazing set of sponsors over the years. We invite your organization to be a sponsor of JuliaCon 2024. You can find our sponsors from last year at the bottom of our 2023 homepage.

+

JuliaCon is the largest annual conference organized around Julia, the fastest high-performance open source computing language for machine learning, artificial intelligence, life sciences, robotics, algorithmic trading, real-time analytics and more. This year the conference is set to take place at the iconic PSV Stadium in Eindhoven, the Netherlands, July 9th - 12th, 2024.

+

Last year, JuliaCon was held at MIT in Boston, USA. This year, we are thrilled to be returning to Europe for the first time since 2018. With a global audience of developer, JuliaCon offers you the unique opportunity to present your company and your product to a huge group of engaged scientific programmers.

+

Sponsorship Prospectus

+ +
+ + +
+
+
+ Download our Sponsorship Prospectus PDF +
+ +

Sponsorship Opportunities

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
€30000
Diamond
€20000
Platinum
€15000
Gold
€8000
Silver
€5000
Bronze
€3000
Copper
€1000
Startup
Print and web advertising
Job Board
Exhibition Booth (with A/V)
no A/V
Sponsored Talk (10m), before a regular session
Sponsored Talk (10m), before a keynote session
Access to attendee opt-in attendee information
LED Marquee Advertising
Lead Sponsor Benefits (Largest logo, discounted tickets)
Tickets with 20% discount4030205
Number Of Diversity Scholars Awarded in Your Name432
Free single day tickets2015101033
Free three day tickets161085221
+ +

Do not miss our affordable upgrades to meet our attendees where they congregate and socialize! Our packages are fully customizable. Contact us at juliacon@julialang.org for a sponsorship package that fits your needs!

+

Additional upgrades

+ +

FAQ

+

What is included with an Expo Table?

+

Unless communicated differently, an expo table is a 2-meter table and chairs, plus wi-fi and electricity. Sponsor booths are integrated into common areas where they will attract attendee traffic. Sponsors are responsible for shipping charges to and from the conference. Expo booths are available for Host, Platinum, and Gold sponsors.

+

What is included with an Expo Table with AV?

+

Unless communicated differently, an expo booth is a 2-meter table and chairs but negotiable depending on needs, plus wi-fi and electricity. Sponsor booths are integrated into common areas where they will attract attendee traffic. Sponsors are responsible for shipping charges to and from the conference. It also includes AV support, e.g. Large TV screen. Details to be arranged separately.

+

Do Sponsor technical talks go through the regular review process?

+

Sponsors are able to present a talk at the event. While sponsor talks do not go through the regular review process, presentation proposals must be submitted for approval by the review committee. The committee will help ensure that your presentation’s content is appropriate and relevant to the audience at the event.

+

What is the difference between a sponsor talk before a regular session and before keynote?

+

The keynotes are outside on the pitch where everyone can attend, meaning during keynotes there are no parallel sessions. A regular talk will be in one of the many rooms.

+

What is included in access to the Attendee List?

+

The list will be a .csv file with attendee name, email, job title, and company from those who have opted in during registration. Platinum and Diamond sponsors receive access to the Attendee List.

+

What is the Job Board?

+

Your company’s job listings will be published on the event website and emailed out to all event attendees. Limit: 5 job listings per sponsor.

+

What is a Diversity Scholarship?

+

One of JuliaCon’s goals is to increase awareness and excitement around opportunities for underrepresented groups in software engineering and data analytics. To that end, we make a number of diversity scholarships available at each JuliaCon event including travel, lodge and tickets. These scholarships provide free registration to attendees 1) who could not otherwise afford to attend the conference and 2) whose participation would contribute to the diversity of the event. Diversity Scholarships are available for Diamond, Platinum and Gold sponsors

+

What is LED Marquee Advertising?

+

At the stadium we can control the big digital scoreboard outside and the digital screens that go around the stadium, as a result you can get your company logo on display during the day.

+

Who Attends JuliaCon

+

Frequent Topics:

+ +

Who attends:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/store/index.html b/previews/PR609/2024/store/index.html new file mode 100644 index 000000000..d927bc716 --- /dev/null +++ b/previews/PR609/2024/store/index.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Official JuliaCon 2024 Merchandise Store + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Official JuliaCon 2024 Merchandise Store

+

The official location for JuliaCon 2024 Merchandise. Remember your time in Eindhoven with a coffee mug or t-shirt.

+ + + + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/tickets/index.html b/previews/PR609/2024/tickets/index.html new file mode 100644 index 000000000..ebb13d37a --- /dev/null +++ b/previews/PR609/2024/tickets/index.html @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2024: Registration and Ticketing + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2024: Registration and Ticketing

+

Welcome to the registration page for JuliaCon 2024! This year's conference will take place in person at PSV Stadium in Eindhoven from Wednesday July 10th to Friday July 12th. For details, see the schedule on PreTalx. Surrounding the main conference are several accessory events as listed below.

+ +

You may obtain 4-day, 3-day, or 1-day tickets to attend JuliaCon 2024.

+

Additionally, there are discounted tickets available for students subsidized by corporate rates for large businesses.

+

We look forward to seeing you at JuliaCon 2024.

+ + + + +

If you have problems with the embedded widget, please use this link.

+

Individual Ticket Prices

+

Individual ticket prices are for those paying with own personal funds or for small businesses.

+ +

Note: Accepted speakers still benefit from early bird prices. Contact juliacon@julialang.org to get the speaker discount.

+

Corporate Ticket Prices

+

Corporate ticket prices are for large businesses with more than 200 employees. If you plan to purchase multiple tickets, consider sponsoring JuliaCon 2024 Thank you for making JuliaCon accessible for students and online participants.

+ +

Student Ticket Prices

+

Please only select a student ticket if you are a registered student. We have a limited number of student tickets and want to make the conference accessible to those who need them. Note that PhD students non-faculty postdoctoral trainees also qualify as students.

+ +

If you have any questions regarding qualification about student pricing, please contact us at juliacon@julialang.org.

+

Connect with Us - We're Here for You!

+

Our dedicated team is here to make your JuliaCon journey seamless and exciting. Have questions, comments, or suggestions? Email us at juliacon@julialang.org, and let's make JuliaCon 2024 your best conference experience yet!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/travel/index.html b/previews/PR609/2024/travel/index.html new file mode 100644 index 000000000..dde6a1c94 --- /dev/null +++ b/previews/PR609/2024/travel/index.html @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Venue Information + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Venue Information

+

JuliaCon 2024, the annual conference for the Julia programming language enthusiasts, is set to take place at the iconic PSV Stadium in Eindhoven, the Netherlands. Notably, the PSV Stadium, also known as Philips Stadion, is not only a renowned sports venue but also stands as the home ground of PSV Eindhoven, one of the most successful football clubs in Dutch history. This unique choice of venue adds an exciting blend of technology and sports to the conference experience, offering attendees the chance to immerse themselves in the dynamic atmosphere of both the programming world and the vibrant sporting legacy of the city.

+ +
+ +
+ PSV Stadium +
+
+
+
+ + Check the floor plans! + +
+
+
+ PSV Stadium +
+
+
+ + +
+
+
+
+
+
+
+
+
+

Floor plans

+
+
+
+
+

Visa Info

+

The Netherlands is part of the Schengen Area. If you need a visa to enter the Schengen Area, you will need a visa to enter the Netherlands. JuliaCon 2024 will provide invitation letters to attendees who need a visa to enter the Netherlands. Please note that we cannot provide any financial support for your visa application.

+

Invitation Letter

+

If you need an invitation letter for your visa application, please fill out the following form.

+

Visa Application

+

Please check the Netherlands Worldwide and Schengen Visa Info.

+

Accessibility

+

In Eindhoven, the most common way for people to get around is by bicycle or on foot. Additional information on travel advice for individuals with disabilities can be found below. The PSV Stadium is located close to the city centre, and is available within 10 minutes walking from the city center and the central train station.

+

If you think you may require a closer parking space, accommodations or extra assistance, please email juliacon@julialang.org.

+

Reaching Eindhoven

+

The Netherlands is well-connected to the rest of Europe by air, rail, and road. Eindhoven, in particular, is easily accessible from various European cities. Within the Netherlands, the city is well-connected by train and bus services. The tickets for trains and buses can be purchased at the station or online. In addition, many train stations accept regular debit cards, credit cards or mobile phones without need to buy a ticket at the station.

+

Important Train Travel Notice: Please note that there is scheduled maintenance on the train lines between Schiphol Airport and Eindhoven during JuliaCon 2024. While this generally should not be an issue, you can expect an additional 30 minutes on the usual train ride. NS will provide extra buses during this period to assist with your journey. We recommend checking the NS website for the latest updates and planning accordingly to ensure a smooth trip to the conference.

+ +
+

Eindhoven airport

+

Eindhoven has its own airport, well-linked to other European cities. Getting from the airport to Eindhoven is a breeze with various public transport options. Right by the terminal in P1, there's a bus stop where you can hop on and off. Take bus 400 or 401 to reach Eindhoven Central Station in just 30 minutes.

+

Amsterdam Airport (Schiphol)

+

Eindhoven can be easily reached from Amsterdam airport by train. Refer to the official NS path planner to find available trains, but generally you can expect at least one train going in the direction to Eindhoven about every 30 minutes. The trip from Schiphol to Eindhoven takes about 1 hour 30 minutes, but with the planned maintenance, you can expect an additional 30 minutes.

+

Note: Keep in mind that trains in the Netherlands don't run at night and stop operating earlier during the weekends, so plan your Amsterdam trip accordingly.

+

Frankfurt airport

+

Eindhoven can also be easily reached by public transport from cities around the Netherlands, checkout NS international for times and prices! For instance, Frankfurt airport is just 3.5 hours away by train!

+

Accommodation options

+

Eindhoven, a contemporary city with diverse accommodations in close proximity to the venue, serves as an ideal setting for our conference. JuliaCon organizers have secured exclusive promotional deals with select hotels in the area, providing attendees with a substantial 15% discount. Detailed information about these special offers can be accessed here. Additionally, a range of alternative accommodations can be explored through reputable platforms such as AirBnb.

+ +
+ + Check our promo 15% discounts on the hotels! + +
+
+ +

Commute in Eindhoven

+

Bike rental

+

Known for its extensive network of bike routes, the Netherlands offers a highly convenient mode of transportation within the city by bikes. Rent a bike and cycle from your hotel to the venue and the rest of the surroundings, starting from just € 9,50 per day! Grab your bike here and let the adventure begin! Alternatively, explore the official NS bike rental, seamlessly linked to the central station. In addition, consider other options such as Go sharing for added flexibility.

+

Electric scooters rental

+

The city has various options for renting an electric scooter, such as Go sharing or Ride Check.

+

Travel with a disability

+

Dutch cities are committed to supporting passengers with physical disabilities, wheelchair users, as well as those with hearing and sight impairments. Notable features include removable bridges for wheelchairs, guidelines for the visually impaired, and plug-in sockets for hearing aids at ticket counters (just a heads up, the connecting cord is not provided; users need to get their own).

+

If you use a wheelchair, you're in for smooth travels across all public transportation in the Netherlands. Bus and trams stops are equipped with ramps, making them more accessible. To check the accessibility of specific stops, head to haltescan.nl (select Eindhoven under Wegbeheerder). In addition, free wheelchairs are available at Eindhoven Airport for those who have difficulties walking within the airport.

+

The NS website provides comprehensive information in English about services and facilities catering to passengers with disabilities.

+ +

Tourism in Eindhoven

+

Eindhoven and its surroundings are awesome spots for exploring in the Netherlands. For various options, hop over to the official tourist info page. Also, Eindhoven is well-connected to big cities like Amsterdam, Utrecht, The Hague, Rotterdam, and others by train. Find the train schedule on the official NS website.

+

Activities

+

Also check out possible activities in the Eindhoven region!

+ + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/venue-hotels/index.html b/previews/PR609/2024/venue-hotels/index.html new file mode 100644 index 000000000..1f6de9ea6 --- /dev/null +++ b/previews/PR609/2024/venue-hotels/index.html @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Hotels + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Hotels

+ +
+ +
+
+
+ +

JuliaCon organizers have secured exclusive promotional deals with select hotels in the area, providing attendees with a substantial 15% discount.

+

WestCord Hotel Eindhoven

+

A hotel in the monumental Philips Light Tower.

+

Distance from venue: 0.4 km. Use this link and the code JuliaCon congres.

+ +
+ WestCord + +
+
+
+ +

Holiday Inn Eindhoven

+

A contemporary location in downtown Eindhoven.

+

Distance from venue: 0.6 km. Use this link.

+ +
+ HolidayInn + +
+
+
+ +

The Social Hub

+

An open-minded hub with a playful attitude in the heart of the city.

+

Distance from venue: 1 km. Use this link and the code: Juliacon2024.

+

Note: The Social Hub provides a discount of 15% for non-refundable rooms by default. The code above unlocks a possibility to book a refundable room with a discount of 15%.

+ +
+ SocialHub + +
+
+
+ +

Crown Hotel Eindhoven Centre

+

A pleasant 4-star hotel in Eindhoven's bustling city center.

+

Distance from venue: 1.1 km. Use this link and the code JuliaCon.

+ +
+ Crown Hotel Eindhoven Centre + +
+
+
+ +

NH Collection Eindhoven Centre

+

A five-star hotel in a local landmark (the Green Tower).

+

Distance from venue: 1.2 km. Use this link.

+ +
+ NH Collection Eindhoven + +
+
+
+ +

Hotel Mariënhage

+

An iconic building in the heart of the city center.

+

Distance from venue: 1.4 km. Use this link and the code: JULIACON.

+ +
+ Marien + +
+
+
+ +

Pullman Eindhoven Cocagne

+

A 4-star superior hotel where all conveniences are taken care of.

+

Distance from venue: 1.4 km. Use this link.

+ +
+ Pullman + +
+
+
+ +

Sandton Hotel Eindhoven Centre

+

An urban boutique hotel right in the center of Eindhoven.

+

Distance from venue: 1.6 km. Use this link and the code: JuliaCon.

+ +
+ Sandton + +
+
+
+ +

Park Plaza Eindhoven

+

A quiet and peaceful base in the heart of the city.

+

Distance from venue: 1.7 km. Use this link and the code: JULCON24.

+ +
+ ParkPlaza + +
+
+
+ +

Van der Valk Hotel Eindhoven

+

A modern venue close to Eindhoven's largest nature park.

+

Distance from venue: 5 km. Use this link and the code: EIN-JuliaCon.

+ +
+ VanDerValk + +
+
+
+ +

NH Eindhoven Conference Centre Koningshof

+

A versatile location amidst nature.

+

Distance from venue: 16 km. Use this link.

+ +
+ NH Eindhoven Koningshof + +
+
+
+ +

Other options

+

Here is a short list of other possible accommodation options within close range to the venue (without discount).

+ +

Additionally, a range of alternative accommodations can be explored through reputable platforms such as AirBnb.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/volunteer/index.html b/previews/PR609/2024/volunteer/index.html new file mode 100644 index 000000000..ed8f0b0b3 --- /dev/null +++ b/previews/PR609/2024/volunteer/index.html @@ -0,0 +1,470 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sign Up! + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

Sign Up!

+

Join us in making JuliaCon 2024 a success! We’re looking for enthusiastic volunteers to assist with various tasks, from registration to session support. Volunteering is a great way to give back to the community, gain valuable experience, and meet like-minded people. Sign up today and be part of the team that brings this incredible event to life! +

+ +
+
+

Sign up to become a volunteer!

+
+

+

On the day volunteers

+

JuliaCon volunteers are the backbone of our conference and without people like you, we would not be able to make JuliaCon the success it is!

+

👷 Example volunteer duties:

+ +

Please note: we are asking that you devote about 50% of your time at the conference helping with any of the tasks that need to be done.

+

Mentors to new speakers

+

JuliaCon 2024 will match first-time JuliaCon speakers desiring guidance to experienced speakers willing to mentor. We are expecting a time commitment of maximally a few hours in which mentors will provide feedback on a novice speaker's presentation.

+

Please let us know if you would like to be mentored or if you are willing to mentor a first-time speaker for JuliaCon 2024!

+

Proceedings reviewers

+

JuliaCon offers proceedings, and we need reviewers to assess submissions. Our review process is similar to that of the Journal of Open Source Software (JOSS). You can register as reviewer by filling this form. More information about JuliaCon proceedings can be found here.

+

JuliaCon 2024 Organizing Committee

+

The JuliaCon committee is composed entirely of volunteer organizers and can be reached at juliacon@julialang.org with any questions or comments.

+
+
+
+
+ +
+
+
Ranjan Anantharaman
+ co-Chair Twitter +
+
+
+
+
+ +

+
+
+
+ +
+
+
Raye Kimmerer
+ co-Chair GitHub +
+
+
+
+
+
+
+
+
+ +
+
+
Katharine Hyatt
+ Program co-Chair Twitter +
+
+
+
+
+
+
+
+
+ +
+
+
Luca Ferranti
+ Program co-Chair GitHub +
+
+
+
+
+
+
+
+
+ +
+
+
Mark Kittisopikul
+ Finance Chair Twitter +
+
+
+
+
+
+
+
+
+ +
+
+
Skylar Gering
+ Diversity and Accessibility co-Chair GitHub +
+
+
+
+
+
+
+
+
+ +
+
+
Valentin Churavy
+ Diversity and Accessibility co-Chair GitHub +
+
+
+
+
+
+
+
+
+ +
+
+
Gareth Thomas
+ Local Chair LinkedIn +
+
+
+
+
+
+
+
+
+ +
+
+
Carsten Bauer
+ Proceedings Chair GitHub +
+
+
+
+
+
+
+
+
+ +
+
+
Pablo Zubieta
+ Web Github +
+
+
+
+
+
+
+
+
+ +
+
+
Jorge Vieyra
+ Local organizer LinkedIn +
+
+
+
+
+
+
+
+
+ +
+
+
Max van Dijk
+ Local organizer LinkedIn +
+
+
+
+
+
+
+
+
+ +
+
+
Erwin Hoogerwoord
+ Local organizer & Workshops LinkedIn +
+
+
+
+
+
+
+
+
+ +
+
+
Dmitry Bagaev
+ Local organizer & Web LinkedIn +
+
+
+
+
+
+
+
+
+ +
+
+
Xiu-zhe (Roger) Luo
+ Diversity and Accessibility GitHub +
+
+
+
+
+
+
+
+
+ +
+
+
Long Chen
+ Diversity and Accessibility LinkedIn +
+
+
+
+
+

+

Proceedings Committee

+ +

Joining the Committee

+

Each year, the previous years JuliaCon committee is usually asked to return. If certain members are no longer able to continue in their role, the existing committee members will work to find a replacement. JuliaCon committee members are generally folks who have been long term contributors to the community or made significant contributors in recent years. Generally, the JuliaCon Chair/co-chair's lead the effort to recruit committee members.

+

The committee is also open to nominations (you can nominate yourself) for vacant positions or positions that do not exist but you think would provide value to the conference. Nominations are accepted on a rolling basis and reviewed by the current committee as needed. While many current committee members have been long term Julia contributors, this is not a hard requirement. Being a long term member of the community comes with its blind spots, so if there is a unique angle you believe your nominee (including yourself) brings to the table, we would love to hear more!

+

Here is the Nomination form.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/2024/workshops/index.html b/previews/PR609/2024/workshops/index.html new file mode 100644 index 000000000..d5a98a9d1 --- /dev/null +++ b/previews/PR609/2024/workshops/index.html @@ -0,0 +1,375 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon 2024 Workshops July 9 + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+ + 2024 + + +
+
+ + Previously: 2023/2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + +

JuliaCon 2024 Workshops July 9

+

Practical Information

+ +

Location

+ + + +

Address

+

The workshops will be hosted at the Neuron faculty building in the Eindhoven University of Technology which is at a short walking distance from the main Eindhoven train station. Also check the website of the location for more photos.

+ + + +

Rooms

+

+ +

+

Reserved by EAISI in TU/e for JuliaCon workshops.

+ +

AV Setup

+

Rooms are equipped with a beamer, audio equipment, and a camera system for recording/webcast.

+

Catering

+

Arranged by Appèl, TU/e-dedicated catering provider.

+ +

All coffee moments also include tea, water & some kind of sweet/snack etc.

+

Program & workshops descriptions

+

Checkout the full schedule on PreTalx, or click here for the rest of the announcement and Important FAQs!

+

Hands-on with Julia for HPC on GPUs and CPUs

+

Why to wait hours for computations to complete, when it could take only a few seconds? Tired of prototyping code in an interactive, high-level language and rewriting it in a lower-level language to get high-performance code? By its design, Julia offers the flexibility of a high-productivity language, without sacrificing the control, the performance, and the idiosyncrasies that are often demanded by high-performance computing (HPC) hardware.

+

This workshop demonstrates how modern HPC is made accessible to a broad range of users using Julia. We will cover technical backgrounds and hands-on examples in contemporary uses of HPC systems: resource configuration and management; distributed computing; optimising code of CPUs and GPUs; sophisticated workflows that can run (almost) anywhere! If you’re using HPC systems right now, or if you’re just curious about HPC, this workshop is right for you.

+

Program The workshop consists of 2 parts:

+

You will learn the basics of how to develop applications and workflows for HPC systems. Topics covered in the first part are:

+ +

Each of the topics above will be presented in the form of technical background, and accessible hands-on examples. Since performance is key, we will also cover the relevant performance optimization tools for each area.

+

Once you’re armed with the necessary knowledge, we will spend the second part developing an HPC application on a supercomputer: NERSC’s Perlmutter system. The application you will implement will be driven entirely from NERSC’s Jupyter Hub, and it will make use of multiple nodes and GPUs. Packages you will learn about/use: MPI.jl, Dagger.jl, HDF5.jl, IJulia.jl.

+

We will provide access to training accounts on NERSC’s “Perlmutter” system. Please apply to get our training account no later than a week before the workshop. Details will be posted here: https://juliaparallel.org/tutorials/.

+

Goals By the end of this workshop, you will have acquired or refreshed the basics of how to develop applications and workflows for HPC systems using Julia. In the first part, you will learn about basic tools using simple examples. Then, in a second part, you will develop a parallelized version of a serial code and run it on NERSC’s GPU-accelerated supercomputer Perlmutter.

+

We look forward to having you on board and will make sure to foster exchange of ideas and knowledge to provide an as inclusive as possible event.

+

Prerequisite Knowledge This workshop assumes a basic knowledge of the Julia language (language structure such as functions and modules, control flow, and data types including arrays), and coding best practices (such as git, ssh, and limited usage of the Bash command line interface).

+

We will cover the fundamentals of multi-threading, distributed, and GPU computing; as well as how these relate to modern HPC systems. Now prerequisite knowledge in these areas is needed.

+

Hierarchical Component-Based Modeling with ModelingToolkit.jl

+

ModelingToolkit is the symbolic modeling layer of Julia's SciML. SciML covers many areas of numerical modeling and simulation, such as linear systems of equations, nonlinear systems of equations, differential equations, and optimization. Similarly, ModelingToolkit is a symbolic modeling language which covers the same interfaces and shuttles to the underlying numerical solvers.

+

What makes ModelingToolkit interesting is its ability to allow for reusable component-based modeling and its ability to perform automatic simplification of the resulting equations. This allows for efficient hierarchical modeling, where libraries of components define items like engines and air compressors, and then modelers can easily build large models by connecting the existing physical components to generate composed models. The resulting composed model is then simplified to give a representation of he system that is fast to simulate, but without being slow to model.

+

In this workshop we will showcase how to build steady state models, transient models, and optimization models. We will showcase the ModelingToolkitStandardLibrary as a source of pre-built components that can be used to quickly get started, and we will show how ModelingToolkit interacts with the growing set of tooling around it, including graphical user interfaces (GUIs), specialized solvers, and model analysis tooling. This includes:

+ +

and much more.

+

Julia and Rust - Safer abstractions and FFI Workshop

+

Rust is great but not for Julians - unless you come to this talk and learn to go around the rougher spots we face when interacting with Rust for real world scenarios.

+

We'll cover stuff like:

+ +

Julia for Systems Biology; generating personalized models

+

Computational models offer a valuable tool for understanding the dynamic interactions between different biological entities, especially in biomedical applications. Personalizing these models with data can shed light on interindividual variation and project future health risks. However, model generation can be computationally expensive. Our hands-on and interactive workshop will demonstrate how personalized models can be more rapidly generated in Julia using the DifferentialEquations.jl package. Use an in-house model of glucose-insulin system we will cover the implementation and resolving of ODE systems in Julia, including importing in SBML. We will provide a guide on model selection including parameter sensitivity and identifiability analysis, highlighting efficiencies that can be achieved using Julia. Additionally, we will discuss strategies for parameter estimation, including the benefits of regularization, using a publicly available data set of meal responses. Short presentation will be used to provide necessary background and theory and all methods will be implemented in a Jupyter notebook to facilitate independent learning.

+

Productive Parallel Programming with Dagger.jl

+

Traditional parallel programming can be very hard to do effectively, as there are many prerequisites to know, and many tools that need to be used correctly and combined for maximum performance. Because of this, many programmers never learn how to write code that can scale beyond a single thread or a single server; and when parallelism is added to code, it often only supports one or a limited number of systems and hardware devices, which excludes users with unsupported systems from using that code effectively.

+

Dagger.jl aims to help fix this problem for Julia code, by providing a full parallel programming environment that closely matches how users already write code. Instead of forcing users to learn a new programming paradigm or opinionated API, Dagger provides a variety of familiar interfaces - like tasks, arrays, tables, and graphs - so that users can pick the interface that matches their existing code and algorithms. And once any of those interfaces are used, Dagger seamlessly parallelizes the user's code and allows it to run automatically on multiple CPUs, multiple servers, on a variety of GPUs, and more, and even manages data by moving it to disk when available memory is tight.

+

This workshop is focused on users who feel comfortable with Julia, but struggle with adding parallelism to their code. This workshop will start out by introducing Dagger and explaining how it works at a high level. Then, we will dive into the various programming interfaces (tasks, arrays, tables, graphs, and more) that Dagger provides, show how they can be used just like their non-Dagger counterparts, and then work through an example program built with each programming paradigm. Along the way, we will also see how to user Dagger's logging and profiling capabilities to gain insights into what Dagger is doing behind the scenes, so that we can better observe where our parallelism is coming from.

+

If there is enough time, we will also cover more advanced topics like how to utilize GPUs, MPI interfacing, and more.

+

Scientific Machine Learning using Functional Mock-Up Units

+

This workshop focuses on the integration of Functional Mock-Up Units (FMUs) into a machine learning topology. FMUs are simulation models that can be generated within a variety of modeling tools (https://fmi-standard.org/). Together with deep neural networks that complement and improve the FMU prediction, so called NeuralFMUs can be created. Example use cases that show the potentials of this technique are given during the introduction.

+

The workshop itself evolves around the modeling of a Selective Compliance Assembly Robot Arm (SCARA), that is able to write user defined words on a sheet of paper. A ready to use physical simulation model (FMU) for the SCARA is given and shortly highlighted during the workshop. However, this model – as any simulation model – shows some deviations if compared to measurements from the real system. These deviations result from unmodeled so called slip-stick-friction: The pen sticks to the paper until a force limit is reached, but then moves jerkily. A hard to model physical effect – but not for a NeuralFMU.

+

The workshop divides into the following slots:

+ +

After completing the workshop, participants will be able to answer the following questions:

+ +

Equipped with the knowledge about the necessary steps to build a proper hybrid model for the SCARA, workshop participants will have an easier time dealing with their own hybrid modeling applications.

+

Participants only need access to a computer with Julia installed (tested under v1.10) running Windows or Linux. To ensure a productive experience for all participants, major parts of modeling and coding are pre-implemented as interactive Pluto-Notebook. This way, participants can explore the topic at their own pace according to their previous knowledge. The notebook stays available after the workshop.

+

Writing and maintaining an exceptional Documentation

+

This workshop is all about documentation, one of the most important aspects of good software. Great documentation makes your code accessible to others, makes it more pleasant for them to use, so that they'll want to keep using it for a long time, and it also lowers the threshold for users to start contributing. Whether you are a maintainer of several registered Julia packages, or just someone with a codebase that you believe can be useful to others, this workshop will help you make your documentation exceptional!

+

The workshop will be fully hands-on, and will consist of several iterations of [lecture -> application]. Depending on the real-time flow, we will cover the following topics, and possibly more, time permitting:

+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/404.html b/previews/PR609/404.html new file mode 100644 index 000000000..10597ec02 --- /dev/null +++ b/previews/PR609/404.html @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 404: File not found + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

404: File not found

+

The requested file was not found.

+

Please click here to go to the home page.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/CNAME b/previews/PR609/CNAME new file mode 100644 index 000000000..91ed0b889 --- /dev/null +++ b/previews/PR609/CNAME @@ -0,0 +1 @@ +juliacon.org diff --git a/previews/PR609/Manifest.toml b/previews/PR609/Manifest.toml new file mode 100644 index 000000000..5d3e52ecc --- /dev/null +++ b/previews/PR609/Manifest.toml @@ -0,0 +1,333 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.10.4" +manifest_format = "2.0" +project_hash = "2fca9887bc5630950bbb73eec9b41f0b62f90c35" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.BitFlags]] +git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" +uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" +version = "0.1.9" + +[[deps.CodecZlib]] +deps = ["TranscodingStreams", "Zlib_jll"] +git-tree-sha1 = "b8fe8546d52ca154ac556809e10c75e6e7430ac8" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.7.5" + +[[deps.ConcurrentUtilities]] +deps = ["Serialization", "Sockets"] +git-tree-sha1 = "ea32b83ca4fefa1768dc84e504cc0a94fb1ab8d1" +uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" +version = "2.4.2" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.DelimitedFiles]] +deps = ["Mmap"] +git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" +version = "1.9.1" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.ExceptionUnwrapping]] +deps = ["Test"] +git-tree-sha1 = "dcb08a0d93ec0b1cdc4af184b26b591e9695423a" +uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" +version = "0.1.10" + +[[deps.ExprTools]] +git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.10" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.Franklin]] +deps = ["Dates", "DelimitedFiles", "DocStringExtensions", "ExprTools", "FranklinTemplates", "HTTP", "Literate", "LiveServer", "Logging", "Markdown", "NodeJS", "OrderedCollections", "Pkg", "REPL", "Random", "TOML"] +git-tree-sha1 = "31e70717e0640d6576fe04d611a33df1c9c312d6" +uuid = "713c75ef-9fc9-4b05-94a9-213340da978e" +version = "0.10.95" + +[[deps.FranklinTemplates]] +deps = ["LiveServer"] +git-tree-sha1 = "c01813a615149ddb3b3d133f33de29d642fbe57b" +uuid = "3a985190-f512-4703-8d38-2a7944ed5916" +version = "0.10.2" + +[[deps.FranklinUtils]] +deps = ["ExprTools", "Franklin"] +git-tree-sha1 = "73615a75dd205151ac33f52c2d205373bb69fb4a" +uuid = "dcd8a645-c81d-482f-af4b-568f72f3e16d" +version = "0.3.4" + +[[deps.GitHub]] +deps = ["Base64", "Dates", "HTTP", "JSON", "MbedTLS", "Sockets", "SodiumSeal", "URIs"] +git-tree-sha1 = "7ee730a8484d673a8ce21d8536acfe6494475994" +uuid = "bc5e4493-9b4d-5f90-b8aa-2b2bcaad7a26" +version = "5.9.0" + +[[deps.HTTP]] +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "d1d712be3164d61d1fb98e7ce9bcbc6cc06b45ed" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "1.10.8" + +[[deps.IOCapture]] +deps = ["Logging", "Random"] +git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770" +uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" +version = "0.2.5" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.JLLWrappers]] +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.5.0" + +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.4" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.4" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "8.4.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibGit2_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] +uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" +version = "1.6.4+0" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.11.0+1" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.Literate]] +deps = ["Base64", "IOCapture", "JSON", "REPL"] +git-tree-sha1 = "596df2daea9c27da81eee63ef2cf101baf10c24c" +uuid = "98b081ad-f1c9-55d3-8b20-4c87d4299306" +version = "2.18.0" + +[[deps.LiveServer]] +deps = ["HTTP", "LoggingExtras", "MIMEs", "Pkg", "Sockets", "Test"] +git-tree-sha1 = "1e46b873b8ef176e23ee43f96e72cd45c20bafb4" +uuid = "16fef848-5104-11e9-1b77-fb7a48bbb589" +version = "1.3.1" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.LoggingExtras]] +deps = ["Dates", "Logging"] +git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" +uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" +version = "1.0.3" + +[[deps.MIMEs]] +git-tree-sha1 = "65f28ad4b594aebe22157d6fac869786a255b7eb" +uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65" +version = "0.1.4" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] +git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.1.9" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.2+1" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2023.1.10" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.NodeJS]] +deps = ["Pkg"] +git-tree-sha1 = "bf1f49fd62754064bc42490a8ddc2aa3694a8e7a" +uuid = "2bd173c7-0d6d-553b-b6af-13a54713934c" +version = "2.0.0" + +[[deps.OpenSSL]] +deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] +git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4" +uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" +version = "1.4.3" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "a028ee3cb5641cccc4c24e90c36b0a4f7707bdf5" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "3.0.14+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.6.3" + +[[deps.Parsers]] +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.8.1" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.10.0" + +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.2.1" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.4.3" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.Random]] +deps = ["SHA"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.SimpleBufferStream]] +git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" +uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" +version = "1.1.0" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SodiumSeal]] +deps = ["Base64", "Libdl", "libsodium_jll"] +git-tree-sha1 = "80cef67d2953e33935b41c6ab0a178b9987b1c99" +uuid = "2133526b-2bfb-4018-ac12-889fb3908a75" +version = "0.1.1" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.TranscodingStreams]] +git-tree-sha1 = "60df3f8126263c0d6b357b9a1017bb94f53e3582" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.11.0" +weakdeps = ["Random", "Test"] + + [deps.TranscodingStreams.extensions] + TestExt = ["Test", "Random"] + +[[deps.URIs]] +git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.5.1" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+1" + +[[deps.libsodium_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "848ab3d00fe39d6fbc2a8641048f8f272af1c51e" +uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8" +version = "1.0.20+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.52.0+1" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+2" diff --git a/previews/PR609/Project.toml b/previews/PR609/Project.toml new file mode 100644 index 000000000..e3ada072e --- /dev/null +++ b/previews/PR609/Project.toml @@ -0,0 +1,9 @@ +[deps] +Franklin = "713c75ef-9fc9-4b05-94a9-213340da978e" +FranklinUtils = "dcd8a645-c81d-482f-af4b-568f72f3e16d" +GitHub = "bc5e4493-9b4d-5f90-b8aa-2b2bcaad7a26" + +[compat] +Franklin = "0.10.95" +FranklinUtils = "0.3.4" +GitHub = "5.9.0" diff --git a/previews/PR609/assets/2020/img/discord2020.pdf b/previews/PR609/assets/2020/img/discord2020.pdf new file mode 100644 index 000000000..a13aaa036 Binary files /dev/null and b/previews/PR609/assets/2020/img/discord2020.pdf differ diff --git a/previews/PR609/assets/2020/img/flag-bottom.gif b/previews/PR609/assets/2020/img/flag-bottom.gif new file mode 100644 index 000000000..270cf49ff Binary files /dev/null and b/previews/PR609/assets/2020/img/flag-bottom.gif differ diff --git a/previews/PR609/assets/2020/img/jpvielma.jpg b/previews/PR609/assets/2020/img/jpvielma.jpg new file mode 100644 index 000000000..a756e7110 Binary files /dev/null and b/previews/PR609/assets/2020/img/jpvielma.jpg differ diff --git a/previews/PR609/assets/2020/img/julia-logo-dots.png b/previews/PR609/assets/2020/img/julia-logo-dots.png new file mode 100644 index 000000000..5f5ec6fd3 Binary files /dev/null and b/previews/PR609/assets/2020/img/julia-logo-dots.png differ diff --git a/previews/PR609/assets/2020/img/julia-logo-dots.svg b/previews/PR609/assets/2020/img/julia-logo-dots.svg new file mode 100644 index 000000000..3953c2572 --- /dev/null +++ b/previews/PR609/assets/2020/img/julia-logo-dots.svg @@ -0,0 +1,119 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/assets/2020/img/juliatocat.png b/previews/PR609/assets/2020/img/juliatocat.png new file mode 100644 index 000000000..79bb3a92b Binary files /dev/null and b/previews/PR609/assets/2020/img/juliatocat.png differ diff --git a/previews/PR609/assets/2020/img/logo-details.png b/previews/PR609/assets/2020/img/logo-details.png new file mode 100644 index 000000000..4d5aee83a Binary files /dev/null and b/previews/PR609/assets/2020/img/logo-details.png differ diff --git a/previews/PR609/assets/2020/img/logo.svg b/previews/PR609/assets/2020/img/logo.svg new file mode 100644 index 000000000..975c00289 --- /dev/null +++ b/previews/PR609/assets/2020/img/logo.svg @@ -0,0 +1,172 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/assets/2020/img/og-juliacon.png b/previews/PR609/assets/2020/img/og-juliacon.png new file mode 100644 index 000000000..b981d328d Binary files /dev/null and b/previews/PR609/assets/2020/img/og-juliacon.png differ diff --git a/previews/PR609/assets/2020/img/petzold.jpg b/previews/PR609/assets/2020/img/petzold.jpg new file mode 100644 index 000000000..423784349 Binary files /dev/null and b/previews/PR609/assets/2020/img/petzold.jpg differ diff --git a/previews/PR609/assets/2020/img/sponsors/invenia-labs.png b/previews/PR609/assets/2020/img/sponsors/invenia-labs.png new file mode 100644 index 000000000..18daf6712 Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/invenia-labs.png differ diff --git a/previews/PR609/assets/2020/img/sponsors/julia.png b/previews/PR609/assets/2020/img/sponsors/julia.png new file mode 100644 index 000000000..2a86ae869 Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/julia.png differ diff --git a/previews/PR609/assets/2020/img/sponsors/juspay.png b/previews/PR609/assets/2020/img/sponsors/juspay.png new file mode 100644 index 000000000..f45d0f86c Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/juspay.png differ diff --git a/previews/PR609/assets/2020/img/sponsors/moore.jpg b/previews/PR609/assets/2020/img/sponsors/moore.jpg new file mode 100644 index 000000000..01a22cfa3 Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/moore.jpg differ diff --git a/previews/PR609/assets/2020/img/sponsors/numfocus.png b/previews/PR609/assets/2020/img/sponsors/numfocus.png new file mode 100644 index 000000000..4a6f9a48c Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/numfocus.png differ diff --git a/previews/PR609/assets/2020/img/sponsors/packt.png b/previews/PR609/assets/2020/img/sponsors/packt.png new file mode 100644 index 000000000..0106ce896 Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/packt.png differ diff --git a/previews/PR609/assets/2020/img/sponsors/pumas.png b/previews/PR609/assets/2020/img/sponsors/pumas.png new file mode 100644 index 000000000..56277f2ec Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/pumas.png differ diff --git a/previews/PR609/assets/2020/img/sponsors/repl-it.png b/previews/PR609/assets/2020/img/sponsors/repl-it.png new file mode 100644 index 000000000..524415e4c Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/repl-it.png differ diff --git a/previews/PR609/assets/2020/img/sponsors/sarnoff.png b/previews/PR609/assets/2020/img/sponsors/sarnoff.png new file mode 100644 index 000000000..4e5ba771b Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/sarnoff.png differ diff --git a/previews/PR609/assets/2020/img/sponsors/sticker-mule.png b/previews/PR609/assets/2020/img/sponsors/sticker-mule.png new file mode 100644 index 000000000..ec4206359 Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/sticker-mule.png differ diff --git a/previews/PR609/assets/2020/img/sponsors/vercel.png b/previews/PR609/assets/2020/img/sponsors/vercel.png new file mode 100644 index 000000000..6e56f45ad Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/vercel.png differ diff --git a/previews/PR609/assets/2020/img/sponsors/zapata.png b/previews/PR609/assets/2020/img/sponsors/zapata.png new file mode 100644 index 000000000..2e8c66c80 Binary files /dev/null and b/previews/PR609/assets/2020/img/sponsors/zapata.png differ diff --git a/previews/PR609/assets/2020/img/vielma.jpg b/previews/PR609/assets/2020/img/vielma.jpg new file mode 100644 index 000000000..a57c13778 Binary files /dev/null and b/previews/PR609/assets/2020/img/vielma.jpg differ diff --git a/previews/PR609/assets/2020/img/viking-illustration.png b/previews/PR609/assets/2020/img/viking-illustration.png new file mode 100644 index 000000000..2e6091e71 Binary files /dev/null and b/previews/PR609/assets/2020/img/viking-illustration.png differ diff --git a/previews/PR609/assets/2020/img/waving-flag.gif b/previews/PR609/assets/2020/img/waving-flag.gif new file mode 100644 index 000000000..07ab3101c Binary files /dev/null and b/previews/PR609/assets/2020/img/waving-flag.gif differ diff --git a/previews/PR609/assets/2020/img/willcox.jpg b/previews/PR609/assets/2020/img/willcox.jpg new file mode 100644 index 000000000..33bad5267 Binary files /dev/null and b/previews/PR609/assets/2020/img/willcox.jpg differ diff --git a/previews/PR609/assets/2020/img/world_1400.png b/previews/PR609/assets/2020/img/world_1400.png new file mode 100644 index 000000000..82f0715ff Binary files /dev/null and b/previews/PR609/assets/2020/img/world_1400.png differ diff --git a/previews/PR609/assets/2020/img/world_2800.png b/previews/PR609/assets/2020/img/world_2800.png new file mode 100644 index 000000000..e86656e25 Binary files /dev/null and b/previews/PR609/assets/2020/img/world_2800.png differ diff --git a/previews/PR609/assets/2020/img/world_768.png b/previews/PR609/assets/2020/img/world_768.png new file mode 100644 index 000000000..5b4054b0b Binary files /dev/null and b/previews/PR609/assets/2020/img/world_768.png differ diff --git a/previews/PR609/assets/2021/img/chintala.png b/previews/PR609/assets/2021/img/chintala.png new file mode 100644 index 000000000..40237c8b5 Binary files /dev/null and b/previews/PR609/assets/2021/img/chintala.png differ diff --git a/previews/PR609/assets/2021/img/kahan.jpg b/previews/PR609/assets/2021/img/kahan.jpg new file mode 100644 index 000000000..8bdc02240 Binary files /dev/null and b/previews/PR609/assets/2021/img/kahan.jpg differ diff --git a/previews/PR609/assets/2021/img/li.jpg b/previews/PR609/assets/2021/img/li.jpg new file mode 100644 index 000000000..37a7b2d7d Binary files /dev/null and b/previews/PR609/assets/2021/img/li.jpg differ diff --git a/previews/PR609/assets/2021/img/poster-workshops.png b/previews/PR609/assets/2021/img/poster-workshops.png new file mode 100644 index 000000000..5286db646 Binary files /dev/null and b/previews/PR609/assets/2021/img/poster-workshops.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/conning.png b/previews/PR609/assets/2021/img/sponsors/conning.png new file mode 100644 index 000000000..86abccb8f Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/conning.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/datachef.png b/previews/PR609/assets/2021/img/sponsors/datachef.png new file mode 100644 index 000000000..c3c96a10d Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/datachef.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/invenia-labs.png b/previews/PR609/assets/2021/img/sponsors/invenia-labs.png new file mode 100644 index 000000000..18daf6712 Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/invenia-labs.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/invenia.png b/previews/PR609/assets/2021/img/sponsors/invenia.png new file mode 100644 index 000000000..2a9f45037 Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/invenia.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/jclogo.png b/previews/PR609/assets/2021/img/sponsors/jclogo.png new file mode 100644 index 000000000..2a86ae869 Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/jclogo.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/kaust.png b/previews/PR609/assets/2021/img/sponsors/kaust.png new file mode 100644 index 000000000..ebc7163cb Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/kaust.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/numfocus.png b/previews/PR609/assets/2021/img/sponsors/numfocus.png new file mode 100644 index 000000000..4a6f9a48c Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/numfocus.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/packt.png b/previews/PR609/assets/2021/img/sponsors/packt.png new file mode 100644 index 000000000..0106ce896 Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/packt.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/pumas-ai.png b/previews/PR609/assets/2021/img/sponsors/pumas-ai.png new file mode 100644 index 000000000..0913eb606 Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/pumas-ai.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/quera logo white.png b/previews/PR609/assets/2021/img/sponsors/quera logo white.png new file mode 100644 index 000000000..d08c7448e Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/quera logo white.png differ diff --git a/previews/PR609/assets/2021/img/sponsors/relational_ai.jpeg b/previews/PR609/assets/2021/img/sponsors/relational_ai.jpeg new file mode 100644 index 000000000..2c0ab0d98 Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/relational_ai.jpeg differ diff --git a/previews/PR609/assets/2021/img/sponsors/sarnoff.png b/previews/PR609/assets/2021/img/sponsors/sarnoff.png new file mode 100644 index 000000000..4e5ba771b Binary files /dev/null and b/previews/PR609/assets/2021/img/sponsors/sarnoff.png differ diff --git a/previews/PR609/assets/2021/img/vitek.jpg b/previews/PR609/assets/2021/img/vitek.jpg new file mode 100644 index 000000000..8e36bc005 Binary files /dev/null and b/previews/PR609/assets/2021/img/vitek.jpg differ diff --git a/previews/PR609/assets/2021/img/world_1400.png b/previews/PR609/assets/2021/img/world_1400.png new file mode 100644 index 000000000..974e0382a Binary files /dev/null and b/previews/PR609/assets/2021/img/world_1400.png differ diff --git a/previews/PR609/assets/2021/img/world_2800.png b/previews/PR609/assets/2021/img/world_2800.png new file mode 100644 index 000000000..99e128d13 Binary files /dev/null and b/previews/PR609/assets/2021/img/world_2800.png differ diff --git a/previews/PR609/assets/2021/img/world_768.png b/previews/PR609/assets/2021/img/world_768.png new file mode 100644 index 000000000..8853bd823 Binary files /dev/null and b/previews/PR609/assets/2021/img/world_768.png differ diff --git a/previews/PR609/assets/2022/img/Husain_Attarwala.jpg b/previews/PR609/assets/2022/img/Husain_Attarwala.jpg new file mode 100644 index 000000000..3d62f2ebc Binary files /dev/null and b/previews/PR609/assets/2022/img/Husain_Attarwala.jpg differ diff --git a/previews/PR609/assets/2022/img/MeetupMap_final.png b/previews/PR609/assets/2022/img/MeetupMap_final.png new file mode 100644 index 000000000..3af7a36a5 Binary files /dev/null and b/previews/PR609/assets/2022/img/MeetupMap_final.png differ diff --git a/previews/PR609/assets/2022/img/erin.jpeg b/previews/PR609/assets/2022/img/erin.jpeg new file mode 100644 index 000000000..2178020fd Binary files /dev/null and b/previews/PR609/assets/2022/img/erin.jpeg differ diff --git a/previews/PR609/assets/2022/img/erin.png b/previews/PR609/assets/2022/img/erin.png new file mode 100644 index 000000000..b27aa4e62 Binary files /dev/null and b/previews/PR609/assets/2022/img/erin.png differ diff --git a/previews/PR609/assets/2022/img/jeremy.jpg b/previews/PR609/assets/2022/img/jeremy.jpg new file mode 100644 index 000000000..30f9f08d9 Binary files /dev/null and b/previews/PR609/assets/2022/img/jeremy.jpg differ diff --git a/previews/PR609/assets/2022/img/sponsors/AWS_logo.png b/previews/PR609/assets/2022/img/sponsors/AWS_logo.png new file mode 100644 index 000000000..03e274405 Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/AWS_logo.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/asml.png b/previews/PR609/assets/2022/img/sponsors/asml.png new file mode 100644 index 000000000..d6b2a6c66 Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/asml.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/aws-logo.png b/previews/PR609/assets/2022/img/sponsors/aws-logo.png new file mode 100644 index 000000000..3af26c472 Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/aws-logo.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/beacon_logo.svg b/previews/PR609/assets/2022/img/sponsors/beacon_logo.svg new file mode 100644 index 000000000..10fbc28ed --- /dev/null +++ b/previews/PR609/assets/2022/img/sponsors/beacon_logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/assets/2022/img/sponsors/conning.png b/previews/PR609/assets/2022/img/sponsors/conning.png new file mode 100644 index 000000000..86abccb8f Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/conning.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/data-umbrella.png b/previews/PR609/assets/2022/img/sponsors/data-umbrella.png new file mode 100644 index 000000000..0163cf3ff Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/data-umbrella.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/gather.png b/previews/PR609/assets/2022/img/sponsors/gather.png new file mode 100644 index 000000000..e98de94bb Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/gather.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/gross.png b/previews/PR609/assets/2022/img/sponsors/gross.png new file mode 100644 index 000000000..ad4948ccb Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/gross.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/intel.png b/previews/PR609/assets/2022/img/sponsors/intel.png new file mode 100644 index 000000000..5f936a5aa Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/intel.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/invenia.png b/previews/PR609/assets/2022/img/sponsors/invenia.png new file mode 100644 index 000000000..2a9f45037 Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/invenia.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/jclogo.png b/previews/PR609/assets/2022/img/sponsors/jclogo.png new file mode 100644 index 000000000..2a86ae869 Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/jclogo.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/juliustech.png b/previews/PR609/assets/2022/img/sponsors/juliustech.png new file mode 100644 index 000000000..720b8860e Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/juliustech.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/metalenz-logo.png b/previews/PR609/assets/2022/img/sponsors/metalenz-logo.png new file mode 100644 index 000000000..1dc32e961 Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/metalenz-logo.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/numfocus.png b/previews/PR609/assets/2022/img/sponsors/numfocus.png new file mode 100644 index 000000000..4a6f9a48c Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/numfocus.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/pumas-ai.png b/previews/PR609/assets/2022/img/sponsors/pumas-ai.png new file mode 100644 index 000000000..0913eb606 Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/pumas-ai.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/quera logo white.png b/previews/PR609/assets/2022/img/sponsors/quera logo white.png new file mode 100644 index 000000000..9fb1cefeb Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/quera logo white.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/rai-logo.svg b/previews/PR609/assets/2022/img/sponsors/rai-logo.svg new file mode 100644 index 000000000..734f8571f --- /dev/null +++ b/previews/PR609/assets/2022/img/sponsors/rai-logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/assets/2022/img/sponsors/sarnoff.png b/previews/PR609/assets/2022/img/sponsors/sarnoff.png new file mode 100644 index 000000000..4e5ba771b Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/sarnoff.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/vercel.png b/previews/PR609/assets/2022/img/sponsors/vercel.png new file mode 100644 index 000000000..6e56f45ad Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/vercel.png differ diff --git a/previews/PR609/assets/2022/img/sponsors/wimlds.png b/previews/PR609/assets/2022/img/sponsors/wimlds.png new file mode 100644 index 000000000..be0cbda08 Binary files /dev/null and b/previews/PR609/assets/2022/img/sponsors/wimlds.png differ diff --git a/previews/PR609/assets/2023/img/Chowdhury.jpg b/previews/PR609/assets/2023/img/Chowdhury.jpg new file mode 100644 index 000000000..c4540a5bb Binary files /dev/null and b/previews/PR609/assets/2023/img/Chowdhury.jpg differ diff --git a/previews/PR609/assets/2023/img/Davis.jpg b/previews/PR609/assets/2023/img/Davis.jpg new file mode 100644 index 000000000..d90385afb Binary files /dev/null and b/previews/PR609/assets/2023/img/Davis.jpg differ diff --git a/previews/PR609/assets/2023/img/JuliaCon-2023-opengraph.png b/previews/PR609/assets/2023/img/JuliaCon-2023-opengraph.png new file mode 100644 index 000000000..f8bea4f03 Binary files /dev/null and b/previews/PR609/assets/2023/img/JuliaCon-2023-opengraph.png differ diff --git a/previews/PR609/assets/2023/img/Rackauckas.png b/previews/PR609/assets/2023/img/Rackauckas.png new file mode 100644 index 000000000..3d14660ba Binary files /dev/null and b/previews/PR609/assets/2023/img/Rackauckas.png differ diff --git a/previews/PR609/assets/2023/img/Wolfram.png b/previews/PR609/assets/2023/img/Wolfram.png new file mode 100644 index 000000000..7d0a4558d Binary files /dev/null and b/previews/PR609/assets/2023/img/Wolfram.png differ diff --git a/previews/PR609/assets/2023/img/boston_1400.png b/previews/PR609/assets/2023/img/boston_1400.png new file mode 100644 index 000000000..cdbd77f83 Binary files /dev/null and b/previews/PR609/assets/2023/img/boston_1400.png differ diff --git a/previews/PR609/assets/2023/img/boston_2800.png b/previews/PR609/assets/2023/img/boston_2800.png new file mode 100644 index 000000000..136bf1865 Binary files /dev/null and b/previews/PR609/assets/2023/img/boston_2800.png differ diff --git a/previews/PR609/assets/2023/img/boston_768.png b/previews/PR609/assets/2023/img/boston_768.png new file mode 100644 index 000000000..616d34ad8 Binary files /dev/null and b/previews/PR609/assets/2023/img/boston_768.png differ diff --git a/previews/PR609/assets/2023/img/maps.svg b/previews/PR609/assets/2023/img/maps.svg new file mode 100644 index 000000000..42490e024 --- /dev/null +++ b/previews/PR609/assets/2023/img/maps.svg @@ -0,0 +1,3285 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 123 + 141 + 155 + 124 + 144 + Elevatorsto Kiva / Star + Elevatorsto Kiva / Star + Athletic Facility + Childcare + Cafeteria + Main Entrance + Entrance + Entrance + Entrance + + + + + + Stairs tofourth floor + Stairs tofourth floor + + + + + + + To 26–100 + + + Vassar Street + + + E + W + MIT, Computer Science and Artificial Intelligence LaboratoryRay and Maria Stata Center - 1 & 2 + + 82 + Food + + + + + + + + + + + + + + + + + + + + + + + + + + + Ray and Maria Stata Center - 4 + 32 Vassar StreetCambridge, MA 02139USAcsail.mit.edu + Main Entrance + + + + + + + + + + + DN + + + + + + DN + + + + + + DN + + + + + + Stairs to lower levels + + + + + + + + + + DN + + + + + Kiva + + + R&D Commons + Elevators + + + + + + + + Elevators + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Star + + + + + + + + 100 + + Lobby + Lounge + MIT, Building 26 + + To 32 + + + + + + + + + + diff --git a/previews/PR609/assets/2023/img/prize/IMG-7356.jpg b/previews/PR609/assets/2023/img/prize/IMG-7356.jpg new file mode 100644 index 000000000..52f21a87b Binary files /dev/null and b/previews/PR609/assets/2023/img/prize/IMG-7356.jpg differ diff --git a/previews/PR609/assets/2023/img/prize/IMG_7354.jpeg b/previews/PR609/assets/2023/img/prize/IMG_7354.jpeg new file mode 100644 index 000000000..a2717eadc Binary files /dev/null and b/previews/PR609/assets/2023/img/prize/IMG_7354.jpeg differ diff --git a/previews/PR609/assets/2023/img/prize/IMG_7359.jpeg b/previews/PR609/assets/2023/img/prize/IMG_7359.jpeg new file mode 100644 index 000000000..b8651fbb0 Binary files /dev/null and b/previews/PR609/assets/2023/img/prize/IMG_7359.jpeg differ diff --git a/previews/PR609/assets/2023/img/sponsors/asml-logo.png b/previews/PR609/assets/2023/img/sponsors/asml-logo.png new file mode 100644 index 000000000..d6b2a6c66 Binary files /dev/null and b/previews/PR609/assets/2023/img/sponsors/asml-logo.png differ diff --git a/previews/PR609/assets/2023/img/sponsors/beacon-logo.svg b/previews/PR609/assets/2023/img/sponsors/beacon-logo.svg new file mode 100644 index 000000000..2731e7f28 --- /dev/null +++ b/previews/PR609/assets/2023/img/sponsors/beacon-logo.svg @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/assets/2023/img/sponsors/boeing-logo.svg b/previews/PR609/assets/2023/img/sponsors/boeing-logo.svg new file mode 100644 index 000000000..189736ffd --- /dev/null +++ b/previews/PR609/assets/2023/img/sponsors/boeing-logo.svg @@ -0,0 +1,94 @@ + + + + + + + boeing_logo + + + + + + + + + + + + + boeing_logo + + + + diff --git a/previews/PR609/assets/2023/img/sponsors/jolin-logo.png b/previews/PR609/assets/2023/img/sponsors/jolin-logo.png new file mode 100644 index 000000000..28e4d7aa1 Binary files /dev/null and b/previews/PR609/assets/2023/img/sponsors/jolin-logo.png differ diff --git a/previews/PR609/assets/2023/img/sponsors/juliahub-logo.svg b/previews/PR609/assets/2023/img/sponsors/juliahub-logo.svg new file mode 100644 index 000000000..e479a6c6c --- /dev/null +++ b/previews/PR609/assets/2023/img/sponsors/juliahub-logo.svg @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/assets/2023/img/sponsors/mit-csail-logo.svg b/previews/PR609/assets/2023/img/sponsors/mit-csail-logo.svg new file mode 100644 index 000000000..cb6989837 --- /dev/null +++ b/previews/PR609/assets/2023/img/sponsors/mit-csail-logo.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/previews/PR609/assets/2023/img/sponsors/nawa-logo.png b/previews/PR609/assets/2023/img/sponsors/nawa-logo.png new file mode 100644 index 000000000..c2bb6ebd3 Binary files /dev/null and b/previews/PR609/assets/2023/img/sponsors/nawa-logo.png differ diff --git a/previews/PR609/assets/2023/img/sponsors/postmates-logo.svg b/previews/PR609/assets/2023/img/sponsors/postmates-logo.svg new file mode 100644 index 000000000..67f940c96 --- /dev/null +++ b/previews/PR609/assets/2023/img/sponsors/postmates-logo.svg @@ -0,0 +1,33 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/previews/PR609/assets/2023/img/sponsors/pumas-ai-logo.png b/previews/PR609/assets/2023/img/sponsors/pumas-ai-logo.png new file mode 100644 index 000000000..0913eb606 Binary files /dev/null and b/previews/PR609/assets/2023/img/sponsors/pumas-ai-logo.png differ diff --git a/previews/PR609/assets/2023/img/sponsors/quera-logo.png b/previews/PR609/assets/2023/img/sponsors/quera-logo.png new file mode 100644 index 000000000..9fb1cefeb Binary files /dev/null and b/previews/PR609/assets/2023/img/sponsors/quera-logo.png differ diff --git a/previews/PR609/assets/2023/img/sponsors/rai-logo.svg b/previews/PR609/assets/2023/img/sponsors/rai-logo.svg new file mode 100644 index 000000000..734f8571f --- /dev/null +++ b/previews/PR609/assets/2023/img/sponsors/rai-logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/assets/2023/img/sponsors/sarnoff.png b/previews/PR609/assets/2023/img/sponsors/sarnoff.png new file mode 100644 index 000000000..4e5ba771b Binary files /dev/null and b/previews/PR609/assets/2023/img/sponsors/sarnoff.png differ diff --git a/previews/PR609/assets/2024/img/JuliaConChildCare.png b/previews/PR609/assets/2024/img/JuliaConChildCare.png new file mode 100644 index 000000000..0621a4a29 Binary files /dev/null and b/previews/PR609/assets/2024/img/JuliaConChildCare.png differ diff --git a/previews/PR609/assets/2024/img/JuliaDEIScholarship.png b/previews/PR609/assets/2024/img/JuliaDEIScholarship.png new file mode 100644 index 000000000..2cf7b7a19 Binary files /dev/null and b/previews/PR609/assets/2024/img/JuliaDEIScholarship.png differ diff --git a/previews/PR609/assets/2024/img/committee/carsten.jpeg b/previews/PR609/assets/2024/img/committee/carsten.jpeg new file mode 100644 index 000000000..43e788aa5 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/carsten.jpeg differ diff --git a/previews/PR609/assets/2024/img/committee/dmitry.jpeg b/previews/PR609/assets/2024/img/committee/dmitry.jpeg new file mode 100644 index 000000000..7228081de Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/dmitry.jpeg differ diff --git a/previews/PR609/assets/2024/img/committee/dragonfly.png b/previews/PR609/assets/2024/img/committee/dragonfly.png new file mode 100644 index 000000000..04da31a71 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/dragonfly.png differ diff --git a/previews/PR609/assets/2024/img/committee/erwin.jpg b/previews/PR609/assets/2024/img/committee/erwin.jpg new file mode 100644 index 000000000..8ab6dca30 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/erwin.jpg differ diff --git a/previews/PR609/assets/2024/img/committee/gareth.jpg b/previews/PR609/assets/2024/img/committee/gareth.jpg new file mode 100644 index 000000000..fd23f4f0c Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/gareth.jpg differ diff --git a/previews/PR609/assets/2024/img/committee/jorge.jpeg b/previews/PR609/assets/2024/img/committee/jorge.jpeg new file mode 100644 index 000000000..aebb7bca9 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/jorge.jpeg differ diff --git a/previews/PR609/assets/2024/img/committee/kshyatt.jpeg b/previews/PR609/assets/2024/img/committee/kshyatt.jpeg new file mode 100644 index 000000000..6bb1043c4 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/kshyatt.jpeg differ diff --git a/previews/PR609/assets/2024/img/committee/long.jpeg b/previews/PR609/assets/2024/img/committee/long.jpeg new file mode 100644 index 000000000..10327e331 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/long.jpeg differ diff --git a/previews/PR609/assets/2024/img/committee/luca.jpg b/previews/PR609/assets/2024/img/committee/luca.jpg new file mode 100644 index 000000000..68cf302e1 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/luca.jpg differ diff --git a/previews/PR609/assets/2024/img/committee/mark.jpeg b/previews/PR609/assets/2024/img/committee/mark.jpeg new file mode 100644 index 000000000..cec68b738 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/mark.jpeg differ diff --git a/previews/PR609/assets/2024/img/committee/max.jpeg b/previews/PR609/assets/2024/img/committee/max.jpeg new file mode 100644 index 000000000..91d6c5775 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/max.jpeg differ diff --git a/previews/PR609/assets/2024/img/committee/pablo.jpeg b/previews/PR609/assets/2024/img/committee/pablo.jpeg new file mode 100644 index 000000000..52bc0bd9d Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/pablo.jpeg differ diff --git a/previews/PR609/assets/2024/img/committee/placeholder.jpg b/previews/PR609/assets/2024/img/committee/placeholder.jpg new file mode 100644 index 000000000..057e5be95 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/placeholder.jpg differ diff --git a/previews/PR609/assets/2024/img/committee/ranjan.jpg b/previews/PR609/assets/2024/img/committee/ranjan.jpg new file mode 100644 index 000000000..a0d95d986 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/ranjan.jpg differ diff --git a/previews/PR609/assets/2024/img/committee/skylar.jpeg b/previews/PR609/assets/2024/img/committee/skylar.jpeg new file mode 100644 index 000000000..ce627f875 Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/skylar.jpeg differ diff --git a/previews/PR609/assets/2024/img/committee/valentin.png b/previews/PR609/assets/2024/img/committee/valentin.png new file mode 100644 index 000000000..847fa19ac Binary files /dev/null and b/previews/PR609/assets/2024/img/committee/valentin.png differ diff --git a/previews/PR609/assets/2024/img/hotels/crown.png b/previews/PR609/assets/2024/img/hotels/crown.png new file mode 100644 index 000000000..1d9b7c5cf Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/crown.png differ diff --git a/previews/PR609/assets/2024/img/hotels/hinn.png b/previews/PR609/assets/2024/img/hotels/hinn.png new file mode 100644 index 000000000..b2c5a9354 Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/hinn.png differ diff --git a/previews/PR609/assets/2024/img/hotels/marien.png b/previews/PR609/assets/2024/img/hotels/marien.png new file mode 100644 index 000000000..8feca0ec0 Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/marien.png differ diff --git a/previews/PR609/assets/2024/img/hotels/nh-collection.png b/previews/PR609/assets/2024/img/hotels/nh-collection.png new file mode 100644 index 000000000..e7882d2fe Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/nh-collection.png differ diff --git a/previews/PR609/assets/2024/img/hotels/nh-koningshof.png b/previews/PR609/assets/2024/img/hotels/nh-koningshof.png new file mode 100644 index 000000000..0519ddbb7 Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/nh-koningshof.png differ diff --git a/previews/PR609/assets/2024/img/hotels/parkplaza.png b/previews/PR609/assets/2024/img/hotels/parkplaza.png new file mode 100644 index 000000000..4a6bf9255 Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/parkplaza.png differ diff --git a/previews/PR609/assets/2024/img/hotels/pullman.png b/previews/PR609/assets/2024/img/hotels/pullman.png new file mode 100644 index 000000000..30a955319 Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/pullman.png differ diff --git a/previews/PR609/assets/2024/img/hotels/sandton.png b/previews/PR609/assets/2024/img/hotels/sandton.png new file mode 100644 index 000000000..cd93f5175 Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/sandton.png differ diff --git a/previews/PR609/assets/2024/img/hotels/socialhub.png b/previews/PR609/assets/2024/img/hotels/socialhub.png new file mode 100644 index 000000000..f74c1ff5b Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/socialhub.png differ diff --git a/previews/PR609/assets/2024/img/hotels/vandervalk.png b/previews/PR609/assets/2024/img/hotels/vandervalk.png new file mode 100644 index 000000000..8051d6b6b Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/vandervalk.png differ diff --git a/previews/PR609/assets/2024/img/hotels/westcord.png b/previews/PR609/assets/2024/img/hotels/westcord.png new file mode 100644 index 000000000..1075f5732 Binary files /dev/null and b/previews/PR609/assets/2024/img/hotels/westcord.png differ diff --git a/previews/PR609/assets/2024/img/keynotes/andrew.jpg b/previews/PR609/assets/2024/img/keynotes/andrew.jpg new file mode 100644 index 000000000..bf3c4dcfd Binary files /dev/null and b/previews/PR609/assets/2024/img/keynotes/andrew.jpg differ diff --git a/previews/PR609/assets/2024/img/keynotes/julia.png b/previews/PR609/assets/2024/img/keynotes/julia.png new file mode 100644 index 000000000..5f060912d Binary files /dev/null and b/previews/PR609/assets/2024/img/keynotes/julia.png differ diff --git a/previews/PR609/assets/2024/img/keynotes/katie.jpg b/previews/PR609/assets/2024/img/keynotes/katie.jpg new file mode 100644 index 000000000..d5e9800c1 Binary files /dev/null and b/previews/PR609/assets/2024/img/keynotes/katie.jpg differ diff --git a/previews/PR609/assets/2024/img/keynotes/maurice.jpg b/previews/PR609/assets/2024/img/keynotes/maurice.jpg new file mode 100644 index 000000000..42138715e Binary files /dev/null and b/previews/PR609/assets/2024/img/keynotes/maurice.jpg differ diff --git a/previews/PR609/assets/2024/img/keynotes/michael.jpg b/previews/PR609/assets/2024/img/keynotes/michael.jpg new file mode 100644 index 000000000..c9b57efa8 Binary files /dev/null and b/previews/PR609/assets/2024/img/keynotes/michael.jpg differ diff --git a/previews/PR609/assets/2024/img/keynotes/pbert.png b/previews/PR609/assets/2024/img/keynotes/pbert.png new file mode 100644 index 000000000..f1cd3c2f4 Binary files /dev/null and b/previews/PR609/assets/2024/img/keynotes/pbert.png differ diff --git a/previews/PR609/assets/2024/img/keynotes/rachel.png b/previews/PR609/assets/2024/img/keynotes/rachel.png new file mode 100644 index 000000000..4ec2b78ae Binary files /dev/null and b/previews/PR609/assets/2024/img/keynotes/rachel.png differ diff --git a/previews/PR609/assets/2024/img/keynotes/sam.png b/previews/PR609/assets/2024/img/keynotes/sam.png new file mode 100644 index 000000000..3dda7b3d4 Binary files /dev/null and b/previews/PR609/assets/2024/img/keynotes/sam.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/examples.png b/previews/PR609/assets/2024/img/marketingmaterials/examples.png new file mode 100644 index 000000000..f92988ec6 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/examples.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateA-0photo.png b/previews/PR609/assets/2024/img/marketingmaterials/templateA-0photo.png new file mode 100644 index 000000000..8fb547e1d Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateA-0photo.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateA-1photo.png b/previews/PR609/assets/2024/img/marketingmaterials/templateA-1photo.png new file mode 100644 index 000000000..dcf2cb64c Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateA-1photo.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateA-2photos.png b/previews/PR609/assets/2024/img/marketingmaterials/templateA-2photos.png new file mode 100644 index 000000000..9d69c4df5 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateA-2photos.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateB-0photo.png b/previews/PR609/assets/2024/img/marketingmaterials/templateB-0photo.png new file mode 100644 index 000000000..25780378a Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateB-0photo.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateB-1photo.png b/previews/PR609/assets/2024/img/marketingmaterials/templateB-1photo.png new file mode 100644 index 000000000..e0da76173 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateB-1photo.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateB-2photos.png b/previews/PR609/assets/2024/img/marketingmaterials/templateB-2photos.png new file mode 100644 index 000000000..c33d012b6 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateB-2photos.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateC-0photo.png b/previews/PR609/assets/2024/img/marketingmaterials/templateC-0photo.png new file mode 100644 index 000000000..169f4ba82 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateC-0photo.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateC-1photo.png b/previews/PR609/assets/2024/img/marketingmaterials/templateC-1photo.png new file mode 100644 index 000000000..ea118c7ab Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateC-1photo.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateC-2photos.png b/previews/PR609/assets/2024/img/marketingmaterials/templateC-2photos.png new file mode 100644 index 000000000..cd85e2a15 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateC-2photos.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateC-3photos.png b/previews/PR609/assets/2024/img/marketingmaterials/templateC-3photos.png new file mode 100644 index 000000000..9d1ddce31 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateC-3photos.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateD-0photo.png b/previews/PR609/assets/2024/img/marketingmaterials/templateD-0photo.png new file mode 100644 index 000000000..d12609245 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateD-0photo.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateD-1photo.png b/previews/PR609/assets/2024/img/marketingmaterials/templateD-1photo.png new file mode 100644 index 000000000..9b6082586 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateD-1photo.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateD-2photos.png b/previews/PR609/assets/2024/img/marketingmaterials/templateD-2photos.png new file mode 100644 index 000000000..1cc24c061 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateD-2photos.png differ diff --git a/previews/PR609/assets/2024/img/marketingmaterials/templateD-3photos.png b/previews/PR609/assets/2024/img/marketingmaterials/templateD-3photos.png new file mode 100644 index 000000000..73e3c94e8 Binary files /dev/null and b/previews/PR609/assets/2024/img/marketingmaterials/templateD-3photos.png differ diff --git a/previews/PR609/assets/2024/img/neuron.jpeg b/previews/PR609/assets/2024/img/neuron.jpeg new file mode 100644 index 000000000..70151c241 Binary files /dev/null and b/previews/PR609/assets/2024/img/neuron.jpeg differ diff --git a/previews/PR609/assets/2024/img/neuronroom.jpg b/previews/PR609/assets/2024/img/neuronroom.jpg new file mode 100644 index 000000000..6af3027a7 Binary files /dev/null and b/previews/PR609/assets/2024/img/neuronroom.jpg differ diff --git a/previews/PR609/assets/2024/img/prospectus_preview.jpg b/previews/PR609/assets/2024/img/prospectus_preview.jpg new file mode 100644 index 000000000..3734c199f Binary files /dev/null and b/previews/PR609/assets/2024/img/prospectus_preview.jpg differ diff --git a/previews/PR609/assets/2024/img/psventrance.jpeg b/previews/PR609/assets/2024/img/psventrance.jpeg new file mode 100644 index 000000000..a1e033e7e Binary files /dev/null and b/previews/PR609/assets/2024/img/psventrance.jpeg differ diff --git a/previews/PR609/assets/2024/img/psvvenue.jpeg b/previews/PR609/assets/2024/img/psvvenue.jpeg new file mode 100644 index 000000000..cdc29aa14 Binary files /dev/null and b/previews/PR609/assets/2024/img/psvvenue.jpeg differ diff --git a/previews/PR609/assets/2024/img/psvvenue2.png b/previews/PR609/assets/2024/img/psvvenue2.png new file mode 100644 index 000000000..c202b2ec2 Binary files /dev/null and b/previews/PR609/assets/2024/img/psvvenue2.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/Evovest_RGB.svg b/previews/PR609/assets/2024/img/sponsors/Evovest_RGB.svg new file mode 100644 index 000000000..c3b6f4986 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/Evovest_RGB.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/assets/2024/img/sponsors/JolinCloud-Logo-v1.1-lightmode.png b/previews/PR609/assets/2024/img/sponsors/JolinCloud-Logo-v1.1-lightmode.png new file mode 100644 index 000000000..4cabf5e2b Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/JolinCloud-Logo-v1.1-lightmode.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/asml-logo.png b/previews/PR609/assets/2024/img/sponsors/asml-logo.png new file mode 120000 index 000000000..bc6866590 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/asml-logo.png @@ -0,0 +1 @@ +../../../2023/img/sponsors/asml-logo.png \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/sponsors/bhft-logo.png b/previews/PR609/assets/2024/img/sponsors/bhft-logo.png new file mode 120000 index 000000000..ca9420cff --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/bhft-logo.png @@ -0,0 +1 @@ +bhft-website-logo.png \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/sponsors/bhft-website-logo.png b/previews/PR609/assets/2024/img/sponsors/bhft-website-logo.png new file mode 100644 index 000000000..bae3bdbbd Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/bhft-website-logo.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/boeing-logo.png b/previews/PR609/assets/2024/img/sponsors/boeing-logo.png new file mode 100644 index 000000000..236f94997 Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/boeing-logo.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/cbbe.png b/previews/PR609/assets/2024/img/sponsors/cbbe.png new file mode 100644 index 000000000..c5d6587fa Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/cbbe.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/cognibotics.png b/previews/PR609/assets/2024/img/sponsors/cognibotics.png new file mode 100644 index 000000000..b2e08bc42 Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/cognibotics.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/evovest-logo.svg b/previews/PR609/assets/2024/img/sponsors/evovest-logo.svg new file mode 120000 index 000000000..fb24f6ab9 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/evovest-logo.svg @@ -0,0 +1 @@ +Evovest_RGB.svg \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/sponsors/ferrous-logo.svg b/previews/PR609/assets/2024/img/sponsors/ferrous-logo.svg new file mode 100644 index 000000000..386ed1e3e --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/ferrous-logo.svg @@ -0,0 +1,79 @@ + + diff --git a/previews/PR609/assets/2024/img/sponsors/g2icomputing-logo.svg b/previews/PR609/assets/2024/img/sponsors/g2icomputing-logo.svg new file mode 100644 index 000000000..d940f8616 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/g2icomputing-logo.svg @@ -0,0 +1,71 @@ + + + + diff --git a/previews/PR609/assets/2024/img/sponsors/genie-github-logo.png b/previews/PR609/assets/2024/img/sponsors/genie-github-logo.png new file mode 100644 index 000000000..7d8d019e1 Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/genie-github-logo.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/genie-logo-white-background.svg b/previews/PR609/assets/2024/img/sponsors/genie-logo-white-background.svg new file mode 100644 index 000000000..d31ef9192 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/genie-logo-white-background.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/previews/PR609/assets/2024/img/sponsors/genie-logo.svg b/previews/PR609/assets/2024/img/sponsors/genie-logo.svg new file mode 120000 index 000000000..7e584f789 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/genie-logo.svg @@ -0,0 +1 @@ +genie-logo-white-background.svg \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/sponsors/glc-logo.png b/previews/PR609/assets/2024/img/sponsors/glc-logo.png new file mode 100644 index 000000000..7778ca272 Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/glc-logo.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/ienai_space.png b/previews/PR609/assets/2024/img/sponsors/ienai_space.png new file mode 100644 index 000000000..294b28064 Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/ienai_space.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/jahan-logo-blue-140px.png b/previews/PR609/assets/2024/img/sponsors/jahan-logo-blue-140px.png new file mode 100644 index 000000000..6b424317c Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/jahan-logo-blue-140px.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/jahan-logo-blue.png b/previews/PR609/assets/2024/img/sponsors/jahan-logo-blue.png new file mode 100644 index 000000000..00c8085a9 Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/jahan-logo-blue.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/jahan-logo.png b/previews/PR609/assets/2024/img/sponsors/jahan-logo.png new file mode 120000 index 000000000..7c9c35285 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/jahan-logo.png @@ -0,0 +1 @@ +jahan-logo-blue-140px.png \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/sponsors/jolin-logo.png b/previews/PR609/assets/2024/img/sponsors/jolin-logo.png new file mode 120000 index 000000000..1d78f0175 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/jolin-logo.png @@ -0,0 +1 @@ +JolinCloud-Logo-v1.1-lightmode.png \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/sponsors/juliahub-logo.svg b/previews/PR609/assets/2024/img/sponsors/juliahub-logo.svg new file mode 120000 index 000000000..1abe76668 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/juliahub-logo.svg @@ -0,0 +1 @@ +../../../2023/img/sponsors/juliahub-logo.svg \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/sponsors/lazydynamics_logo.png b/previews/PR609/assets/2024/img/sponsors/lazydynamics_logo.png new file mode 100644 index 000000000..cbcc0c061 Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/lazydynamics_logo.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/lichttoren.png b/previews/PR609/assets/2024/img/sponsors/lichttoren.png new file mode 100644 index 000000000..557b1deb2 Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/lichttoren.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/pumasai.png b/previews/PR609/assets/2024/img/sponsors/pumasai.png new file mode 100644 index 000000000..c8d94b1cd Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/pumasai.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/rai-logo.svg b/previews/PR609/assets/2024/img/sponsors/rai-logo.svg new file mode 120000 index 000000000..80b584be0 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/rai-logo.svg @@ -0,0 +1 @@ +../../../2023/img/sponsors/rai-logo.svg \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/sponsors/sarnoff.png b/previews/PR609/assets/2024/img/sponsors/sarnoff.png new file mode 100644 index 000000000..221b3ff79 Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/sarnoff.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/sioux-logo.png b/previews/PR609/assets/2024/img/sponsors/sioux-logo.png new file mode 120000 index 000000000..350833fa4 --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/sioux-logo.png @@ -0,0 +1 @@ +../../../local/eindhoven2023/img/sponsors/Sioux-logo-corporate.png \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/sponsors/tue_logo.png b/previews/PR609/assets/2024/img/sponsors/tue_logo.png new file mode 100644 index 000000000..ae19f42c1 Binary files /dev/null and b/previews/PR609/assets/2024/img/sponsors/tue_logo.png differ diff --git a/previews/PR609/assets/2024/img/sponsors/uf_logo.svg b/previews/PR609/assets/2024/img/sponsors/uf_logo.svg new file mode 100644 index 000000000..1b1e9cb1a --- /dev/null +++ b/previews/PR609/assets/2024/img/sponsors/uf_logo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/previews/PR609/assets/2024/img/venue/1.png b/previews/PR609/assets/2024/img/venue/1.png new file mode 100644 index 000000000..1522ba2ee Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/1.png differ diff --git a/previews/PR609/assets/2024/img/venue/2.png b/previews/PR609/assets/2024/img/venue/2.png new file mode 100644 index 000000000..1a0490cb3 Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/2.png differ diff --git a/previews/PR609/assets/2024/img/venue/3.png b/previews/PR609/assets/2024/img/venue/3.png new file mode 100644 index 000000000..fc17d1942 Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/3.png differ diff --git a/previews/PR609/assets/2024/img/venue/4.png b/previews/PR609/assets/2024/img/venue/4.png new file mode 100644 index 000000000..62f14aba6 Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/4.png differ diff --git a/previews/PR609/assets/2024/img/venue/5.png b/previews/PR609/assets/2024/img/venue/5.png new file mode 100644 index 000000000..e3e8c0833 Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/5.png differ diff --git a/previews/PR609/assets/2024/img/venue/6.png b/previews/PR609/assets/2024/img/venue/6.png new file mode 100644 index 000000000..8f16dc398 Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/6.png differ diff --git a/previews/PR609/assets/2024/img/venue/7.png b/previews/PR609/assets/2024/img/venue/7.png new file mode 100644 index 000000000..79b442335 Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/7.png differ diff --git a/previews/PR609/assets/2024/img/venue/8.png b/previews/PR609/assets/2024/img/venue/8.png new file mode 100644 index 000000000..d6a04a5ce Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/8.png differ diff --git a/previews/PR609/assets/2024/img/venue/PSV floorplan-04.png b/previews/PR609/assets/2024/img/venue/PSV floorplan-04.png new file mode 100644 index 000000000..151e127e5 Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/PSV floorplan-04.png differ diff --git a/previews/PR609/assets/2024/img/venue/PSV floorplan-05.png b/previews/PR609/assets/2024/img/venue/PSV floorplan-05.png new file mode 100644 index 000000000..ea7bb4704 Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/PSV floorplan-05.png differ diff --git a/previews/PR609/assets/2024/img/venue/PSV floorplan-06.png b/previews/PR609/assets/2024/img/venue/PSV floorplan-06.png new file mode 100644 index 000000000..b885adb62 Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/PSV floorplan-06.png differ diff --git a/previews/PR609/assets/2024/img/venue/PSV floorplan-07.png b/previews/PR609/assets/2024/img/venue/PSV floorplan-07.png new file mode 100644 index 000000000..95faf68d5 Binary files /dev/null and b/previews/PR609/assets/2024/img/venue/PSV floorplan-07.png differ diff --git a/previews/PR609/assets/2024/img/whattoexpect/childcare.jpeg b/previews/PR609/assets/2024/img/whattoexpect/childcare.jpeg new file mode 100644 index 000000000..ec5014a8c Binary files /dev/null and b/previews/PR609/assets/2024/img/whattoexpect/childcare.jpeg differ diff --git a/previews/PR609/assets/2024/img/whattoexpect/community.jpg b/previews/PR609/assets/2024/img/whattoexpect/community.jpg new file mode 100644 index 000000000..704317eb6 Binary files /dev/null and b/previews/PR609/assets/2024/img/whattoexpect/community.jpg differ diff --git a/previews/PR609/assets/2024/img/whattoexpect/keynotes.jpg b/previews/PR609/assets/2024/img/whattoexpect/keynotes.jpg new file mode 100644 index 000000000..f9615ebed Binary files /dev/null and b/previews/PR609/assets/2024/img/whattoexpect/keynotes.jpg differ diff --git a/previews/PR609/assets/2024/img/whattoexpect/location.png b/previews/PR609/assets/2024/img/whattoexpect/location.png new file mode 100644 index 000000000..3f2203c3c Binary files /dev/null and b/previews/PR609/assets/2024/img/whattoexpect/location.png differ diff --git a/previews/PR609/assets/2024/img/whattoexpect/networking.jpg b/previews/PR609/assets/2024/img/whattoexpect/networking.jpg new file mode 100644 index 000000000..c13656047 Binary files /dev/null and b/previews/PR609/assets/2024/img/whattoexpect/networking.jpg differ diff --git a/previews/PR609/assets/2024/img/whattoexpect/talks.jpg b/previews/PR609/assets/2024/img/whattoexpect/talks.jpg new file mode 100644 index 000000000..9788b556e Binary files /dev/null and b/previews/PR609/assets/2024/img/whattoexpect/talks.jpg differ diff --git a/previews/PR609/assets/2024/img/whattoexpect/team.jpg b/previews/PR609/assets/2024/img/whattoexpect/team.jpg new file mode 100644 index 000000000..4ceb0892c Binary files /dev/null and b/previews/PR609/assets/2024/img/whattoexpect/team.jpg differ diff --git a/previews/PR609/assets/2024/img/whattoexpect/workshops.jpg b/previews/PR609/assets/2024/img/whattoexpect/workshops.jpg new file mode 100644 index 000000000..bcdee9e53 Binary files /dev/null and b/previews/PR609/assets/2024/img/whattoexpect/workshops.jpg differ diff --git a/previews/PR609/assets/2024/img/world_1400.png b/previews/PR609/assets/2024/img/world_1400.png new file mode 120000 index 000000000..fd9782057 --- /dev/null +++ b/previews/PR609/assets/2024/img/world_1400.png @@ -0,0 +1 @@ +../../2021/img/world_1400.png \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/world_2800.png b/previews/PR609/assets/2024/img/world_2800.png new file mode 120000 index 000000000..d74d10dde --- /dev/null +++ b/previews/PR609/assets/2024/img/world_2800.png @@ -0,0 +1 @@ +../../2021/img/world_2800.png \ No newline at end of file diff --git a/previews/PR609/assets/2024/img/world_768.png b/previews/PR609/assets/2024/img/world_768.png new file mode 120000 index 000000000..50cce4de8 --- /dev/null +++ b/previews/PR609/assets/2024/img/world_768.png @@ -0,0 +1 @@ +../../2021/img/world_768.png \ No newline at end of file diff --git a/previews/PR609/assets/favicon.png b/previews/PR609/assets/favicon.png new file mode 100644 index 000000000..a693fcd04 Binary files /dev/null and b/previews/PR609/assets/favicon.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/Eindhoven_Skyline.png b/previews/PR609/assets/local/eindhoven2023/img/Eindhoven_Skyline.png new file mode 100644 index 000000000..735464037 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/Eindhoven_Skyline.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/committee/JuliaLang.jpeg b/previews/PR609/assets/local/eindhoven2023/img/committee/JuliaLang.jpeg new file mode 100644 index 000000000..a08b4a8da Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/committee/JuliaLang.jpeg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/committee/LI-In-Bug.png b/previews/PR609/assets/local/eindhoven2023/img/committee/LI-In-Bug.png new file mode 100644 index 000000000..e01aef501 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/committee/LI-In-Bug.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/committee/dmitry.jpeg b/previews/PR609/assets/local/eindhoven2023/img/committee/dmitry.jpeg new file mode 100644 index 000000000..7228081de Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/committee/dmitry.jpeg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/committee/gareth.jpeg b/previews/PR609/assets/local/eindhoven2023/img/committee/gareth.jpeg new file mode 100644 index 000000000..1a49d95e9 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/committee/gareth.jpeg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/committee/jorge.jpeg b/previews/PR609/assets/local/eindhoven2023/img/committee/jorge.jpeg new file mode 100644 index 000000000..77558fa9e Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/committee/jorge.jpeg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/committee/matthijs.jpeg b/previews/PR609/assets/local/eindhoven2023/img/committee/matthijs.jpeg new file mode 100644 index 000000000..72d558657 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/committee/matthijs.jpeg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/committee/nicholas.jpg b/previews/PR609/assets/local/eindhoven2023/img/committee/nicholas.jpg new file mode 100644 index 000000000..c9e81ade0 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/committee/nicholas.jpg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/committee/tom.jpeg b/previews/PR609/assets/local/eindhoven2023/img/committee/tom.jpeg new file mode 100644 index 000000000..1a663ce39 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/committee/tom.jpeg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/julia-packages-in-region.png b/previews/PR609/assets/local/eindhoven2023/img/julia-packages-in-region.png new file mode 100644 index 000000000..52e481dc2 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/julia-packages-in-region.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/juliacon_local_eindhoven_logo.png b/previews/PR609/assets/local/eindhoven2023/img/juliacon_local_eindhoven_logo.png new file mode 100644 index 000000000..e171897c5 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/juliacon_local_eindhoven_logo.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/pluto.png b/previews/PR609/assets/local/eindhoven2023/img/pluto.png new file mode 100644 index 000000000..59705ffe3 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/pluto.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/AI-hub-logo.jpg b/previews/PR609/assets/local/eindhoven2023/img/sponsors/AI-hub-logo.jpg new file mode 100644 index 000000000..83c76666e Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/AI-hub-logo.jpg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/DAF-logo-events.jpeg b/previews/PR609/assets/local/eindhoven2023/img/sponsors/DAF-logo-events.jpeg new file mode 100644 index 000000000..090b59c56 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/DAF-logo-events.jpeg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/HTXL_logo_black.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/HTXL_logo_black.png new file mode 100644 index 000000000..22186ef2f Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/HTXL_logo_black.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/JuliaEindhovenLogo.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/JuliaEindhovenLogo.png new file mode 100644 index 000000000..6b1ab3c4f Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/JuliaEindhovenLogo.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/JuliaHub_Logo.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/JuliaHub_Logo.png new file mode 100644 index 000000000..69544c891 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/JuliaHub_Logo.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/Logo-High-Tech-Campus.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/Logo-High-Tech-Campus.png new file mode 100644 index 000000000..123859624 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/Logo-High-Tech-Campus.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/LogoDeBlokkendoos.jpg b/previews/PR609/assets/local/eindhoven2023/img/sponsors/LogoDeBlokkendoos.jpg new file mode 100644 index 000000000..44aa092e2 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/LogoDeBlokkendoos.jpg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/PyData Eindhoven Logo - 2.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/PyData Eindhoven Logo - 2.png new file mode 100644 index 000000000..af76091dc Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/PyData Eindhoven Logo - 2.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/Sioux-logo-corporate.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/Sioux-logo-corporate.png new file mode 100644 index 000000000..f386b83ef Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/Sioux-logo-corporate.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/The-Gate-Logo.jpg b/previews/PR609/assets/local/eindhoven2023/img/sponsors/The-Gate-Logo.jpg new file mode 100644 index 000000000..c4db85463 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/The-Gate-Logo.jpg differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/Twentynext.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/Twentynext.png new file mode 100644 index 000000000..b09afe436 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/Twentynext.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/VersionBay-Logo.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/VersionBay-Logo.png new file mode 100644 index 000000000..c804033c0 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/VersionBay-Logo.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/aicenter.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/aicenter.png new file mode 100644 index 000000000..f93380f96 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/aicenter.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/asml-logo.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/asml-logo.png new file mode 100644 index 000000000..d6b2a6c66 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/asml-logo.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/jolin-logo.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/jolin-logo.png new file mode 100644 index 000000000..28e4d7aa1 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/jolin-logo.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/jso-banner-transparent.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/jso-banner-transparent.png new file mode 100644 index 000000000..966f46257 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/jso-banner-transparent.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/kickstartai.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/kickstartai.png new file mode 100644 index 000000000..6ef9331e1 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/kickstartai.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/lazydynamics_logo.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/lazydynamics_logo.png new file mode 100644 index 000000000..10bba50b7 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/lazydynamics_logo.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/lumolabs.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/lumolabs.png new file mode 100644 index 000000000..625b18de5 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/lumolabs.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/mapxact-retina.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/mapxact-retina.png new file mode 100644 index 000000000..64089db25 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/mapxact-retina.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/prodrive.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/prodrive.png new file mode 100644 index 000000000..e9dba97e5 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/prodrive.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/sponsors/pydata-logo.png b/previews/PR609/assets/local/eindhoven2023/img/sponsors/pydata-logo.png new file mode 100644 index 000000000..9ae8846ad Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/sponsors/pydata-logo.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/img/vibes.png b/previews/PR609/assets/local/eindhoven2023/img/vibes.png new file mode 100644 index 000000000..29fbbcdd1 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/img/vibes.png differ diff --git a/previews/PR609/assets/local/eindhoven2023/pdf/JuliaCon_Local_Eindhoven_2023_Sponsorship_Prospectus_-_FINAL.pdf b/previews/PR609/assets/local/eindhoven2023/pdf/JuliaCon_Local_Eindhoven_2023_Sponsorship_Prospectus_-_FINAL.pdf new file mode 100644 index 000000000..2a5478ff7 Binary files /dev/null and b/previews/PR609/assets/local/eindhoven2023/pdf/JuliaCon_Local_Eindhoven_2023_Sponsorship_Prospectus_-_FINAL.pdf differ diff --git a/previews/PR609/assets/shared/img/JuliaConGitHubPreview.png b/previews/PR609/assets/shared/img/JuliaConGitHubPreview.png new file mode 100644 index 000000000..5304654f6 Binary files /dev/null and b/previews/PR609/assets/shared/img/JuliaConGitHubPreview.png differ diff --git a/previews/PR609/assets/shared/img/JuliaConTwitterPreview.png b/previews/PR609/assets/shared/img/JuliaConTwitterPreview.png new file mode 100644 index 000000000..e4e15b5d2 Binary files /dev/null and b/previews/PR609/assets/shared/img/JuliaConTwitterPreview.png differ diff --git a/previews/PR609/assets/shared/img/juliacon-2015.jpg b/previews/PR609/assets/shared/img/juliacon-2015.jpg new file mode 100644 index 000000000..593a9af66 Binary files /dev/null and b/previews/PR609/assets/shared/img/juliacon-2015.jpg differ diff --git a/previews/PR609/assets/shared/img/juliacon-2016.jpg b/previews/PR609/assets/shared/img/juliacon-2016.jpg new file mode 100644 index 000000000..747b93452 Binary files /dev/null and b/previews/PR609/assets/shared/img/juliacon-2016.jpg differ diff --git a/previews/PR609/assets/shared/img/juliacon-2017.jpg b/previews/PR609/assets/shared/img/juliacon-2017.jpg new file mode 100644 index 000000000..455ec9ca8 Binary files /dev/null and b/previews/PR609/assets/shared/img/juliacon-2017.jpg differ diff --git a/previews/PR609/assets/shared/img/juliacon-2018.jpg b/previews/PR609/assets/shared/img/juliacon-2018.jpg new file mode 100644 index 000000000..f31ffbb2f Binary files /dev/null and b/previews/PR609/assets/shared/img/juliacon-2018.jpg differ diff --git a/previews/PR609/assets/shared/img/juliacon-2019.jpg b/previews/PR609/assets/shared/img/juliacon-2019.jpg new file mode 100644 index 000000000..19a0b6555 Binary files /dev/null and b/previews/PR609/assets/shared/img/juliacon-2019.jpg differ diff --git a/previews/PR609/assets/shared/img/juliacon-2020.jpg b/previews/PR609/assets/shared/img/juliacon-2020.jpg new file mode 100644 index 000000000..e7b2155f2 Binary files /dev/null and b/previews/PR609/assets/shared/img/juliacon-2020.jpg differ diff --git a/previews/PR609/assets/shared/img/juliacon-2021.jpg b/previews/PR609/assets/shared/img/juliacon-2021.jpg new file mode 100644 index 000000000..c602d951a Binary files /dev/null and b/previews/PR609/assets/shared/img/juliacon-2021.jpg differ diff --git a/previews/PR609/assets/shared/img/juliacon-2023.jpg b/previews/PR609/assets/shared/img/juliacon-2023.jpg new file mode 100644 index 000000000..51c18fcfb Binary files /dev/null and b/previews/PR609/assets/shared/img/juliacon-2023.jpg differ diff --git a/previews/PR609/assets/shared/img/logo_20.svg b/previews/PR609/assets/shared/img/logo_20.svg new file mode 100644 index 000000000..becaec909 --- /dev/null +++ b/previews/PR609/assets/shared/img/logo_20.svg @@ -0,0 +1 @@ + diff --git a/previews/PR609/assets/shared/img/waving-flag.gif b/previews/PR609/assets/shared/img/waving-flag.gif new file mode 100644 index 000000000..07ab3101c Binary files /dev/null and b/previews/PR609/assets/shared/img/waving-flag.gif differ diff --git a/previews/PR609/css/bootstrap.min.css b/previews/PR609/css/bootstrap.min.css new file mode 100644 index 000000000..6bcea10ad --- /dev/null +++ b/previews/PR609/css/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ diff --git a/previews/PR609/css/grid.css b/previews/PR609/css/grid.css new file mode 100644 index 000000000..76daf77d6 --- /dev/null +++ b/previews/PR609/css/grid.css @@ -0,0 +1,40 @@ +.u-container { max-width: 1152px; } +.u-cols-1 { width: 64px } +.u-cols-2 { width: 160px } +.u-cols-3 { width: 256px } +.u-cols-4 { width: 352px } +.u-cols-5 { width: 448px } +.u-cols-6 { width: 544px } +.u-cols-7 { width: 640px } +.u-cols-8 { width: 736px } +.u-cols-9 { width: 832px } +.u-cols-10 { width: 928px } +.u-cols-11 { width: 1024px } +.u-cols-12 { width: 1120px } +.u-cols-1,.u-cols-2,.u-cols-3,.u-cols-4,.u-cols-5,.u-cols-6,.u-cols-7,.u-cols-8,.u-cols-9,.u-cols-10,.u-cols-11,.u-cols-12,.u-hmargins.u-max-cols-1,.u-max-cols-2,.u-max-cols-3,.u-max-cols-4,.u-max-cols-5,.u-max-cols-6,.u-max-cols-7,.u-max-cols-8,.u-max-cols-9,.u-max-cols-10,.u-max-cols-11,.u-max-cols-12 { margin-left: 16.0px; margin-right: 16.0px } +.u-max-cols-1 { max-width: 64px } +.u-max-cols-2 { max-width: 160px } +.u-max-cols-3 { max-width: 256px } +.u-max-cols-4 { max-width: 352px } +.u-max-cols-5 { max-width: 448px } +.u-max-cols-6 { max-width: 544px } +.u-max-cols-7 { max-width: 640px } +.u-max-cols-8 { max-width: 736px } +.u-max-cols-9 { max-width: 832px } +.u-max-cols-10 { max-width: 928px } +.u-max-cols-11 { max-width: 1024px } +.u-max-cols-12 { max-width: 1120px } +.u-cols-1,.u-cols-2,.u-cols-3,.u-cols-4,.u-cols-5,.u-cols-6,.u-cols-7,.u-cols-8,.u-cols-9,.u-cols-10,.u-cols-11,.u-cols-12,.u-hmargins.u-max-cols-1,.u-max-cols-2,.u-max-cols-3,.u-max-cols-4,.u-max-cols-5,.u-max-cols-6,.u-max-cols-7,.u-max-cols-8,.u-max-cols-9,.u-max-cols-10,.u-max-cols-11,.u-max-cols-12 { margin-left: 16.0px; margin-right: 16.0px } +.u-rows-1 { min-height: 64px} +.u-rows-2 { min-height: 160px} +.u-rows-3 { min-height: 256px} +.u-rows-4 { min-height: 352px} +.u-rows-5 { min-height: 448px} +.u-rows-6 { min-height: 544px} +.u-rows-7 { min-height: 640px} +.u-rows-8 { min-height: 736px} +.u-rows-9 { min-height: 832px} +.u-rows-10 { min-height: 928px} +.u-rows-11 { min-height: 1024px} +.u-rows-12 { min-height: 1120px} +.u-rows-1,.u-rows-2,.u-rows-3,.u-rows-4,.u-rows-5,.u-rows-6,.u-rows-7,.u-rows-8,.u-rows-9,.u-rows-10,.u-rows-11,.u-rows-12,.u-vmargins { padding-top: 16.0px; padding-bottom: 16.0px }.u-margins { margin: 16.0px } .u-pad { padding: 16.0px } diff --git a/previews/PR609/css/reset.css b/previews/PR609/css/reset.css new file mode 100644 index 000000000..011bf778a --- /dev/null +++ b/previews/PR609/css/reset.css @@ -0,0 +1,38 @@ + +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/previews/PR609/css/style.css b/previews/PR609/css/style.css new file mode 100644 index 000000000..e9554ba3c --- /dev/null +++ b/previews/PR609/css/style.css @@ -0,0 +1,786 @@ +html { + color: #393333; +} +a { + text-decoration: none; +} + +a { + color: #9d253d; +} + +table, tr, th, tbody { + padding:6px; +} + +em { + font-style: italic; +} + +h1 { + font-size: 32px; + margin-bottom: 12px; + line-height: 48px; + font-weight: bold; + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + +h2 { + font-size: 32px; + line-height: 40px; + margin-bottom: 16px; + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + +h3 { + font-size: 24px; + line-height: 40px; + margin-bottom: 16px; + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + +h1,h2,h3,h4 { + color: #b07950; +} +.link-color-inherit a, a.link-color-inherit { + color: inherit; +} +.u-slab { + font-family: "Roboto Slab"; +} + +.u-futura { + font-family: "futura-pt"; + /* font-family: 'Nunito', sans-serif; */ +} + + +.banner-bg { + min-height: 384px; + background-size: cover; + -moz-background-size: cover; + background-repeat: no-repeat; + background-position: top; +} + +.light-button { + background: #ffffff; + border: 1px #888 solid; + color: #222; +} +.red-button { + background: #cb3c33; + border: none; + color: #000; +} + +.bg-blue { + background-color: #426e93; +} + +.bg-black { + background-color: #111; +} +.bg-white { + background-color: #fff; +} + +.bg-light-gray { + background-color: #ededed; +} +.bg-purple { + background: #934845; +} +.text-gray { + color: #575757; +} +.text-light-gray { + color: #cbd4db; +} +.border-gray { + border-color: #cbd4db !important; +} + +.text-dark-gray { + color: #1b1b1b; +} +.text-white { + color: #ffffff; +} +.bg-dark-gray { + background-color: #1b1b1b; +} +.u-fullwidth { + width: 98vw; +} + +/* //.active { +// border-top: solid #000 4px; +// padding-top: 12px; +// color: #000 !important; +// font-weight: bold; +//} */ + +.text-pad { + padding: 0.333em 1em; +} + +.text-red { + color: #d93939; +} + +.bg-light-blue { + background-color: #61d4e0; +} + +.text-medium-blue { + color: #426e93 +} + +.bg-dark-blue { + background-color: #27465c; +} +.text-light-blue { + color: #6586a1; +} + +.bg-white { + background-color: #ffffff; +} + +.text-overflow-fade { + overflow: hidden; +} + +.text-blue { + color: #416e93; +} + +.long-form h2 { + font-size: 24px; + font-family: 'futura-pt'; + /* font-family: 'Nunito', sans-serif; */ +} + +pre { + white-space: pre-wrap; /* Since CSS 2.1 */ + white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ + padding: 1em; + font-size: 14px; + border-radius: 7px; + background: #f7f7f8; + border: #ebebeb 1px solid; +} +pre, code { + font-family: monospace; + background: #f7f7f8; + border: #ebebeb 1px solid; +} +pre > code { + background: inherit; + border: none; +} + +code { + padding: 0.1em 0.5em; + border-radius: 4px; +} + +ul, ol { + padding-left: 1em; +} + +.u-borders { + border: 1px solid #fff; +} +.u-hborders { + border-top: 1px solid #fff; + border-bottom: 1px solid #fff; +} +.u-vborders { + border-right: 1px solid #fff; + border-left: 1px solid #fff; +} + +.u-border-bottom { + border-bottom: 1px solid #fff; +} +.u-border-collapse { + border-collapse:collapse; +} +.u-hpad { + padding-left: 16px; + padding-right: 17px; +} + +.avatar-circle { + height: 144px; + width: 144px; + border-radius:80px; + border: 8px solid #fff; + overflow: hidden; +} +.avatar-circle-talks { + position: relative; + left: 8pt; + top: -2em; + width: 70pt; + border-radius: 60px; + border: 1px solid #888888; + overflow: hidden; + background-color: #fff; +} +.avatar-talks { + color: #bf382e; + font-size: 12pt; + position: relative; + top: -35%; + min-height: 25pt; +} +.headerimg-talks { + position: relative; + width: 100%; + height:20%; +} +.u-fit-width { + width: 100%; + height: auto; +} + +.avatar-img { + min-height: 144px; + min-width: 144px; + max-height: 144px; + max-width: 144px; + height: auto; + width: auto; +} + +.glance-card { + border-radius: 0.5em; +} + +.glance-card .header { + text-align: center; + font-size: xx-large; +} + +.animated-size { + cursor: pointer; + transition: transform 0.3s ease, box-shadow 0.3s ease; +} +.animated-size:hover { + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3), 0 6px 20px rgba(0, 0, 0, 0.2); + transform: scale(1.05); +} + +.border-white { border-color: white} +.bg-black { background-color: #000000} +.bg-gray-1 { background-color: #282828} +.bg-gray-2 { background-color: #505050} +.bg-gray-3 { background-color: #6E6E6E} +.bg-gray-4 { background-color: #969696} +.bg-white { background-color: #ffffff}.text-black { color: #000000} +.text-gray-1 { color: #282828} +.text-gray-2 { color: #505050} +.text-gray-3 { color: #6E6E6E} +.text-gray-4 { color: #969696} +.text-white { color: #ffffff}.border-black { border-color: #000000} +.border-gray-1 { border-color: #282828} +.border-gray-2 { border-color: #505050} +.border-gray-3 { border-color: #6E6E6E} +.border-gray-4 { border-color: #969696} +.border-white { border-color: #ffffff} + +.u-pad-2 { + padding: 32px; +} + +.long-form td, th { + padding: 0.5em; + border: #cfcfcf solid 1px; +} +.long-form th { + font-weight: bold; +} + +.banner-gradient { + background: radial-gradient(circle at bottom right, #e7a248, #e74248, #9d253d); /* Standard syntax */ + background-color: #e74248; +} + +.text-yellow { + color: #f0b980 +} +.text-shadow { + text-shadow: 2px 2px 2px #7d253d; + +} +.bg-yellow { + background-color: #f0b980 +} +.text-maroon { + color: #9d253d; +} +.bg-maroon { + background-color: #9d253d; +} + +.text-green { + color: #00A61D; +} + +/* new design */ +.previous-editions-menu { + font-size: 11pt; + color: #666; +} +.previous-editions-menu a { + color: #666; +} + +.main-heading { + background-repeat: no-repeat; + background-position: center bottom; + background-size: 1300pt auto; +} + +.main-heading h1 { + font-size: 40pt; + font-weight: 900; + /* color: #bf382e; */ + color: #761c7c; + margin-top: 20pt; +} + +.main-heading h2 { + color: #4366d0; +} + +.main-heading h3 { + font-size: 16pt; + color: #4366d0; + /* color: #ed1c24; */ + line-height: 120%; +} + +.heading-hero { + display: block; + max-width: 100%; + height: 24rem; + object-fit: cover; + margin: -4rem auto auto; + } + + +.main-menu { + background-color: #9558b2; +} +.main-menu .navbar .navbar-nav a.nav-link { + color: #fff; +} +.main-menu .navbar .navbar-nav li.nav-item-dropdown { + display: inline-block; +} +.main-menu .navbar .navbar-nav .dropdown-content { + display: none; + position: absolute; + min-width: 120px; + background-color: #f9f9f9; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + z-index: 1; +} +.main-menu .navbar .navbar-nav .dropdown-content a { + color: black; + padding: 12px 16px; + text-decoration: none; + display: block; + text-align: left; +} +.main-menu .navbar .nav-item-dropdown:hover .dropdown-content { + display: block; +} +.main-menu .navbar .dropdown-content a:hover { + background-color: #f1f1f1; +} + +.grey-menu { + background-color: #ededed; +} +.grey-menu .navbar .navbar-nav a.nav-link { + color: #bf382e; +} + +.btn { + color: #bf382e; + background-color: #fff; + border: 1px solid #bf382e; + border-radius: 1em; + transition: box-shadow 0.3s ease; +} +.btn:active{ + background-color: #bf382e; +} + +.btn:hover, .btn:focus{ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3), 0 6px 20px rgba(0, 0, 0, 0.2); +} + +.btn.active { + color: #fff; + background-color: #bf382e; +} + +.masonry .grid-item { + /* float: left; */ + /* width: 47%; */ + /* height: auto; */ + /* margin-right: 10pt; */ + /* margin-bottom: 10pt; */ +} + +.content-box { + padding: 20pt; + color: #fff; + font-size: 14pt; + font-family: "futura-pt", sans-serif; +} +.content-box h2 { + font-size: 22pt; + color: #fff; +} +.content-box a { + text-decoration: underline; + color: #f0b980 +} + +.content-box-talk { + padding: 12pt; + color: #333333; + font-size: 14pt; + font-family: "futura-pt", sans-serif; + /* font-family: 'Nunito', sans-serif; */ +} +.content-box-talk h2 { + font-size: 22pt; + color: #bf382e; + font-family: "futura-pt", sans-serif; + /* font-family: 'Nunito', sans-serif; */ +} +.content-box-talk p { + position: relative; + color: #333333; + font-size: 14pt; +} +.content-box-talk a { + color: #bf382e; + font-size: 12pt; +} +.content-box .content-box-talk a { + text-decoration: underline; + color: #f0b980; + font-size: 14pt; +} +.header-talks { + color: #bf382e; + font-size: 12pt; + width: 100%; + height: 5%; +} +.speaker-talks { + font-size: 14pt; + color: #333333; + font-weight: 700; + display: block; + margin-left: 90pt; + margin-top: -80pt; + max-width: 80%; +} +.content-box .speaker-talks { + color: #fff; + font-size: 18pt; + margin-left: 90pt; +} +.content-box .speaker-talks .affiliation { + font-size: 16px; +} +.content-box .content-box-talk p { + color: #fff; +} +.red-box { + background-color: #bf382e; +} +/* .red-box.content-box h2 { + text-decoration: underline #ee6856; + text-decoration-skip-ink: auto; + -webkit-text-decoration-skip-ink: auto; +} */ +.white-box { + background-color: #ffffff; + border: 1px solid #aaa; + padding: 10pt; +} +.light-blue-box { + background-color: #6581df; +} +.green-box { + background-color: #64ac58; +} +.dark-blue-box { + background-color: #3857bd; +} +.purple-box { + background-color: #854c9e; +} +.dark-purple-box { + background-color: #553d6b; +} +.dark-green-box { + background-color: #607d4f; +} +.light-red-box { + background-color: #ee6856; +} + +.content-box-talk h2 a.talk-title { + font-size: 22pt; + color: #bf382e; + font-family: "futura-pt", sans-serif; + /* font-family: 'Nunito', sans-serif; */ + text-decoration: none; +} + +footer { + background-color: #232323; + color: #fff; +} +footer a { + color: #fff; +} +footer a:hover { + color: #e7a248; +} + +@media (min-width: 768px) { + .navbar-nav { + float:none; + margin:0 auto; + display: block; + text-align: center; + } + + .navbar-nav > li { + display: inline-block; + float:none; + } +} + +#talks-filter a:hover { + background-color: #bf382e; + color: #fff; +} + +#talk .avatar-circle-talks { + position: relative; + left: 8pt; + width: 100pt; + border-radius: 90px; + border: 1px solid #888888; + overflow: hidden; + background-color: #fff; +} + +#talk .speaker-talks { + font-size: 14pt; + color: #333333; + font-weight: 700; + display: block; + margin-left: 120pt; + margin-top: -95pt; + max-width: 80%; +} + +p.affiliation { + font-weight: normal; + font-size: 10pt; + margin-bottom: 0; + min-height: 20pt; +} + +#talk p.affiliation { + font-weight: normal; + font-size: 12pt; + min-height: 20pt; +} + +.back-link { + color: #bf382e; + text-decoration: none !important; + padding: 2pt; +} + +h1, h2, h3, h4, h5, h6 { + color: #bf382e; +} + +.grey-menu .navbar-nav li { + background-color: #ededed; +} + +.earlybird { + text-align: center; + background-color: cornsilk; +} + +.earlybird a { + color: #bf382e; + /* color: #761c7c; */ + text-decoration: none; +} + +.mentorship { + text-align: center; + background-color: #CCF1D8; +} + +.mentorship a { + color: #8D0081; + /* color: #761c7c; */ + text-decoration: none; +} + +.alert { + margin: 0%; +} + +.sponsors { overflow: auto; padding: 20pt;} +.sponsors_img_l1 { max-width: 300px; max-height: 90px; overflow: hidden; display: inline-block; } +.sponsors_img_l2 { max-width: 225px; max-height: 60px; overflow: hidden; display: inline-block; } +.sponsors_img_l3 { max-width: 150px; max-height: 40px; overflow: hidden; display: inline-block; } +.sponsors_img_l4 { max-width: 120px; max-height: 30px; overflow: hidden; display: inline-block; } + +@media screen and (max-width: 600px) { + #waving-flag{ + display: none; + visibility: hidden; + } +} + +/*Slideshow styles*/ +.slideshow-container { + max-width: 1000px; + position: relative; + margin: auto; +} + +/* Hide the images by default */ +.mySlides { + display: none; +} + +/* Next & previous buttons */ +.prev, .next { + cursor: pointer; + position: absolute; + top: 50%; + width: auto; + margin-top: -22px; + padding: 16px; + color: white; + font-weight: bold; + font-size: 18px; + transition: 0.6s ease; + border-radius: 0 3px 3px 0; + user-select: none; +} + +/* Position the "next button" to the right */ +.next { + right: 0; + border-radius: 3px 0 0 3px; +} + +/* On hover, add a black background color with a little bit see-through */ +.prev:hover, .next:hover { + background-color: rgba(0,0,0,0.8); +} + +/* Caption text */ +.text { + color: #f2f2f2; + font-size: 15px; + padding: 8px 12px; + position: absolute; + bottom: 8px; + width: 100%; + text-align: center; +} + +/* Number text (1/3 etc) */ +.numbertext { + color: #f2f2f2; + font-size: 12px; + padding: 8px 12px; + position: absolute; + top: 0; +} + +/* The dots/bullets/indicators */ +.dot { + cursor: pointer; + height: 15px; + width: 15px; + margin: 0 2px; + background-color: #bbb; + border-radius: 50%; + display: inline-block; + transition: background-color 0.6s ease; +} + +.active, .dot:hover { + background-color: #717171; +} + +/* Fading animation */ +.fade { + -webkit-animation-name: fade; + -webkit-animation-duration: 1.5s; + animation-name: fade; + animation-duration: 1.5s; +} + +@-webkit-keyframes fade { + from {opacity: .4} + to {opacity: 1} +} + +@keyframes fade { + from {opacity: .4} + to {opacity: 1} +} + +li p { margin: 0.2em; } + +.content-box-talk {color: #fff;} + +img { + max-width: 100%; + max-height: 100%; +} + +.social-media { + display: flex; + flex-flow: row wrap; + justify-content: center; + text-align: center; +} + +.social-media-button { + margin: 16px; +} diff --git a/previews/PR609/css/typescale.css b/previews/PR609/css/typescale.css new file mode 100644 index 000000000..d0d6cf23b --- /dev/null +++ b/previews/PR609/css/typescale.css @@ -0,0 +1,47 @@ + + +p, blockquote, pre, ul, ol { + line-height: 1.75; + margin-bottom: 24px; +} +blockquote { + padding-right: 2em; + padding-left: 2em; +} + +strong, .u-bold { + font-weight: bold; +} + +ul { + padding-left: 2em; + margin-bottom: 16px; +} + + +html,body { + font-family: 'Noto Sans', sans-serif; + font-weight: 400; + font-size: 16px; + line-height: 32px; +} + +.u-body-extra-small { font-size: 14px; line-height:24px } +.u-body-small { font-size: 16px; line-height:24px } +.u-body-regular { font-size: 16px; line-height:32px } +.u-body-medium { font-size: 18px; line-height:30px } +.u-body-large { font-size: 20px; line-height:34px } + +.u-highlight-extra-large { font-size: 26px; line-height:38px } +.u-highlight-large { font-size: 24px; line-height:36px } +.u-highlight-medium { font-size: 22px; line-height:34px } +.u-highlight-small { font-size: 18px; line-height:28px } + +.u-title-extra-large { font-size: 100px; line-height: 128px } +.u-title-large { font-size: 52px; line-height: 64px } +.u-title-medium { font-size: 36px; line-height:44px } +.u-title-regular { font-size: 34px; line-height:42px } +.u-title-small { font-size: 28px; line-height:34px } +.u-title-extra-small { font-size: 18px; line-height:24px } + +.u-subline { font-size: 12px; line-height:24px } diff --git a/previews/PR609/css/util.css b/previews/PR609/css/util.css new file mode 100644 index 000000000..0d6f808a9 --- /dev/null +++ b/previews/PR609/css/util.css @@ -0,0 +1,186 @@ +.u-border-bottom { + border-bottom: 1px solid #bbb; +} + +.u-uppercase { + text-transform: uppercase; +} + +.u-center { + margin: 0 auto !important; +} + +.u-space-around { + justify-content: space-around; +} + +.u-space-between { + justify-content: space-between; +} +.u-relative { + position: relative; +} + +.u-flex { + display: flex; +} + +.u-flex-grow { + flex-grow: 1.0; +} + +.u-hbox { + display: flex; + flex-direction: row; + flex-flow: row wrap; +} + +.u-vbox { + display: flex; + flex-direction: column; +} + +.u-half-width { + width: 45%; + margin-right: 2em; +} +.u-items-end { + align-items: flex-end; +} + +.u-justify-end { + justify-content: flex-end; +} +.u-items-center { + align-items: center; +} +.u-items-stretch { + align-items: stretch; +} + +.u-items-start { + align-items: flex-start; +} +.u-justify-center { + justify-content: center; +} +.u-justify-space-between { + justify-content: space-between; +} + +.u-hskip-half { width: 0.5rem; height:0; } +.u-hskip { width: 1rem; height:0; } +.u-hskip-2 { width: 2rem; height:0; } +.u-hskip-3 { width: 3rem; height:0; } +.u-vskip-half { height: 0.5rem; width:0; } +.u-vskip { height: 1rem; width:0; } +.u-vskip-2 { height: 2rem; width:0; } +.u-vskip-3 { height: 3rem; width:0; } + +.u-button { + color: #fff; + padding: 0.333em 1em; + outline: none; + border-radius: 4px; + min-width: 128px; + text-align: center; + background: #272822; +} +.u-button:hover { + background: #555; + color: #fff; +} + +.u-input { + border: none; + color: #444; + padding: 0.333em 1em; + border-radius: 4px; + min-width: 128px; + outline:none; +} + +.u-regular { + font-weight: 400; +} + +.u-extra-light { + font-weight: 200; +} +.u-thin { + font-weight: 300; +} + +.u-text-center { + text-align: center; +} + +.u-text-right { + text-align: right; +} + +.u-display-none { + display: none; +} + +.u-bold { + font-weight: bold; +} +.u-italic { + font-style: italic; +} + +.u-gray-3 { + color: #333; +} + +.u-bordered { + border: 1px solid #888; +} + +.u-flip { + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; +} + +.u-hline { + height:0; + border-bottom: 1px solid #fff; + width: 100%; +} + +.u-vline { + width:0; + border-right: 1px solid #fff; + align-self: stretch; +} +.u-self-stretch { + align-self: stretch; +} + +.u-self-end { + align-self: flex-end; +} + +.u-fit-background { + background-size: cover; + -moz-background-size: cover; + background-repeat: no-repeat; + background-position: center center; +} + +.u-relative { + position: relative; +} + +.u-bottom { + position: absolute; + bottom: 0; +} +.u-zero-margins { + margin: 0 !important; +} diff --git a/previews/PR609/index.html b/previews/PR609/index.html new file mode 100644 index 000000000..cf064cc70 --- /dev/null +++ b/previews/PR609/index.html @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR609/libs/bootstrap.bundle.min.js b/previews/PR609/libs/bootstrap.bundle.min.js new file mode 100644 index 000000000..66965ca52 --- /dev/null +++ b/previews/PR609/libs/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery)}(this,(function(t,e){"use strict";function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=n(e);function o(t,e){for(var n=0;n=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};l.jQueryDetection(),i.default.fn.emulateTransitionEnd=s,i.default.event.special[l.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(i.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var u="alert",f=i.default.fn[u],d=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){i.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=l.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=i.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=i.default.Event("close.bs.alert");return i.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(i.default(t).removeClass("show"),i.default(t).hasClass("fade")){var n=l.getTransitionDurationFromElement(t);i.default(t).one(l.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){i.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.alert");o||(o=new t(this),n.data("bs.alert",o)),"close"===e&&o[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();i.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',d._handleDismiss(new d)),i.default.fn[u]=d._jQueryInterface,i.default.fn[u].Constructor=d,i.default.fn[u].noConflict=function(){return i.default.fn[u]=f,d._jQueryInterface};var c=i.default.fn.button,h=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=i.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var o=this._element.querySelector('input:not([type="hidden"])');if(o){if("radio"===o.type)if(o.checked&&this._element.classList.contains("active"))t=!1;else{var r=n.querySelector(".active");r&&i.default(r).removeClass("active")}t&&("checkbox"!==o.type&&"radio"!==o.type||(o.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||i.default(o).trigger("change")),o.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&i.default(this._element).toggleClass("active"))},e.dispose=function(){i.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var o=i.default(this),r=o.data("bs.button");r||(r=new t(this),o.data("bs.button",r)),r.shouldAvoidTriggerChange=n,"toggle"===e&&r[e]()}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();i.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(i.default(e).hasClass("btn")||(e=i.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var o=e.querySelector('input:not([type="hidden"])');if(o&&(o.hasAttribute("disabled")||o.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||h._jQueryInterface.call(i.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=i.default(t.target).closest(".btn")[0];i.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),i.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=i.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(l.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)i.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var o=t>n?"next":"prev";this._slide(o,this._items[t])}},e.dispose=function(){i.default(this._element).off(m),i.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=a({},v,t),l.typeCheckConfig(p,t,_),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&i.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&i.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&b[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&b[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};i.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(i.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),i.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(i.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),i.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),i.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var a=(o+("prev"===t?-1:1))%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),o=this._getItemIndex(this._element.querySelector(".active.carousel-item")),r=i.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:o,to:n});return i.default(this._element).trigger(r),r},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));i.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&i.default(n).addClass("active")}},e._slide=function(t,e){var n,o,r,a=this,s=this._element.querySelector(".active.carousel-item"),u=this._getItemIndex(s),f=e||s&&this._getItemByDirection(t,s),d=this._getItemIndex(f),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",o="carousel-item-next",r="left"):(n="carousel-item-right",o="carousel-item-prev",r="right"),f&&i.default(f).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(f,r).isDefaultPrevented()&&s&&f){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(f);var h=i.default.Event("slid.bs.carousel",{relatedTarget:f,direction:r,from:u,to:d});if(i.default(this._element).hasClass("slide")){i.default(f).addClass(o),l.reflow(f),i.default(s).addClass(n),i.default(f).addClass(n);var p=parseInt(f.getAttribute("data-interval"),10);p?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=p):this._config.interval=this._config.defaultInterval||this._config.interval;var m=l.getTransitionDurationFromElement(s);i.default(s).one(l.TRANSITION_END,(function(){i.default(f).removeClass(n+" "+o).addClass("active"),i.default(s).removeClass("active "+o+" "+n),a._isSliding=!1,setTimeout((function(){return i.default(a._element).trigger(h)}),0)})).emulateTransitionEnd(m)}else i.default(s).removeClass("active"),i.default(f).addClass("active"),this._isSliding=!1,i.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data("bs.carousel"),o=a({},v,i.default(this).data());"object"==typeof e&&(o=a({},o,e));var r="string"==typeof e?e:o.slide;if(n||(n=new t(this,o),i.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if("undefined"==typeof n[r])throw new TypeError('No method named "'+r+'"');n[r]()}else o.interval&&o.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=l.getSelectorFromElement(this);if(n){var o=i.default(n)[0];if(o&&i.default(o).hasClass("carousel")){var r=a({},i.default(o).data(),i.default(this).data()),s=this.getAttribute("data-slide-to");s&&(r.interval=!1),t._jQueryInterface.call(i.default(o),r),s&&i.default(o).data("bs.carousel").to(s),e.preventDefault()}}},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return v}}]),t}();i.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",y._dataApiClickHandler),i.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e0&&(this._selector=a,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){i.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,o=this;if(!this._isTransitioning&&!i.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof o._config.parent?t.getAttribute("data-parent")===o._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=i.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var r=i.default.Event("show.bs.collapse");if(i.default(this._element).trigger(r),!r.isDefaultPrevented()){e&&(t._jQueryInterface.call(i.default(e).not(this._selector),"hide"),n||i.default(e).data("bs.collapse",null));var a=this._getDimension();i.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[a]=0,this._triggerArray.length&&i.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var s="scroll"+(a[0].toUpperCase()+a.slice(1)),u=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,(function(){i.default(o._element).removeClass("collapsing").addClass("collapse show"),o._element.style[a]="",o.setTransitioning(!1),i.default(o._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(u),this._element.style[a]=this._element[s]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&i.default(this._element).hasClass("show")){var e=i.default.Event("hide.bs.collapse");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",l.reflow(this._element),i.default(this._element).addClass("collapsing").removeClass("collapse show");var o=this._triggerArray.length;if(o>0)for(var r=0;r=0)return 1;return 0}();var k=D&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),N))}};function A(t){return t&&"[object Function]"==={}.toString.call(t)}function I(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function O(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function x(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=I(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:x(O(t))}function j(t){return t&&t.referenceNode?t.referenceNode:t}var L=D&&!(!window.MSInputMethodContext||!document.documentMode),P=D&&/MSIE 10/.test(navigator.userAgent);function F(t){return 11===t?L:10===t?P:L||P}function R(t){if(!t)return document.documentElement;for(var e=F(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===I(n,"position")?R(n):n:t?t.ownerDocument.documentElement:document.documentElement}function H(t){return null!==t.parentNode?H(t.parentNode):t}function M(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var a,s,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(s=(a=l).nodeName)||"HTML"!==s&&R(a.firstElementChild)!==a?R(l):l;var u=H(t);return u.host?M(u.host,e):M(t,H(e).host)}function B(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function q(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=B(e,"top"),o=B(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function Q(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function W(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],F(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function U(t){var e=t.body,n=t.documentElement,i=F(10)&&getComputedStyle(n);return{height:W("Height",e,n,i),width:W("Width",e,n,i)}}var V=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Y=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=F(10),o="HTML"===e.nodeName,r=G(t),a=G(e),s=x(t),l=I(e),u=parseFloat(l.borderTopWidth),f=parseFloat(l.borderLeftWidth);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var d=K({top:r.top-a.top-u,left:r.left-a.left-f,width:r.width,height:r.height});if(d.marginTop=0,d.marginLeft=0,!i&&o){var c=parseFloat(l.marginTop),h=parseFloat(l.marginLeft);d.top-=u-c,d.bottom-=u-c,d.left-=f-h,d.right-=f-h,d.marginTop=c,d.marginLeft=h}return(i&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(d=q(d,e)),d}function J(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=$(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),a=e?0:B(n),s=e?0:B(n,"left"),l={top:a-i.top+i.marginTop,left:s-i.left+i.marginLeft,width:o,height:r};return K(l)}function Z(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===I(t,"position"))return!0;var n=O(t);return!!n&&Z(n)}function tt(t){if(!t||!t.parentElement||F())return document.documentElement;for(var e=t.parentElement;e&&"none"===I(e,"transform");)e=e.parentElement;return e||document.documentElement}function et(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},a=o?tt(t):M(t,j(e));if("viewport"===i)r=J(a,o);else{var s=void 0;"scrollParent"===i?"BODY"===(s=x(O(e))).nodeName&&(s=t.ownerDocument.documentElement):s="window"===i?t.ownerDocument.documentElement:i;var l=$(s,a,o);if("HTML"!==s.nodeName||Z(a))r=l;else{var u=U(t.ownerDocument),f=u.height,d=u.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=d+l.left}}var c="number"==typeof(n=n||0);return r.left+=c?n:n.left||0,r.top+=c?n:n.top||0,r.right-=c?n:n.right||0,r.bottom-=c?n:n.bottom||0,r}function nt(t){return t.width*t.height}function it(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var a=et(n,i,r,o),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map((function(t){return X({key:t},s[t],{area:nt(s[t])})})).sort((function(t,e){return e.area-t.area})),u=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),f=u.length>0?u[0].key:l[0].key,d=t.split("-")[1];return f+(d?"-"+d:"")}function ot(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?tt(e):M(e,j(n));return $(n,o,i)}function rt(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function at(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function st(t,e,n){n=n.split("-")[0];var i=rt(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),a=r?"top":"left",s=r?"left":"top",l=r?"height":"width",u=r?"width":"height";return o[a]=e[a]+e[l]/2-i[l]/2,o[s]=n===s?e[s]-i[u]:e[at(s)],o}function lt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function ut(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=lt(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&A(n)&&(e.offsets.popper=K(e.offsets.popper),e.offsets.reference=K(e.offsets.reference),e=n(e,t))})),e}function ft(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=ot(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=it(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=st(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=ut(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function dt(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function ct(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=Tt.indexOf(t),i=Tt.slice(n+1).concat(Tt.slice(0,n));return e?i.reverse():i}var St="flip",Dt="clockwise",Nt="counterclockwise";function kt(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),a=t.split(/(\+|\-)/).map((function(t){return t.trim()})),s=a.indexOf(lt(a,(function(t){return-1!==t.search(/,|\s/)})));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,u=-1!==s?[a.slice(0,s).concat([a[s].split(l)[0]]),[a[s].split(l)[1]].concat(a.slice(s+1))]:[a];return(u=u.map((function(t,i){var o=(1===i?!r:r)?"height":"width",a=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],a=o[2];if(!r)return t;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=i}return K(s)[e]/100*r}if("vh"===a||"vw"===a){return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){_t(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var At={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,a=o.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",u=s?"width":"height",f={start:z({},l,r[l]),end:z({},l,r[l]+r[u]-a[u])};t.offsets.popper=X({},a,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,a=o.reference,s=i.split("-")[0],l=void 0;return l=_t(+n)?[+n,0]:kt(n,r,a,s),"left"===s?(r.top+=l[0],r.left-=l[1]):"right"===s?(r.top+=l[0],r.left+=l[1]):"top"===s?(r.left+=l[0],r.top-=l[1]):"bottom"===s&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||R(t.instance.popper);t.instance.reference===n&&(n=R(n));var i=ct("transform"),o=t.instance.popper.style,r=o.top,a=o.left,s=o[i];o.top="",o.left="",o[i]="";var l=et(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=a,o[i]=s,e.boundaries=l;var u=e.priority,f=t.offsets.popper,d={primary:function(t){var n=f[t];return f[t]l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-("right"===t?f.width:f.height))),z({},n,i)}};return u.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=X({},f,d[e](t))})),t.offsets.popper=f,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,a=-1!==["top","bottom"].indexOf(o),s=a?"right":"bottom",l=a?"left":"top",u=a?"width":"height";return n[s]r(i[s])&&(t.offsets.popper[l]=r(i[s])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!wt(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,a=r.popper,s=r.reference,l=-1!==["left","right"].indexOf(o),u=l?"height":"width",f=l?"Top":"Left",d=f.toLowerCase(),c=l?"left":"top",h=l?"bottom":"right",p=rt(i)[u];s[h]-pa[h]&&(t.offsets.popper[d]+=s[d]+p-a[h]),t.offsets.popper=K(t.offsets.popper);var m=s[d]+s[u]/2-p/2,g=I(t.instance.popper),v=parseFloat(g["margin"+f]),_=parseFloat(g["border"+f+"Width"]),b=m-t.offsets.popper[d]-v-_;return b=Math.max(Math.min(a[u]-p,b),0),t.arrowElement=i,t.offsets.arrow=(z(n={},d,Math.round(b)),z(n,c,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(dt(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=et(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=at(i),r=t.placement.split("-")[1]||"",a=[];switch(e.behavior){case St:a=[i,o];break;case Dt:a=Ct(i);break;case Nt:a=Ct(i,!0);break;default:a=e.behavior}return a.forEach((function(s,l){if(i!==s||a.length===l+1)return t;i=t.placement.split("-")[0],o=at(i);var u=t.offsets.popper,f=t.offsets.reference,d=Math.floor,c="left"===i&&d(u.right)>d(f.left)||"right"===i&&d(u.left)d(f.top)||"bottom"===i&&d(u.top)d(n.right),m=d(u.top)d(n.bottom),v="left"===i&&h||"right"===i&&p||"top"===i&&m||"bottom"===i&&g,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&h||_&&"end"===r&&p||!_&&"start"===r&&m||!_&&"end"===r&&g),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&h||!_&&"start"===r&&g||!_&&"end"===r&&m),w=b||y;(c||v||w)&&(t.flipped=!0,(c||v)&&(i=a[l+1]),w&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=X({},t.offsets.popper,st(t.instance.popper,t.offsets.reference,t.placement)),t=ut(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=r[n]-(s?o[a?"width":"height"]:0),t.placement=at(e),t.offsets.popper=K(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!wt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=lt(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};V(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=k(this.update.bind(this)),this.options=X({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(X({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=X({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return X({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&A(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Y(t,[{key:"update",value:function(){return ft.call(this)}},{key:"destroy",value:function(){return ht.call(this)}},{key:"enableEventListeners",value:function(){return gt.call(this)}},{key:"disableEventListeners",value:function(){return vt.call(this)}}]),t}();It.Utils=("undefined"!=typeof window?window:global).PopperUtils,It.placements=Et,It.Defaults=At;var Ot="dropdown",xt=i.default.fn[Ot],jt=new RegExp("38|40|27"),Lt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Pt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Ft=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!i.default(this._element).hasClass("disabled")){var e=i.default(this._menu).hasClass("show");t._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||i.default(this._element).hasClass("disabled")||i.default(this._menu).hasClass("show"))){var n={relatedTarget:this._element},o=i.default.Event("show.bs.dropdown",n),r=t._getParentFromElement(this._element);if(i.default(r).trigger(o),!o.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof It)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var a=this._element;"parent"===this._config.reference?a=r:l.isElement(this._config.reference)&&(a=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(a=this._config.reference[0])),"scrollParent"!==this._config.boundary&&i.default(r).addClass("position-static"),this._popper=new It(a,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===i.default(r).closest(".navbar-nav").length&&i.default(document.body).children().on("mouseover",null,i.default.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),i.default(this._menu).toggleClass("show"),i.default(r).toggleClass("show").trigger(i.default.Event("shown.bs.dropdown",n))}}},e.hide=function(){if(!this._element.disabled&&!i.default(this._element).hasClass("disabled")&&i.default(this._menu).hasClass("show")){var e={relatedTarget:this._element},n=i.default.Event("hide.bs.dropdown",e),o=t._getParentFromElement(this._element);i.default(o).trigger(n),n.isDefaultPrevented()||(this._popper&&this._popper.destroy(),i.default(this._menu).toggleClass("show"),i.default(o).toggleClass("show").trigger(i.default.Event("hidden.bs.dropdown",e)))}},e.dispose=function(){i.default.removeData(this._element,"bs.dropdown"),i.default(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;i.default(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=a({},this.constructor.Default,i.default(this._element).data(),t),l.typeCheckConfig(Ot,t,this.constructor.DefaultType),t},e._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(".dropdown-menu"))}return this._menu},e._getPlacement=function(){var t=i.default(this._element.parentNode),e="bottom-start";return t.hasClass("dropup")?e=i.default(this._menu).hasClass("dropdown-menu-right")?"top-end":"top-start":t.hasClass("dropright")?e="right-start":t.hasClass("dropleft")?e="left-start":i.default(this._menu).hasClass("dropdown-menu-right")&&(e="bottom-end"),e},e._detectNavbar=function(){return i.default(this._element).closest(".navbar").length>0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),a({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),i.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),o=0,r=n.length;o0&&a--,40===e.which&&adocument.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var o=l.getTransitionDurationFromElement(this._dialog);i.default(this._element).off(l.TRANSITION_END),i.default(this._element).one(l.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||i.default(t._element).one(l.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,o)})).emulateTransitionEnd(o),this._element.focus()}else this.hide()},e._showElement=function(t){var e=this,n=i.default(this._element).hasClass("fade"),o=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),i.default(this._dialog).hasClass("modal-dialog-scrollable")&&o?o.scrollTop=0:this._element.scrollTop=0,n&&l.reflow(this._element),i.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var r=i.default.Event("shown.bs.modal",{relatedTarget:t}),a=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,i.default(e._element).trigger(r)};if(n){var s=l.getTransitionDurationFromElement(this._dialog);i.default(this._dialog).one(l.TRANSITION_END,a).emulateTransitionEnd(s)}else a()},e._enforceFocus=function(){var t=this;i.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===i.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?i.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||i.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?i.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):i.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){i.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),i.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(i.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=i.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),i.default(this._backdrop).appendTo(document.body),i.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&l.reflow(this._backdrop),i.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var o=l.getTransitionDurationFromElement(this._backdrop);i.default(this._backdrop).one(l.TRANSITION_END,t).emulateTransitionEnd(o)}else if(!this._isShown&&this._backdrop){i.default(this._backdrop).removeClass("show");var r=function(){e._removeBackdrop(),t&&t()};if(i.default(this._element).hasClass("fade")){var a=l.getTransitionDurationFromElement(this._backdrop);i.default(this._backdrop).one(l.TRANSITION_END,r).emulateTransitionEnd(a)}else r()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Qt,popperConfig:null},Zt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},te=function(){function t(t,e){if("undefined"==typeof It)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=i.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(i.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),i.default.removeData(this.element,this.constructor.DATA_KEY),i.default(this.element).off(this.constructor.EVENT_KEY),i.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&i.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===i.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=i.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){i.default(this.element).trigger(e);var n=l.findShadowRoot(this.element),o=i.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!o)return;var r=this.getTipElement(),a=l.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&i.default(r).addClass("fade");var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,u=this._getAttachment(s);this.addAttachmentClass(u);var f=this._getContainer();i.default(r).data(this.constructor.DATA_KEY,this),i.default.contains(this.element.ownerDocument.documentElement,this.tip)||i.default(r).appendTo(f),i.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new It(this.element,r,this._getPopperConfig(u)),i.default(r).addClass("show"),"ontouchstart"in document.documentElement&&i.default(document.body).children().on("mouseover",null,i.default.noop);var d=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,i.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(i.default(this.tip).hasClass("fade")){var c=l.getTransitionDurationFromElement(this.tip);i.default(this.tip).one(l.TRANSITION_END,d).emulateTransitionEnd(c)}else d()}},e.hide=function(t){var e=this,n=this.getTipElement(),o=i.default.Event(this.constructor.Event.HIDE),r=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),i.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(i.default(this.element).trigger(o),!o.isDefaultPrevented()){if(i.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&i.default(document.body).children().off("mouseover",null,i.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,i.default(this.tip).hasClass("fade")){var a=l.getTransitionDurationFromElement(n);i.default(n).one(l.TRANSITION_END,r).emulateTransitionEnd(a)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(i.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),i.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Vt(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?i.default(e).parent().is(t)||t.empty().append(e):t.text(i.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:l.isElement(this.config.container)?i.default(this.config.container):i.default(document).find(this.config.container)},e._getAttachment=function(t){return $t[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)i.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;i.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},i.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=a({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),i.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=i.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==Kt.indexOf(t)&&delete e[t]})),"number"==typeof(t=a({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l.typeCheckConfig(Yt,t,this.constructor.DefaultType),t.sanitize&&(t.template=Vt(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(Xt);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(i.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tooltip"),r="object"==typeof e&&e;if((o||!/dispose|hide/.test(e))&&(o||(o=new t(this,r),n.data("bs.tooltip",o)),"string"==typeof e)){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return Jt}},{key:"NAME",get:function(){return Yt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Zt}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Gt}}]),t}();i.default.fn[Yt]=te._jQueryInterface,i.default.fn[Yt].Constructor=te,i.default.fn[Yt].noConflict=function(){return i.default.fn[Yt]=zt,te._jQueryInterface};var ee="popover",ne=i.default.fn[ee],ie=new RegExp("(^|\\s)bs-popover\\S+","g"),oe=a({},te.Default,{placement:"right",trigger:"click",content:"",template:''}),re=a({},te.DefaultType,{content:"(string|element|function)"}),ae={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},se=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=o.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},a.setContent=function(){var t=i.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(ie);null!==e&&e.length>0&&t.removeClass(e.join(""))},o._jQueryInterface=function(t){return this.each((function(){var e=i.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),i.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},r(o,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return oe}},{key:"NAME",get:function(){return ee}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return ae}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return re}}]),o}(te);i.default.fn[ee]=se._jQueryInterface,i.default.fn[ee].Constructor=se,i.default.fn[ee].noConflict=function(){return i.default.fn[ee]=ne,se._jQueryInterface};var le="scrollspy",ue=i.default.fn[le],fe={offset:10,method:"auto",target:""},de={offset:"number",method:"string",target:"(string|element)"},ce=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,i.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,o="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,r=l.getSelectorFromElement(t);if(r&&(e=document.querySelector(r)),e){var a=e.getBoundingClientRect();if(a.width||a.height)return[i.default(e)[n]().top+o,r]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){i.default.removeData(this._element,"bs.scrollspy"),i.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=a({},fe,"object"==typeof t&&t?t:{})).target&&l.isElement(t.target)){var e=i.default(t.target).attr("id");e||(e=l.getUID(le),i.default(t.target).attr("id",e)),t.target="#"+e}return l.typeCheckConfig(le,t,de),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=i.default.makeArray(i.default(o).find(a)))[n.length-1]}var s=i.default.Event("hide.bs.tab",{relatedTarget:this._element}),u=i.default.Event("show.bs.tab",{relatedTarget:n});if(n&&i.default(n).trigger(s),i.default(this._element).trigger(u),!u.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(e=document.querySelector(r)),this._activate(this._element,o);var f=function(){var e=i.default.Event("hidden.bs.tab",{relatedTarget:t._element}),o=i.default.Event("shown.bs.tab",{relatedTarget:n});i.default(n).trigger(e),i.default(t._element).trigger(o)};e?this._activate(e,e.parentNode,f):f()}}},e.dispose=function(){i.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var o=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?i.default(e).children(".active"):i.default(e).find("> li > .active"))[0],a=n&&r&&i.default(r).hasClass("fade"),s=function(){return o._transitionComplete(t,r,n)};if(r&&a){var u=l.getTransitionDurationFromElement(r);i.default(r).removeClass("show").one(l.TRANSITION_END,s).emulateTransitionEnd(u)}else s()},e._transitionComplete=function(t,e,n){if(e){i.default(e).removeClass("active");var o=i.default(e.parentNode).find("> .dropdown-menu .active")[0];o&&i.default(o).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(i.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),l.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&i.default(t.parentNode).hasClass("dropdown-menu")){var r=i.default(t).closest(".dropdown")[0];if(r){var a=[].slice.call(r.querySelectorAll(".dropdown-toggle"));i.default(a).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tab");if(o||(o=new t(this),n.data("bs.tab",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();i.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),pe._jQueryInterface.call(i.default(this),"show")})),i.default.fn.tab=pe._jQueryInterface,i.default.fn.tab.Constructor=pe,i.default.fn.tab.noConflict=function(){return i.default.fn.tab=he,pe._jQueryInterface};var me=i.default.fn.toast,ge={animation:"boolean",autohide:"boolean",delay:"number"},ve={animation:!0,autohide:!0,delay:500},_e=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=i.default.Event("show.bs.toast");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),i.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),l.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,n).emulateTransitionEnd(o)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=i.default.Event("hide.bs.toast");i.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),i.default(this._element).off("click.dismiss.bs.toast"),i.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=a({},ve,i.default(this._element).data(),"object"==typeof t&&t?t:{}),l.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;i.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),i.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.toast");if(o||(o=new t(this,"object"==typeof e&&e),n.data("bs.toast",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e](this)}}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"DefaultType",get:function(){return ge}},{key:"Default",get:function(){return ve}}]),t}();i.default.fn.toast=_e._jQueryInterface,i.default.fn.toast.Constructor=_e,i.default.fn.toast.noConflict=function(){return i.default.fn.toast=me,_e._jQueryInterface},t.Alert=d,t.Button=h,t.Carousel=y,t.Collapse=S,t.Dropdown=Ft,t.Modal=Bt,t.Popover=se,t.Scrollspy=ce,t.Tab=pe,t.Toast=_e,t.Tooltip=te,t.Util=l,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=bootstrap.bundle.min.js.map diff --git a/previews/PR609/libs/jquery.sticky.js b/previews/PR609/libs/jquery.sticky.js new file mode 100644 index 000000000..fe433c515 --- /dev/null +++ b/previews/PR609/libs/jquery.sticky.js @@ -0,0 +1,288 @@ +// Sticky Plugin v1.0.4 for jQuery +// ============= +// Author: Anthony Garand +// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk) +// Improvements by Leonardo C. Daronco (daronco) +// Created: 02/14/2011 +// Date: 07/20/2015 +// Website: http://stickyjs.com/ +// Description: Makes an element on the page stick on the screen as you scroll +// It will only set the 'top' and 'position' of your element, you +// might need to adjust the width in some cases. + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + var slice = Array.prototype.slice; // save ref to original slice() + var splice = Array.prototype.splice; // save ref to original slice() + + var defaults = { + topSpacing: 0, + bottomSpacing: 0, + className: 'is-sticky', + wrapperClassName: 'sticky-wrapper', + center: false, + getWidthFrom: '', + widthFromWrapper: true, // works only when .getWidthFrom is empty + responsiveWidth: false, + zIndex: 'inherit' + }, + $window = $(window), + $document = $(document), + sticked = [], + windowHeight = $window.height(), + scroller = function() { + var scrollTop = $window.scrollTop(), + documentHeight = $document.height(), + dwh = documentHeight - windowHeight, + extra = (scrollTop > dwh) ? dwh - scrollTop : 0; + + for (var i = 0, l = sticked.length; i < l; i++) { + var s = sticked[i], + elementTop = s.stickyWrapper.offset().top, + etse = elementTop - s.topSpacing - extra; + + //update height in case of dynamic content + s.stickyWrapper.css('height', s.stickyElement.outerHeight()); + + if (scrollTop <= etse) { + if (s.currentTop !== null) { + s.stickyElement + .css({ + 'width': '', + 'position': '', + 'top': '', + 'z-index': '' + }); + s.stickyElement.parent().removeClass(s.className); + s.stickyElement.trigger('sticky-end', [s]); + s.currentTop = null; + } + } + else { + var newTop = documentHeight - s.stickyElement.outerHeight() + - s.topSpacing - s.bottomSpacing - scrollTop - extra; + if (newTop < 0) { + newTop = newTop + s.topSpacing; + } else { + newTop = s.topSpacing; + } + if (s.currentTop !== newTop) { + var newWidth; + if (s.getWidthFrom) { + padding = s.stickyElement.innerWidth() - s.stickyElement.width(); + newWidth = $(s.getWidthFrom).width() - padding || null; + } else if (s.widthFromWrapper) { + newWidth = s.stickyWrapper.width(); + } + if (newWidth == null) { + newWidth = s.stickyElement.width(); + } + s.stickyElement + .css('width', newWidth) + .css('position', 'fixed') + .css('top', newTop) + .css('z-index', s.zIndex); + + s.stickyElement.parent().addClass(s.className); + + if (s.currentTop === null) { + s.stickyElement.trigger('sticky-start', [s]); + } else { + // sticky is started but it have to be repositioned + s.stickyElement.trigger('sticky-update', [s]); + } + + if (s.currentTop === s.topSpacing && s.currentTop > newTop || s.currentTop === null && newTop < s.topSpacing) { + // just reached bottom || just started to stick but bottom is already reached + s.stickyElement.trigger('sticky-bottom-reached', [s]); + } else if(s.currentTop !== null && newTop === s.topSpacing && s.currentTop < newTop) { + // sticky is started && sticked at topSpacing && overflowing from top just finished + s.stickyElement.trigger('sticky-bottom-unreached', [s]); + } + + s.currentTop = newTop; + } + + // Check if sticky has reached end of container and stop sticking + var stickyWrapperContainer = s.stickyWrapper.parent(); + var unstick = (s.stickyElement.offset().top + s.stickyElement.outerHeight() >= stickyWrapperContainer.offset().top + stickyWrapperContainer.outerHeight()) && (s.stickyElement.offset().top <= s.topSpacing); + + if( unstick ) { + s.stickyElement + .css('position', 'absolute') + .css('top', '') + .css('bottom', 0) + .css('z-index', ''); + } else { + s.stickyElement + .css('position', 'fixed') + .css('top', newTop) + .css('bottom', '') + .css('z-index', s.zIndex); + } + } + } + }, + resizer = function() { + windowHeight = $window.height(); + + for (var i = 0, l = sticked.length; i < l; i++) { + var s = sticked[i]; + var newWidth = null; + if (s.getWidthFrom) { + if (s.responsiveWidth) { + newWidth = $(s.getWidthFrom).width(); + } + } else if(s.widthFromWrapper) { + newWidth = s.stickyWrapper.width(); + } + if (newWidth != null) { + s.stickyElement.css('width', newWidth); + } + } + }, + methods = { + init: function(options) { + return this.each(function() { + var o = $.extend({}, defaults, options); + var stickyElement = $(this); + + var stickyId = stickyElement.attr('id'); + var wrapperId = stickyId ? stickyId + '-' + defaults.wrapperClassName : defaults.wrapperClassName; + var wrapper = $('
') + .attr('id', wrapperId) + .addClass(o.wrapperClassName); + + stickyElement.wrapAll(function() { + if ($(this).parent("#" + wrapperId).length == 0) { + return wrapper; + } +}); + + var stickyWrapper = stickyElement.parent(); + + if (o.center) { + stickyWrapper.css({width:stickyElement.outerWidth(),marginLeft:"auto",marginRight:"auto"}); + } + + if (stickyElement.css("float") === "right") { + stickyElement.css({"float":"none"}).parent().css({"float":"right"}); + } + + o.stickyElement = stickyElement; + o.stickyWrapper = stickyWrapper; + o.currentTop = null; + + sticked.push(o); + + methods.setWrapperHeight(this); + methods.setupChangeListeners(this); + }); + }, + + setWrapperHeight: function(stickyElement) { + var element = $(stickyElement); + var stickyWrapper = element.parent(); + if (stickyWrapper) { + stickyWrapper.css('height', element.outerHeight()); + } + }, + + setupChangeListeners: function(stickyElement) { + if (window.MutationObserver) { + var mutationObserver = new window.MutationObserver(function(mutations) { + if (mutations[0].addedNodes.length || mutations[0].removedNodes.length) { + methods.setWrapperHeight(stickyElement); + } + }); + mutationObserver.observe(stickyElement, {subtree: true, childList: true}); + } else { + if (window.addEventListener) { + stickyElement.addEventListener('DOMNodeInserted', function() { + methods.setWrapperHeight(stickyElement); + }, false); + stickyElement.addEventListener('DOMNodeRemoved', function() { + methods.setWrapperHeight(stickyElement); + }, false); + } else if (window.attachEvent) { + stickyElement.attachEvent('onDOMNodeInserted', function() { + methods.setWrapperHeight(stickyElement); + }); + stickyElement.attachEvent('onDOMNodeRemoved', function() { + methods.setWrapperHeight(stickyElement); + }); + } + } + }, + update: scroller, + unstick: function(options) { + return this.each(function() { + var that = this; + var unstickyElement = $(that); + + var removeIdx = -1; + var i = sticked.length; + while (i-- > 0) { + if (sticked[i].stickyElement.get(0) === that) { + splice.call(sticked,i,1); + removeIdx = i; + } + } + if(removeIdx !== -1) { + unstickyElement.unwrap(); + unstickyElement + .css({ + 'width': '', + 'position': '', + 'top': '', + 'float': '', + 'z-index': '' + }) + ; + } + }); + } + }; + + // should be more efficient than using $window.scroll(scroller) and $window.resize(resizer): + if (window.addEventListener) { + window.addEventListener('scroll', scroller, false); + window.addEventListener('resize', resizer, false); + } else if (window.attachEvent) { + window.attachEvent('onscroll', scroller); + window.attachEvent('onresize', resizer); + } + + $.fn.sticky = function(method) { + if (methods[method]) { + return methods[method].apply(this, slice.call(arguments, 1)); + } else if (typeof method === 'object' || !method ) { + return methods.init.apply( this, arguments ); + } else { + $.error('Method ' + method + ' does not exist on jQuery.sticky'); + } + }; + + $.fn.unstick = function(method) { + if (methods[method]) { + return methods[method].apply(this, slice.call(arguments, 1)); + } else if (typeof method === 'object' || !method ) { + return methods.unstick.apply( this, arguments ); + } else { + $.error('Method ' + method + ' does not exist on jQuery.sticky'); + } + }; + $(function() { + setTimeout(scroller, 0); + }); +})); diff --git a/previews/PR609/libs/juliacon.js b/previews/PR609/libs/juliacon.js new file mode 100644 index 000000000..703fed2ec --- /dev/null +++ b/previews/PR609/libs/juliacon.js @@ -0,0 +1,4 @@ +$(document).ready(function(){ + $('.main-menu').sticky({ "zIndex": 10000 }); +}); + diff --git a/previews/PR609/local/eindhoven2023/cfp/index.html b/previews/PR609/local/eindhoven2023/cfp/index.html new file mode 100644 index 000000000..dc22b0174 --- /dev/null +++ b/previews/PR609/local/eindhoven2023/cfp/index.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Call for Talks: JuliaCon Local Eindhoven 2023 + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + + +

Call for Talks: JuliaCon Local Eindhoven 2023

+

Do you have a fascinating topic related to Julia that you're passionate about? We invite you to submit your talk proposals for JuliaCon Local Eindhoven 2023! This is your chance to share your knowledge, insights, and experiences with the vibrant Julia community.

+

Proposal Deadline | November 1, 2023

+ +
+ +
+

The CFP is closed

+
+ +
+ +
+

What We're Looking For

+

We welcome talk submissions on a wide range of topics, including, but not limited to:

+
    +
  • Julia language features and advancements

    +
  • +
  • Julia in scientific computing and data science

    +
  • +
  • Julia for machine learning and artificial intelligence

    +
  • +
  • Julia for web development and deployment

    +
  • +
  • Julia for parallel and distributed computing

    +
  • +
  • Julia packages and ecosystem

    +
  • +
  • Industry use cases and success stories

    +
  • +
  • Julia community projects and collaborations

    +
  • +
  • Teaching and learning Julia

    +
  • +
  • Julia for interdisciplinary research

    +
  • +
+

We encourage talks that cater to different skill levels, from beginner-friendly introductions to advanced technical discussions. If you have a unique perspective, an innovative approach, or a compelling story related to Julia, we want to hear from you!

+

How to Submit

+

Please use the Talk Submission Form to submit your talk proposal. All talks should be 30 minutes long including a Q&A session (at about 5 minutes). Make sure to provide all the requested information accurately and completely.

+
    +
  • Title: Provide a clear and concise title for your talk.

    +
  • +
  • Abstract: Write a brief abstract summarizing the content of your talk.

    +
  • +
+

Multiple talk submissions are welcome if you have more than one compelling topic to share. Please note that JuliaCon Local Eindhoven 2023 is a joint conference with PyData, providing a unique opportunity to submit your talks to both events and engage with a diverse community of Julia and Python enthusiasts.

+

+

If you have any questions or need further clarification, please don't hesitate to reach out to us. You can contact the JuliaCon Local Eindhoven 2023 organizing team at eindhoven@julialang.org or at the dedicated JuliaLang Eindhoven Discord channel, and we will be happy to assist you. We appreciate your interest in sharing your knowledge and contributing to the success of JuliaCon Local Eindhoven 2023. We look forward to receiving your exciting talk proposals and creating an exceptional conference program together! We look forward to reading your proposal and appreciate you being a part of the community!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/local/eindhoven2023/coc/index.html b/previews/PR609/local/eindhoven2023/coc/index.html new file mode 100644 index 000000000..c4c436e87 --- /dev/null +++ b/previews/PR609/local/eindhoven2023/coc/index.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Code of Conduct + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + + +

Code of Conduct

+

JuliaCon is committed to providing a positive and inclusive conference experience for all attendees. We believe in fostering a respectful and considerate environment where everyone feels welcome, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or national and ethnic origin.

+

We do not tolerate harassment of conference participants in any form. Harassment includes offensive verbal comments, sexual images in public spaces, sustained disruption of talks or events, unwelcome sexual attention, advocating or encouraging any form of harassment. In general, we ask all participants to abide by the Julia Community Standards.

+

Conference participants who violate these standards may be expelled from the conference at the discretion of the conference organizers. We expect all participants to comply immediately if asked to stop any harassing behavior.

+

Enforcement

+

If a participant engages in harassing behavior, the event organizers retain the right to take any necessary actions to maintain a welcoming environment for all attendees. This may include warning the offender or expulsion from the conference. Event organizers may also take action to address any disruptions or behaviors that create a hostile environment for participants. These rules apply to all platforms used for conference interactions, and we encourage participants to follow them even outside of event activities.

+

Reporting

+

If you experience or witness a violation of the Code of Conduct or would like to discuss an incident that has made you uncomfortable, please contact one of the Discord admins or organizers, or use the email at eindhoven@julialang.org. They may involve other event staff to ensure that your report is handled appropriately. We want to assure you that you will not be asked to confront anyone, and we will not disclose your identity without your permission.

+

Note that this CoC is under the (CC BY-SA 4.0) license

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/local/eindhoven2023/committee/index.html b/previews/PR609/local/eindhoven2023/committee/index.html new file mode 100644 index 000000000..8374a193b --- /dev/null +++ b/previews/PR609/local/eindhoven2023/committee/index.html @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Volunteer at JuliaCon Local Eindhoven 2023 + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + + +

Volunteer at JuliaCon Local Eindhoven 2023

+

Be part of the exciting JuliaCon Local Eindhoven 2023 experience by volunteering your time and skills! We are actively seeking enthusiastic individuals like you who are passionate about Julia and want to contribute to the success of the conference. No matter your background or level of expertise, there are various opportunities available for you to get involved and make a meaningful impact.

+

Why Volunteer?

+

Volunteering at JuliaCon Local Eindhoven 2023 is an excellent opportunity to connect with the vibrant Julia community, meet like-minded individuals, and gain valuable experience in event organization. By joining our volunteer team, you'll have a chance to contribute to the smooth running of the conference, assist with various tasks, and help create a memorable experience for all attendees.

+

How to Get Involved

+

If you're interested in volunteering at JuliaCon Local Eindhoven 2023, we would love to hear from you! Please email us at eindhoven@julialang.org and let us know that you're interested in volunteering. We will provide you with further information about available volunteer roles and responsibilities. We are actively looking for help:

+
    +
  • volunteers during the day

    +
  • +
  • event organizers

    +
  • +
  • social media addicts

    +
  • +
  • technical reviewers

    +
  • +
  • networking bees

    +
  • +
  • partnership

    +
  • +
+

What Can Event Volunteers Do?

+

Volunteers play a crucial role in various aspects of the conference, including:

+
    +
  • Assisting with on-site registration and check-in

    +
  • +
  • Helping with session room setup and AV equipment

    +
  • +
  • Supporting speakers and presenters

    +
  • +
  • Guiding attendees and providing directions

    +
  • +
  • Assisting with social events and networking activities

    +
  • +
  • Contributing to the overall smooth operation of the conference

    +
  • +
+

We appreciate the time and effort our volunteers contribute, and we will ensure that your experience as a volunteer is rewarding and fulfilling.

+

Join the JuliaCon Volunteer Team Today!

+

Don't miss this chance to be part of JuliaCon Local Eindhoven 2023 success. Whether you're a seasoned Julia expert or just starting your journey, your contribution as a volunteer is highly valued. Help us make JuliaCon an exceptional event for the entire community.
To express your interest in volunteering, please reach us at the dedicated Discord JuliaLang Eindhoven or join our LinkedIn page. We can't wait to welcome you to the JuliaCon Local Eindhoven 2023 volunteer team and embark on this exciting journey together!

+

JuliaCon Local Eindhoven 2023 Organizing Committee

+ +
+
+ + + +
+ JuliaLang Eindhoven +

+ Embracing Change +

+

+ This is a place where people who are passionate about Julia the programming language can come together and share experiences in the Eindhoven region. No sales, no marketing, no recruiting, just technical people sharing how they solve technical problems with Julia. +

+
+
+
+ + +
+
+ + + +
+ Gareth Thomas +

+ Co-Founder at VersionBay +

+

+ Gareth Thomas is a Co-Founder of VersionBay, a visionary leader dedicated to helping companies optimize their software stacks. With a strong focus on Business Development, Sales, and Marketing, Gareth drives the growth and success of VersionBay. His unwavering passion for technology is fueled by a constant stream of innovative ideas and forward-thinking. +

+
+
+
+ + +
+
+ + + +
+ Matthijs Cox +

+ Metrology Architect at ASML +

+

+ After more than a decade of experience in science and software development, I know the struggles of uniting these fields. I now want to grow a community of like-minded scientific coders in the Eindhoven region and beyond, to help each other with our deep knowledge of scientific computing. +

+
+
+
+ + +
+
+ + + +
+ Dmitry Bagaev +

+ PhD candidate, co-founder at LazyDynamics +

+

+ My PhD journey has been one big Julia adventure! From unraveling the mysteries of algorithms to creating elegant code, Julia has been my trusty companion all the way. + And when it comes to the Julia community, we're not just growing; we're exponentiating faster than an optimized algorithm! +

+
+
+
+ + +
+
+ + + +
+ Jorge Vieyra +

+ Senior Design Engineer at ASML +

+

+ After trying every programming language on the planet, I believe Julia is the least bad of them all. So I have decided to use Julia for all my computational work. That's why I am committed to helping the Julia technology and community grow. +

+
+
+
+ + +
+
+ + + +
+ Tom Lemmens +

+ Mathware engineer at Sioux Technologies +

+
+
+
+ + +
+
+ + + +
+ Nicholas (J.) Shindler +

+ Software Developer +

+
+
+
+ + +
+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/local/eindhoven2023/diversity/index.html b/previews/PR609/local/eindhoven2023/diversity/index.html new file mode 100644 index 000000000..ec35b78cb --- /dev/null +++ b/previews/PR609/local/eindhoven2023/diversity/index.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Diversity Scholarship + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + + +

Diversity Scholarship

+

For JuliaCon Local Eindhoven 2023, we are offering scholarship opportunities, including networking events with our sponsoring companies, to individuals from underrepresented groups who might otherwise face barriers to attending the conference.

+

One of our primary objectives at JuliaCon Local Eindhoven 2023 is to promote awareness and enthusiasm for opportunities in software engineering and data analytics among underrepresented groups. To enhance diversity in the field of scientific computing, our outreach program spans a range of activities, from organizing workshops that introduce programming to young women to actively encouraging diversity among our conference speakers.

+
    +
  • Please note that the scholarships do not cover travel and accommodation expenses; they include only a full day conference pass.

    +
  • +
+

Timeline

+
    +
  • November 25th: Application deadline

    +
  • +
  • November 27th: Award letters will be sent to successful applicants

    +
  • +
+

For further information, please feel free to reach out to us at eindhoven@julialang.org.

+ + +
+ +

Diversity & Inclusion

+

Our dedication to the Julia community is to establish an inclusive and respectful conference environment that encourages the active participation of individuals from all backgrounds. We embrace a diverse audience to promote more profound discussions and cultivate a more robust community.

+

Diversity and Inclusion (D&I) touches every aspect of the conference, and we have various initiatives to promote diversity and inclusivity at JuliaCon Local Eindhoven 2023. Below are some examples:

+

What we are doing:

+ +

What you can do:

+
    +
  • Engage and participate in various ways: review talk, tutorial, poster, and sprint proposals; submit talk, tutorial, poster, and sprint proposals; volunteer; attend.

    +
  • +
  • Share our information with affinity groups.

    +
  • +
  • Reach out to us with any accommodation needs.

    +
  • +
  • Share your suggestions with us.

    +
  • +
+

What speakers can do:

+
    +
  • Repeat questions asked by an audience member in chat

    +
  • +
  • Use color-blind accessible palettes in proposals, presentations and posters

    +
  • +
+

What we all can do:

+
    +
  • Adhere to our Code of Conduct and promptly report any issues.

    +
  • +
  • Employ inclusive language.

    +
  • +
  • Embrace the PacMan Rule: include others in the discussion and leave space open in the circle for others to join.

    +
  • +
  • We invite you to share any thoughts and suggestions related to diversity by writing to eindhoven@julialang.org

    +
  • +
+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/local/eindhoven2023/index.html b/previews/PR609/local/eindhoven2023/index.html new file mode 100644 index 000000000..166e54db9 --- /dev/null +++ b/previews/PR609/local/eindhoven2023/index.html @@ -0,0 +1,402 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon Local Eindhoven 2023 + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + +
+
+

JuliaCon Local Eindhoven 2023 +

+ +
+

+ Eindhoven, Netherlands. December 1, 2023. +
+ + Co-host with PyData Eindhoven 2023
+ +
+ +

+
+
+ + + + + + + + + + + +
+ + + + +
+ + + +

+
+ + +
+ + +
+
+ +
+
+

JuliaCon Local Eindhoven 2023

+ Save the Date: December 1, 2023!

+

JuliaCon 2023 will be in-person at the High Tech Campus Conference Center in Eindhoven in the Netherlands. The conference will take a full day of talks on Friday, December 1.

+

At our co-located event with PyData Eindhoven 2023, which occurs on November 30, you'll experience the unique convergence of two vibrant communities, amplifying the possibilities for cross-pollination and collaboration.

+
+
+ +
+
+

Pluto Workshop

+ + + We have something extraordinary in store for you at the upcoming PyData & JuliaCon 2023 conference in Eindhoven. Get ready for the Pluto Workshop, which will take place a day before the JuliaCon Local conference! Click here for more information, and don't miss out on this cosmic opportunity to learn, grow, and have fun! Secure your spot at the Pluto Workshop, where the possibilities are as limitless as the universe itself 🎈
+
+
+ +
+
+

Diversity scholarship

+

+

For JuliaCon Local Eindhoven 2023, we are offering scholarship opportunities, including networking events with our sponsoring companies, to individuals from underrepresented groups who might otherwise face barriers to attending the conference.

+

Apply for the diversity scholarship today!

+
+
+ +
+
+

Venue

+ +JuliaCon Local Eindhoven will be hosted at High Tech Campus in Eindhoven. There are over 200 companies located on one square km. These technical companies employ over 12,000 engineers and scientists. It is 20m by bus from the Eindhoven Station with FREE parking. In the area provided, a comprehensive childcare program will be in place. + +
+
+
+ +
+
+

Code of Conduct

+ JuliaCon Local Eindhoven is dedicated to providing a positive and inclusive conference experience for all attendees. We have zero tolerance for any form of harassment or discrimination. Offensive language, imagery, or disrespectful behavior will not be tolerated. Violators may be sanctioned or expelled from the conference without a refund. For more information, please refer to our Code of Conduct available on our website.
+
+
+ +
+
+

Committee

+ JuliaCon thrives on the support of a passionate volunteer community. We invite you to join us in making this event a resounding success! Whether you have a few hours to spare or want to contribute your expertise, your involvement is invaluable. Our dedicated committee, composed entirely of volunteers, is here to assist you and answer any questions or comments you may have. Together, let's create an extraordinary conference experience. To get involved, please reach out to us.
+
+
+ +
+
+

Sponsor

+ We invite you to be a part of JuliaCon 2023 as a valued sponsor. This conference celebrates the Julia programming language and attracts a diverse community of innovators, researchers, and industry leaders. By sponsoring JuliaCon, you'll gain exceptional visibility, networking opportunities, and the chance to showcase your organization's commitment to the Julia ecosystem. Join us in making this event an unforgettable experience while supporting the growth and development of Julia.
+
+
+ + + +
+
+ + +
+
+
+

Sponsors

+

+ +

Host

+
+ +
+ +

Platinum

+
+ + + +
+ +

Gold

+
+ + + +
+ +

Silver

+
+

+

+ +

Supporting Partners

+
+ + + +
+ +

Community Partners

+
+ + + + + + + + + + + + +
+ +

With the help of the Julia project’s fiscal host:

+
+ +
+ + +
+
+
+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/local/eindhoven2023/pluto/index.html b/previews/PR609/local/eindhoven2023/pluto/index.html new file mode 100644 index 000000000..277eae059 --- /dev/null +++ b/previews/PR609/local/eindhoven2023/pluto/index.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Pluto Workshop + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + + +

Pluto Workshop

+ +
+ +
+ +

The Pluto Workshop will be hosted on Thursday the 30th of November with official start at 11:00 as part of the local JuliaCon 2023 in Eindhoven. Please register for JuliaCon and fill out the form - you will get a special ticket for PyData to be able to access the workshop and get food on Thursday.

+ +
+ +
+

The registration is closed

+
+ +
+ +

Open Pluto barcamp and hackathon

+
    +
  • almost the whole day

    +
  • +
  • join a discussion table on the topic you are interested in

    +
  • +
  • or raise your own topic in a 30 seconds pitch to invite others to your table

    +
  • +
  • or prepare a cool Pluto notebook -> maybe it becomes featured

    +
  • +
  • or just join your developer friends to hack a new Pluto feature

    +
  • +
+

If you have further questions, please contact one of the Discord admins or organizers, or use the email at eindhoven@julialang.org.

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/local/eindhoven2023/program/index.html b/previews/PR609/local/eindhoven2023/program/index.html new file mode 100644 index 000000000..5128f53d6 --- /dev/null +++ b/previews/PR609/local/eindhoven2023/program/index.html @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon Local Eindhoven 2023 Program + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + + +

JuliaCon Local Eindhoven 2023 Program

+

We are thrilled to announce the official program for JuliaCon Local Eindhoven 2023! Our team has carefully curated a diverse and captivating lineup of talks, workshops, panels, and networking sessions designed to cater to a wide range of interests and levels of Julia expertise. Do not miss an opportunity to signup for the Pluto workshop one day before JuliaCon Local Eindhoven 2023.

+

Detailed schedule

+

To view the detailed schedule, simply scroll down or visit this website.

+ + + + + + + + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/local/eindhoven2023/sponsor/index.html b/previews/PR609/local/eindhoven2023/sponsor/index.html new file mode 100644 index 000000000..b981506e8 --- /dev/null +++ b/previews/PR609/local/eindhoven2023/sponsor/index.html @@ -0,0 +1,224 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Sponsorship Opportunities + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + + +

Sponsorship Opportunities

+

Eindhoven, Netherlands December 1, 2023 +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
€5000
Platinum
€3000
Gold
€1500
Silver
Logo on Event Website and Sponsor Banner Logo on Event Website and Sponsor Banner Logo on Event Website and Sponsor Banner
Promo materials inside goody bag Promo materials inside goody bag Promo materials inside goody bag
Job Board Listing Job Board Listing Job Board Listing
Links to Attendee Submitted LinkedIn/Resumes/Websites Links to Attendee Submitted LinkedIn/Resumes/Websites Links to Attendee Submitted LinkedIn/Resumes/Websites
Expo Booth Expo Booth𐄂 Expo Booth
Sponsored Talk𐄂 Sponsored Talk𐄂 Sponsored Talk
Premium Logo Placement𐄂 Premium Logo Placement𐄂 Premium Logo Placement
Prime Logo Placement on Event Videos Prime Logo Placement on Event Videos𐄂 Prime Logo Placement on Event Videos
Access to Attendee List𐄂 Access to Attendee List𐄂 Access to Attendee List
3 Diversity Scholars Awarded in Your Name 2 Diversity Scholars Awarded in Your Name 1 Diversity Scholars Awarded in Your Name
6 General Session Passes 3 General Session Passes 2 General Session Passes
+ +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/local/eindhoven2023/tickets/index.html b/previews/PR609/local/eindhoven2023/tickets/index.html new file mode 100644 index 000000000..32ce14364 --- /dev/null +++ b/previews/PR609/local/eindhoven2023/tickets/index.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + JuliaCon Local Eindhoven 2023: Registration + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + + +

JuliaCon Local Eindhoven 2023: Registration

+

Welcome to the registration page for JuliaCon 2023! We're thrilled to announce that this year's conference will be held in person at High Tech Campus, bringing together a vibrant community of Julia enthusiasts, industry experts, and thought leaders. Below you'll find the ticket prices for this exciting event.

+

Ticket Prices

+
    +
  • Corporate Admission: € 120.00

    +
  • +
  • Individual: € 80.00

    +
  • +
  • Student Ticket: € 40.00 (limited availability, valid student identification required)

    +
  • +
+

Note: Ticket sales for JuliaCon Local Eindhoven 2023 are being managed through a separate website hosted by PyData. To secure your tickets, we use PyData Ticketing Website. This dedicated platform will streamline the registration process and ensure a smooth experience for all attendees.

+ +
+ +
+

The registration is closed

+
+ +
+ +

Childcare

+

In the area provided, a comprehensive childcare program will be in place.

+

Contact the Organizers

+

We're here to assist you every step of the way. If you have any questions, comments, or suggestions, please feel free to reach out to our dedicated team. You can email us eindhoven@julialang.org or join our Discord server and we'll be happy to help.

+

Thank you for your interest in JuliaCon Local Eindhoven 2023! We can't wait to welcome you to this incredible gathering of Julia enthusiasts. Get ready to immerse yourself in the world of Julia and be part of an unforgettable conference experience!

+
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/local/eindhoven2023/venue/index.html b/previews/PR609/local/eindhoven2023/venue/index.html new file mode 100644 index 000000000..6dea36d05 --- /dev/null +++ b/previews/PR609/local/eindhoven2023/venue/index.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Venue + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ Next: 2024 + Previously: 2022/2021/2020/2019/2018/2017/2016/2015/2014 + +
+ +
+ + + + + + +
+ + + + +
+ + + +

Venue

+

High Tech Campus

+

1-E, The Strip 5656 AE Eindhoven

+ + + +

Accessibility

+

At High Tech Campus Eindhoven, the most common way for people to get around is by bicycle or on foot. Cars can be parked in one of the 7 multi-story car parks, which are within easy reach of the Campus ring road. There is one multi-story car park per office cluster where employees and visitors can park their cars free of charge.

+

If you think you may require a closer parking space or accommodations, please email admin@pydata.org.

+

Accommodation Options:

+
    +
  • Hotel The Match [2.9km from High Tech Campus] Kleine berg 43, 5611 JS Eindhoven

    +
  • +
  • Hotel la Reine [3km from High Tech Campus] Wilhelminaplein 3, 5611 HE Eindhoven

    +
  • +
  • Boutique Hotel Lumière [3.2km from High Tech Campus] Hooghuisstraat 31A, 5611 GS Eindhoven

    +
  • +
+

Transportation:

+

Visitors can enter the street name ‘High Tech Campus’ or the relevant postcode into their navigation system.

+

Parking Garages:

+

Parking is free; please park at P0. Parking is only permitted in the parking garages. Limited parking spaces for loading and unloading of goods and passengers are located at the buildings.

+

Buses:

+

From NS Station Eindhoven, you can take the direct bus connection line 407 (or 408) to High Tech Campus Eindhoven.

+ + +

Childcare

+

In the area provided, De Blokkendoos will set up a comprehensive childcare program for babies and toddlers, which included: cribs, play pens and adapted furniture. The area will be transformed into a cozy playroom with lots of colorful toys, tricycles, toy cars, blocks, puzzles, books for story time and a doll area where the child can pretend to play mom and dad.

+

In addition the arts & crafts with the youngest children such as:

+
    +
  • Drawing, cutting and pasting, colouring

    +
  • +
  • Create your own party hat

    +
  • +
  • Balloon decorating

    +
  • +
  • And much more!

    +
  • +
+

For the older children De Blokkendoos will set up arts & crafts activities. You can email us eindhoven@julialang.org or join our Discord server and we'll be happy to answer your further questions about the provided childcare.

+ + +
+ +
+ + + + + + + + + + + + + diff --git a/previews/PR609/robots.txt b/previews/PR609/robots.txt new file mode 100644 index 000000000..b601bad07 --- /dev/null +++ b/previews/PR609/robots.txt @@ -0,0 +1,4 @@ +Sitemap: https://juliacon.org/previews/PR609/sitemap.xml + +User-agent: * +Disallow: diff --git a/previews/PR609/sitemap.xml b/previews/PR609/sitemap.xml new file mode 100644 index 000000000..1dd1014e5 --- /dev/null +++ b/previews/PR609/sitemap.xml @@ -0,0 +1,1762 @@ + + + + + https://juliacon.org/previews/PR609/2024/minisymposia/hpc/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/tickets/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/venue/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/committee/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/marketingmaterials/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/coc/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/committee/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/accessibility/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/callforhosts/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/volunteer/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/meetups/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/memories/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/cfp_fr/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/schedule/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/sponsor/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/sponsor/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/tickets/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/cfp_pt/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/dei/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/cfp_ru/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/cfp/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/faq/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/tickets/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/cfp/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/coc/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/workshops/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/keynotes/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/upload/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/covid19/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/minisymposia/industrial/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/accessibility/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/store/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/tickets/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/accessibility/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/travel/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/experiences/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/posters/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/local/eindhoven2023/diversity/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/volunteer/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/sponsor/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/committee/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/posters/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/posters/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/cfp_fr/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/workshops/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/cfp/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/local/eindhoven2023/coc/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/local/eindhoven2023/venue/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/volunteer/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/upload/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/upload/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/workshops/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/minisymposia/earth/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/food/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/faq/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/cfp_zh/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/cfp_ru/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/local/eindhoven2023/committee/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/coc/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/accessibility/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/prize/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/minisymposia/data/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/schedule/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/coc/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/schedule/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/workshops/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/local/eindhoven2023/cfp/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/accessibility/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/cfp_tr/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/faq/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/proposal/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/local/eindhoven2023/sponsor/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/minisymposia/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/minisymposia/aerospace/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/faq/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/sponsor/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/schedule/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/sponsor/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/proposal/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/volunteer/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/experiences/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/activities/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/committee/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/cfp_tr/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/memories/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/coc/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/social/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/upload/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/social/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/proposal/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/cfp_pt/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/cfp_zh/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/hackathon/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/memories/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/local/eindhoven2023/tickets/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/cfp_es/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/venue-hotels/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/experiences/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/local/eindhoven2023/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/minisymposia/quantum/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/cfp_de/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/prize/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/prize/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/cfp_de/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/cfp_es/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/local/eindhoven2023/program/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/jobboard/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2023/memories/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/schedule/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2024/tickets/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/local/eindhoven2023/pluto/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2021/volunteer/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2022/prize/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2020/cfp/index.html + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2019/financial-assistance/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2015/index-2/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/106/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2017/schedule/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/127/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/73/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/46/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/119/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/84/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/57/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/103/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/22/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/67/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2019/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/56/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/81/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/2/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/51/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/146/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/92/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/29/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2019/committee/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/30/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2019/sponsor/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/53/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/142/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/112/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/109/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/111/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/23/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/43/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/151/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/27/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/87/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/schedule/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/25/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/42/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/105/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/114/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/34/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/24/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/85/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/21/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/94/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/15/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/36/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/74/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/149/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/91/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2017/talks/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2016/index-2/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/3/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/78/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/65/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/95/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/12/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/123/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/all_talks/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/13/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/47/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/60/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/75/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/7/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/55/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/66/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/coc/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/154/twitch.tv/brainrpg/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/76/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/68/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2016/workshops/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/108/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/26/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/145/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/120/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/lightning_talks/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/4/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/89/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/116/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2019/prize/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/prize/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/147/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/45/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/100/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/39/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/6/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/82/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2019/volunteer/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/107/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/156/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/155/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/posters/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2016/schedule/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/61/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/126/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/154/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2015/talks/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/37/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/122/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/144/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/102/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/121/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/assets/img/JuliaCon-NG/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/128/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/50/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/49/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2017/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/118/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/88/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2019/tickets/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/54/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/35/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/38/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/17/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/33/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/32/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/97/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2016/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/86/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2019/assets/img/JuliaCon-NG/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/72/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/93/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/tickets/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/98/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/1/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/143/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/152/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/158/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2017/coc/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/148/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/153/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/79/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/48/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/69/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2016/abstracts/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/16/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/101/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/63/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/14/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/59/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/96/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/83/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2015/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/150/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/8/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/workshops/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/80/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/52/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/90/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/115/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/129/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/104/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/5/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/64/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/117/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/40/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/125/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/accommodation/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/20/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/41/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/28/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/18/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/77/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/110/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2015/workshops/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/157/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/130/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/62/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2014/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2019/coc/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2018/talks_workshops/44/index/ + 2024-07-10 + monthly + 0.5 + + + https://juliacon.org/previews/PR609/2017/talks-2/ + 2024-07-10 + monthly + 0.5 + +