forked from PolyglotConf/polyglotconf.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
695 lines (517 loc) · 47.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Polyglot Conference 2014 </title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/main.css">
<!--[if lt IE 9]>
<script src="js/vendor/html5-3.6-respond-1.1.0.min.js"></script>
<![endif]-->
<link href='http://fonts.googleapis.com/css?family=Ruda:400,700' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
<link rel="shortcut icon" href="/favicon.png?v=2" />
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
<section id="intro" class="plglt-index-intro" data-speed="2" data-type="background">
<div class="container">
<div class="hero-unit">
<a href="/"><img class="plgtl-index-intro-logo" src="images/icon.png"></a>
<h1 class="page-header">Polyglot Unconference 2014</h1>
<h2>May 23rd-25th</h2>
<h2>Vancouver, Canada</h2>
</div>
</div>
</section>
<div id="plglt-index-nav">
<nav class="navbar navbar-default plglt-nav" role="navigation">
<div class="container">
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav nav-justified plglt-nav-menu">
<li style="display:none;"><a href="#intro">Intro</a></li>
<li><a class="js-menu-scroll" href="#vision">Vision</a></li>
<li><a class="js-menu-scroll" href="#venue">Venue</a></li>
<li><a class="js-menu-scroll" href="#conference">Conference</a></li>
<li><a class="js-menu-scroll" href="#sponsors">Sponsors</a></li>
<li><a class="js-menu-scroll" href="#community">Community</a></li>
<li><a class="js-menu-scroll" href="#blog">Blog</a></li>
</ul>
</div>
</div>
</nav>
</div>
<section id="vision" class="plglt-section">
<div class="container">
<h1>Vision</h1>
<div>
<p>This is our 3rd annual Polyglot Unconference and we promise it
will be the biggest and best yet. This year over 250 software
developers will leave language, platform and possibly even editor
wars behind and come together for a spontaneously organized day of
amazing talks, round-table discussions, panel sessions and
coding.</p>
<p>If you've never been to an un-conference (or open-space) event
before your owe it to yourself to make it to Polyglot 2014.
It's an experience like no other.</p>
</div>
</div>
</section>
<section id="venue" class="plglt-section">
<div class="container">
<h1>Venue</h1>
<div>
<p>This year's conference, we will be taking over SFU's Wosk Center
for Dialogue. With more space and more rooms we will be able to
increase both the number of attendees and sessions this year. As
always, we are right in the heart beautiful downtown Vancouver. We've
got the run of the whole building this year with lots of large and
small rooms to facilitate sessions in.<p>
<small><a href="https://maps.google.com/maps?f=q&source=embed&hl=en&geocode=&q=Centre+For+Dialogue+Downtown&aq=&sll=49.275819,-122.913177&sspn=0.119835,0.264187&ie=UTF8&hq=Centre+For+Dialogue+Downtown&hnear=&t=m&cid=17955376823309887143&ll=49.284492,-123.112471&spn=0.002449,0.00515&z=17&iwloc=A" style="color:#0000FF;text-align:left">View in Google Maps</a></small>
</div>
<!--<iframe width="100%" height="300" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Centre+For+Dialogue+Downtown&aq=&sll=49.275819,-122.913177&sspn=0.119835,0.264187&ie=UTF8&hq=Centre+For+Dialogue+Downtown&hnear=&t=m&cid=17955376823309887143&ll=49.284492,-123.112471&spn=0.002449,0.00515&z=17&iwloc=A&output=embed"></iframe>-->
<p>
</div>
</section>
<section id="workshops" class="plglt-section plglt-workshops">
<div class="container">
<h1>Workshops <small>Friday May 23</small></h1>
<div class="row plglt-workshops-schedule">
<div class="col-sm-12">
<div class="panel-group" id="accordion">
<h2>Half Day Workshops: Morning</h2>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#workshop-elasticsearch">
<h3 class="panel-title">Getting started with Elasticsearch <span class="panel-title-instructor">with Ganesh Swami</span></h3>
</a>
</div>
<div id="workshop-elasticsearch" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
<div class="col-sm-6 workshop-abstract">
<h4>Abstract</h4>
<p>This tutorial is an Elasticsearch bootcamp. Elasticsearch is a distributed and scalable search server based on Apache Lucene. You can use Elasticsearch to power your search and analytics in your applications. At the end of the day, you’ll:</p>
<p>1. know the most important concepts and terminology of search engines<br />
2. have a deep understanding of Elasticsearch<br />
3. apply Elasticsearch to build search applications<br />
4. analyze and resolve common problems with Elasticsearch</p>
<p>No prior experience with search or Elasticsearch is required. <br />
</p>
<h4>Prerequisites</h4>
<ul><li>Materials: Bring a laptop with Java 6+ (http://www.oracle.com/technetwork/java/javase/downloads/index.html)</li><li>Knowledge: The basics of web services (HTTP, request/response, JSON)</li></ul>
</div>
<div class="col-sm-6 workshop-instructor-bio">
<h4>About Ganesh
(<a href="https://twitter.com/gane5h">@gane5h</a>)
</h4>
<p>10+ years of professional programming experience.</p>
<p>Relevant background: I run a hosted Elasticsearch company silota.com, so I'm familiar with most build and operational aspects of ES.</p>
<p>My most <a href="http://www.slideshare.net/silota/building-restful-apis">recent talk</a> on building APIs at Vancouver Python Day was well received:</p>
<p>I like the challenge of taking complex topics and explaining them to a beginner.<br />
</p>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#workshop-emberjs">
<h3 class="panel-title">Intro to EmberJS <span class="panel-title-instructor">with Dave Laird</span></h3>
</a>
</div>
<div id="workshop-emberjs" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
<div class="col-sm-6 workshop-abstract">
<h4>Abstract</h4>
<p><a href='http://nbcnews.com' target='_blank'>NBCNews.com</a>, <a href='http://vine.co' target='_blank'>Vine.co</a>, <a href='http://bustle.com' target='_blank'>Bustle.com</a>, and companies like Square, Yahoo, Groupon, and zendesk (to name just a few) use <a href='emberjs.com' target='_blank'>EmberJS</a> apps in production. Ember's approach of convention over configuration makes it easy to build complex JavaScript apps with a sensible, maintainable, and extensible architecture.</p> <p>During this three and half hour introduction to EmberJS we will build an pieces of an Ember application. You will leave the tutorial well on your way to building your own ember application.</p> <p>During the tutorial we will building <a href="http://ember-weather.herokuapp.com/locations/vancouver-canada" target='_blank'>ember-weather.herokuapp.com</a></p>
<h4>Prerequisites</h4>
<ul><li>Materials: a computer with <a href='http://nodejs.org/download/' target='_blank'>node.js</a>, <a href='http://git-scm.com/downloads' target='_blank'>git</a> and a good text editor installed.</li><li>Knowledge: Some familiarity with javascript.</li></ul>
<h4>Syllabus</h4>
<a href="http://kiwiupover.roughdraft.io/10342025-intro-to-ember">http://kiwiupover.roughdraft.io/10342025-intro-to-ember</a>
</div>
<div class="col-sm-6 workshop-instructor-bio">
<h4>About Dave
(<a href="https://twitter.com/kiwiupover">@kiwiupover</a>)
</h4>
<p>After years of glueing jQuery spaghetti code together developing with Ember is a delight. Building the ember community in Seattle through training, hack nights and meetups has been a joy. </p> <p>I'm a front end developer at urbanspoon.com and the co-ordinator of the Seattle Ember Meetup.</p>
</div>
</div>
</div>
</div>
</div>
<h2>Half Day Workshops: Afternoon</h2>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#workshop-testable-software">
<h3 class="panel-title">Writing Testable Software <span class="panel-title-instructor">with Clifford Hammerschmidt</span></h3>
</a>
</div>
<div id="workshop-testable-software" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
<div class="col-sm-6 workshop-abstract">
<h4>Abstract</h4>
<p>We all know we should test the software we write, and yet many of us still write software that is difficult to test. In this tutorial we'll work through refactoring software to be easier to test and walk through examples of code written with testing in mind. Bring a laptop with either JDK 1.7 or Visual Studio (with C#) installed and expect to write code and tests.</p>
<h4>Prerequisites</h4>
<ul><li>Materials: Bring a laptop with either JDK 1.7 + your favourite editor/IDE or Visual Studio (C#)</li><li>Knowledge: Basic programming experience in either platform</li></ul>
</div>
<div class="col-sm-6 workshop-instructor-bio">
<h4>About Clifford
(<a href="https://twitter.com/tangledbones">@tangledbones</a>)
</h4>
<p>Clifford Hammerschmidt is a software architect with over twenty years experience architecting and writing software. He currently works for Amazon and organizes the Vancouver Software Developers Meetup (<a href="http://vandev.org">vandev.org</a>). He has worked on business applications, anti-spam systems, games, low level concurrency libraries, and high volume application apis handling thousands of requests a second.</p>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#workshop-bdd">
<h3 class="panel-title">Behaviour Driven Development <span class="panel-title-instructor">with Martin Suchanek</span></h3>
</a>
</div>
<div id="workshop-bdd" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
<div class="col-sm-6 workshop-abstract">
<h4>Abstract</h4>
<p>Behaviour Driven Development, like any other dogma in software development, is a complicated beast. It's proselytized by the zealots, and abdicated by the trolls. The practical reality is somewhere in between. And the best we can do is arm ourselves with understanding.</p><p>BDD finds itself at the intersection of a lot of different disciplines. The majority of those are non-technical. This workshop will focus on the technical aspects. Having a solid understanding of these will allow practicioners to focus instead on the really important parts, instead of getting caught up in implementation details.</p>
<h4>Prerequisites</h4>
<ul><li>Materials: a laptop with your favorite BDD framework installed</li><li>Knowledge: Familiarity with — or willingness to dive deep into — BDD, gherkin, Selenium WebDriver API, PageObject pattern. Prior experience with test automation.</li></ul>
<h4>Syllabus</h4>
<a href="https://gist.github.com/mrtns/10081393">https://gist.github.com/mrtns/10081393</a>
</div>
<div class="col-sm-6 workshop-instructor-bio">
<h4>About Martin
(<a href="https://twitter.com/mrtn_su">@mrtn_su</a>)
</h4>
<p>I'm a multi-disciplined software developer, hacking away at technology, organization, and product since the first dot com boom (and bust). For some uncanny reason I've found myself wearing all the possible hats. I've worked in companies from 1 to 300 in size, from positions of sole proprietor, employee, advisor, and external contractor.</p><p>I have been practicing BDD in depth for the last five years, at three different organizations.</p>
</div>
</div>
</div>
</div>
</div>
<h2>Full Day Workshops</h2>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#workshop-golang">
<h3 class="panel-title">Go Bootcamp <span class="panel-title-instructor">with Kamil Kisiel</span></h3>
</a>
</div>
<div id="workshop-golang" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
<div class="col-sm-6 workshop-abstract">
<h4>Abstract</h4>
<p>The Go Bootcamp will cover everything you need to get started writing network and web applications in Go. The first half of the day be spent learning language fundamentals and best practices for programming in Go. In the second half participants will use tools available in the Go standard library to build a networked chat application with a web interface.</p>
<h4>Prerequisites</h4>
<ul><li>Materials: Bring a laptop with an OS that meets the prerequisties for Golang development (http://golang.org/doc/install)</li></ul>
<h4>Syllabus</h4>
<a href="https://docs.google.com/document/d/1lvf8TfvRXQR9pomgwtXM-1YBhVjCVjcc4MKhT8MOmXs/edit?usp=sharing">https://docs.google.com/document/d/1lvf8TfvRXQR9pomgwtXM-1YBhVjCVjcc4MKhT8MOmXs/edit?usp=sharing</a>
</div>
<div class="col-sm-6 workshop-instructor-bio">
<h4>About Kamil
(<a href="https://twitter.com/kisielk">@kisielk</a>)
</h4>
<p>I have been programming in Go professionally for two years and am currently working as a freelance developer and consultant. Previously I worked for a biotech startup in ops and software engineering. I've previously given talks at the SGI User Group Conference, Polyglot, and several meetup groups.</p>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#workshop-reactjs">
<h3 class="panel-title">Welcome to ReactJS <span class="panel-title-instructor">with Steven Luscher</span></h3>
</a>
</div>
<div id="workshop-reactjs" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
<div class="col-sm-6 workshop-abstract">
<h4>Abstract</h4>
<p>React is a Javascript library for building user interfaces that challenges some fundamental assumptions about how user interfaces should be built. In this workshop, you will learn to "think in React," as you build an interactive, data-driven, client-server web application in the browser.</p>
<p>First, we will learn what's distinctive about the React approach, and how we can benefit from it. Next, we will learn how React components are built, how they operate, how they communicate with each other, and how to test them. Along the way, in pairs or small groups, we will laugh, cry, scream, and cheer, but ultimately build some working software, the React Way.</p>
<h4>Prerequisites</h4>
<ul><li>Materials: Bring a laptop with Chrome and your favorite text editor. For the full experience, have <a href="https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager">Node/NPM installed</a>.</li><li>Knowledge: You should be familiar with HTML, and one of either Coffeescript or Javascript.</li></ul>
<h4>Syllabus</h4>
<a href="https://github.com/steveluscher/react-polyglot-conf-2014">https://github.com/steveluscher/react-polyglot-conf-2014</a>
</div>
<div class="col-sm-6 workshop-instructor-bio">
<h4>About Steven
(<a href="https://twitter.com/steveluscher">@steveluscher</a>)
</h4>
<p>Steven Luscher builds web and mobile applications using HTML, CSS, Javascript, Ruby, and Objective-C. En-route to becoming a polyglot coder, he made stops along the way to pursue formal education in graphic design, mathematics, and pedagogy; experiences which have served him well in the area of web application development.</p>
<p>In 2013, he delivered a <a href="https://github.com/steveluscher/react-supervanjs-2013">conference talk</a> about React at Super VanJS. He currently works full-time developing a mammoth React-based application using Coffeescript, JSX, Node, and MongoDB.</p>
<p>He does not work for Facebook.</p>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#workshop-docker">
<h3 class="panel-title">Docker in Depth <span class="panel-title-instructor">with Tavis Rudd</span></h3>
</a>
</div>
<div id="workshop-docker" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
<div class="col-sm-6 workshop-abstract">
<h4>Abstract</h4>
<p><a href="https://www.docker.io/learn_more/">Docker</a> is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere. Docker containers are both hardware-agnostic and platform-agnostic. This means that they can run anywhere, from your laptop to the largest EC2 compute instance and everything in between - and they don't require that you use a particular language, framework or packaging system. That makes them great building blocks for deploying and scaling web apps, databases and backend services without depending on a particular stack or provider. Although it's only a year old, Docker is in the <a href="https://github.com/dotcloud/docker/">top 5 projects on GitHub</a> (ranked by either Stars or activity)</p> <p>This full day lab will cover Docker in depth: from the basics to advanced use cases. Students will progress from introductory exercises on individual containers to creating, monitoring and troubleshooting larger systems with clusters of interlinked containers. You will leave with the skills and confidence to use Docker in a wide range of settings.</p> <p>Students should come with a laptop, a text editor, and at least intermediate <b>Unix</b> system administration knowledge and command line skills. The exercises themselves will be performed on EC2 so no additional software is required. If you're not already familiar with Bash and basic Python, please do some self study first.</p>
<h4>Prerequisites</h4>
<ul><li>Materials: A laptop and your favourite text editor, EC2 will be used as the actual work environment.</li><li>Knowledge: Unix systems administration, Bash and basic Python.</li></ul>
<h4>Syllabus</h4>
<a href="https://github.com/tavisrudd/polyglot-docker-tutorial">https://github.com/tavisrudd/polyglot-docker-tutorial</a>
</div>
<div class="col-sm-6 workshop-instructor-bio">
<h4>About Tavis
(<a href="https://twitter.com/tavisrudd">@tavisrudd</a>)
</h4>
<p>Tavis Rudd (<a href="https://github.com/tavisrudd/">github</a>, <a href="http://lnkd.in/bC3ctfY">linkedin</a>, <a href="http://www.ohloh.net/people/rankings?show=12217">ohloh</a>) is a well known local developer and sysadmin who has slowly realized that writing good software is much harder than he once thought.</p>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#workshop-scala-web">
<h3 class="panel-title">Building a Truly Modern Web App/API with Scala and Akka <span class="panel-title-instructor">with Alex Cruise</span></h3>
</a>
</div>
<div id="workshop-scala-web" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
<div class="col-sm-6 workshop-abstract">
<h4>Abstract</h4>
<p>Web apps and APIs are hugely important parts of modern life, but in many cases, the way they're built hasn't changed in many years. These older tools make scale-out hard, and the resulting systems don't always handle failures gracefully. </p>
<p>Let's take a deep dive into a technology stack that is designed from the ground up for productivity, scalability, correctness and fault tolerance, and see how much can be achieved with surprisingly little code.</p>
<h4>Prerequisites</h4>
<ul><li>Materials: Laptop (4GB of RAM), 1.6+ JDK already installed and working (i.e. type "javac" from the command prompt, it works), SBT 0.13.1 and gotten it working with a "hello world" project (instructions: http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html), Your favourite Scala IDE/Editor, cURL or equivalent for HTTP testing</li><li>Knowledge: Basics of Scala, specific language features will be covered within the course. For those wanting a leg up see: http://docs.scala-lang.org/tutorials/ and http://danielwestheide.com/scala/neophytes.html</li></ul>
<h4>Syllabus</h4>
<a href="https://docs.google.com/document/d/14WEBW9MZxQ0bjMG4Z4B0lVtMl3CDE4MjujFOkEj2_WM/edit?usp=sharing">https://docs.google.com/document/d/14WEBW9MZxQ0bjMG4Z4B0lVtMl3CDE4MjujFOkEj2_WM/edit?usp=sharing</a>
</div>
<div class="col-sm-6 workshop-instructor-bio">
<h4>About Alex
(<a href="https://twitter.com/alexcruise">@alexcruise</a>)
</h4>
<p>I've been building software for a disturbingly long time, and felt like I knew what I was doing until I met Scala and realized how much of the world of computer science I'd been missing.</p>
<p>Over the past four years, I've used Scala for all my serious development work, and have accumulated a tiny bit of wisdom and a lot of humility to go with my battle scars and war stories.</p>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#workshop-haskell">
<h3 class="panel-title">Real World Programming With Haskell <span class="panel-title-instructor">with Roman Gonzalez</span></h3>
</a>
</div>
<div id="workshop-haskell" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
<div class="col-sm-6 workshop-abstract">
<h4>Abstract</h4>
<p>Participants will tip their toes into the functional programming mindset using Haskell. This is described by many as a mind-bending experience and a challenging one, covering many concepts of the functional paradigm like persistent data structures, tail-recursion, Functors, Monads etc. </p>
<p>We'll explore the lazy behavior of the language, and also how to make functions pure (e.g. enforce avoidance of unintended side effects).</p>
<p>We are going to learn the different tools that Haskell provide for concurrent programming, from Software Transactional Memory, to basic mutable variables.</p>
<p>We are going to learn the basics of Parser Combinators, and we will finish it up with the implementation of a very basic Web app using Scotty, an easy to use Web Framework.</p>
<h4>Prerequisites</h4>
<ul><li>Materials: This course assumes you use a machine with Linux/MacOS X, you will need to install the <a href="http://www.haskell.org/platform/">Haskell Platform.</a></li><li>Knowledge: This course assumes familiarity with Linux/Unix command line, familiarity with a programming language that has a REPL (ruby, python, nodejs, scala) will be helpful. Basic knowledge of programming in Java/C/C++/Ruby/Python is desirable.</li></ul>
</div>
<div class="col-sm-6 workshop-instructor-bio">
<h4>About Roman
(<a href="https://twitter.com/romanandreg">@romanandreg</a>)
</h4>
<p>Roman Gonzalez is one of the co-founder of Birdseye Software, he has done many consultancy jobs in the past using Ruby on Rails, and has lead the development team of a local Startup, he has participated in many open source projects using Ruby, Clojure, elisp and Haskell. </p>
<p>He has been using Haskell for the past 6 years, and has given many tutorials on the Vancouver's Haskell Meetup where he is one of the main organizers. He also has given presentations in the Polyglot Meetup and ClojureWest 2013.</p>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#workshop-ios-ui">
<h3 class="panel-title">Auto Layout and Storyboards on iOS <span class="panel-title-instructor">with Allen Pike</span></h3>
</a>
</div>
<div id="workshop-ios-ui" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
<div class="col-sm-6 workshop-abstract">
<h4>Abstract</h4>
<p>Storyboards and Auto Layout are the two primary tools for laying out user interfaces on iOS. With the new Interface Builder functionality in Xcode 5.1 and the persistent rumours of a larger iPhone on the horizon, now is the time to level up your Storyboard and Auto Layout skills and get rid of your app's old manual layout code.</p><p>Our morning will focus on Storyboards, building out a simple Twitter client using Xcode and Interface Builder. Then we'll dive into code, with custom Segues and other advanced issues around Storyboards, paired with a more advanced coding exercise.</p><p>The afternoon will go deep into Auto Layout, starting with the theory as a refresher before going into building Auto Layouts in Xcode, highlighting the new Auto Layout tools in Xcode 5.1. After an exercise in Interface Builder, we'll dig into code, building and debugging more advanced Auto Layouts, finishing with an Auto Layout torture test exercise.</p>
<h4>Prerequisites</h4>
<ul><li>Materials: a laptop with Xcode installed.</li><li>Knowledge: Basic familiarity with iOS development</li></ul>
</div>
<div class="col-sm-6 workshop-instructor-bio">
<h4>About Allen
(<a href="https://twitter.com/apike">@apike</a>)
</h4>
<p>Steamclock is one of the top iOS development studios in Canada, with a team of mobile developers focused on great UI and UX, and are organizers of the VanCocoa speaker series on iOS and Mac development.</p><p>Allen Pike and Nigel Brooke are seasoned iOS developers who have taught at SFU and University of Calgary respectively. Prior to founding Steamclock, Allen was a Software Engineer at Apple. You can see an example of Allen speaking on iOS and JavaScript development at JSConf in Berlin <a href="https://www.youtube.com/watch?v=5LUkHss6CAw">here.</a></p><p>Last year at Polyglot Steamclock put on a less in-depth day-long iOS tutorial, which was well received.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<h2>Tickets</h2>
<p>Workshop tickets will be available to purchase in early April.</p>
</div>
</section>
<section id="conference" class="plglt-section plglt-conference">
<div class="container">
<h1>Conference <small>Saturday May 24</small></h1>
<h2>Tickets</h2>
<div>
<iframe src="https://www.picatic.com/events/widget/27780?utm_source=promotion&utm_medium=widget&utm_campaign=27780&width=auto" frameborder="0" style="display:block;height:270px;max-width:none;width:100%;"></iframe>
</div>
<h2>Schedule</h2>
<div>
<p>
Open-space conferences are spontaneously scheduled 100%
attendee driven. Sessions will be proposed, selected and
organized at the opening the conference but we encourage
attendees to suggest and discuss ideas in advance.
</p>
<p>
For now, you can use the <a href="https://twitter.com/search?q=%23polyglotconf">#polyglotconf</a> hashtag or tweet your
ideas <a href="https://twitter.com/polyglotconf">@polyglotconf</a> and we will share them with other
attendees.
</p>
</div>
</div>
</section>
<section id="sponsors" class="plglt-section">
<div class="container">
<h1>Sponsors</h1>
<div>
<h2>Sponsor the Polyglot Conference</h2>
<p>
The Polyglot Conference is made possible by our generous
sponsors. If you are interested in sponsorship opportunities
please contact us at <a
href="mailto:[email protected]" target="_top">[email protected]</a>.
</p>
<h2>Volunteer at the Polyglot Conference</h2>
<p>
If you are interested in helping out and volunteering at the
conference, please contact us at <a
href="mailto:[email protected]" target="_top">[email protected]</a>.
</p>
</div>
</div>
</section>
<section id="community" class="plglt-section plglt-community">
<div class="container">
<h1>Community</h1>
<h2>Reach Out</h2>
<div>
<ul class="row list-unstyled plglt-community-twitter">
<li class="col-sm-4 plglt-community-twitter-account">
<h2><a href="http://twitter.com/polyglotconf">@polyglotconf</a></h2>
</li>
<li class="col-sm-4 plglt-community-meetup-twitter">
<h2><a href="http://meetup.com/PolyglotVancouver">Polyglot Meetup Group</a></h2>
</li>
<li class="col-sm-4 plglt-community-twitter-hashtag">
<h2><a href="https://twitter.com/search?q=%23polyglotconf">#polyglotconf</a></h2>
</li>
</ul>
</div>
<h2>Conference Participants</h2>
<div>
<div class="lanyrd-target-participants plglt-participants-lanyrdattendeelist">
<a href="http://lanyrd.com/2014/polyglot2014/attendees/"
class="lanyrd-participants"
data-lanyrd-iframe
data-lanyrd-nolink
data-lanyrd-nocss>
Attendee list for Polyglot Software Unconference 2014 on Lanyrd
</a>
</div>
<p>
<a href="http://lanyrd.com/2014/polyglot2014/attendees/"><span class="glyphicon glyphicon-lanyrd"></span>Mark your attendance on Lanyrd</a>
</p>
</div>
</div>
</section>
<section id="blog" class="plglt-section">
<div class="container">
<h1>Blog</h1>
<div>
<p>Check back later for more updates on the conference schedule and related events.</p>
</div>
</div>
</section>
<section id="conduct" class="plglt-section plglt-conduct">
<div class="container">
<h1>Code of Conduct</h1>
<div class="row">
<div class="col-xs-12">
<p>
tl;dr: Be Excellent To Each Other! And please, don’t be a jerk.
<a href="/conduct.html">Read the full policy.</a>
</p>
</div>
</div>
</div>
</section>
<script src="http://cdn.lanyrd.net/badges/embed-v1.min.js"></script>
<section id="links" class="plglt-section plglt-links plglt-outro">
<div class="container">
<ul class="list-unstyled list-inline">
<li><a href="https://twitter.com/polyglotconf"><i class="fa fa-twitter fa-2x"></i> @polyglotconf</a></li>
<li><a href="https://twitter.com/search?q=%23polyglotconf"><i class="fa fa-2x">#</i> #polyglotconf</a></li>
<li><a href="https://www.facebook.com/polyglotconf"><i class="fa fa-facebook fa-2x"></i> Facebook</a></li>
<li><a href="http://lanyrd.com/2014/polyglot2014/"><span class="glyphicon glyphicon-lanyrd" style="background-size: 25px; min-height:25px; min-width:25px;"></span> lanyrd</a></li>
</ul>
</div>
</section>
<div class="plglt-footer plglt-outro">
<div class="container">
<p>Copyright © 2014 Polyglot Software Association</p>
<div class="plglt-outro-harp">
<p class="plglt-outro-harp-poweredby"><small>Powered by</small></p>
<a href="http://harpjs.com/"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" class="plglt-outro-harp-logo" viewBox="0 0 150 56.48" style="enable-background:new 0 0 150 56.48;" xml:space="preserve" xmlns:xml="http://www.w3.org/XML/1998/namespace">
<g>
<path style="fill:#000;" d="M50.93,38.59c-1.13-1.2-1.7-2.89-1.7-5.07c0-2.09,0.28-4.13,0.84-6.11c0.55-1.98,1.31-3.74,2.27-5.27 c0.96-1.53,2.09-2.76,3.41-3.67c1.31-0.91,2.73-1.37,4.24-1.37c1.82,0,3.29,0.61,4.4,1.84c1.11,1.22,1.67,2.84,1.67,4.84 c0,2.01-0.28,4-0.84,5.97c-0.55,1.98-1.31,3.77-2.26,5.34c-0.96,1.58-2.1,2.86-3.41,3.84c-1.32,0.98-2.71,1.47-4.17,1.47 C53.54,40.39,52.06,39.79,50.93,38.59 M51.09,13.48c-2.23,1.25-4.14,2.89-5.74,4.94c-1.6,2.05-2.84,4.4-3.71,7.04 c-0.87,2.65-1.3,5.37-1.3,8.18c0,1.78,0.27,3.41,0.8,4.91c0.53,1.49,1.3,2.78,2.3,3.87c1,1.09,2.2,1.94,3.6,2.54 c1.41,0.6,2.97,0.9,4.71,0.9c2.22,0,4.25-0.53,6.07-1.6c1.82-1.07,3.41-2.45,4.74-4.14c0,3.83,2.36,5.74,7.08,5.74 c1.02,0,1.97-0.09,2.84-0.27c0.87-0.18,1.75-0.38,2.64-0.6l1.34-4.94c-0.49,0.18-0.91,0.3-1.27,0.37c-0.36,0.06-0.76,0.1-1.2,0.1 c-1.38,0-2.07-0.71-2.07-2.13c0-0.71,0.18-1.7,0.53-2.97c0.36-1.27,0.76-2.73,1.2-4.37l5.08-19.23c-0.67,0.22-1.47,0.39-2.41,0.5 c-0.93,0.12-2,0.17-3.2,0.17h-3.34l-1.74,6.28c-0.57-2.27-1.69-4.03-3.34-5.28c-1.64-1.24-3.73-1.87-6.27-1.87 C55.77,11.61,53.32,12.24,51.09,13.48 M128.17,39.75c-0.76-0.38-1.4-0.86-1.94-1.47c-0.53-0.6-0.93-1.3-1.2-2.1 c-0.27-0.8-0.4-1.62-0.4-2.47c0-2,0.26-4,0.77-5.98c0.51-1.98,1.23-3.76,2.17-5.34c0.93-1.58,2.04-2.86,3.31-3.84 c1.27-0.98,2.66-1.47,4.17-1.47c1.82,0,3.29,0.6,4.4,1.8c1.11,1.2,1.69,2.89,1.74,5.07c0,2.09-0.27,4.13-0.8,6.11 c-0.53,1.99-1.28,3.73-2.24,5.24c-0.96,1.51-2.07,2.73-3.34,3.63c-1.27,0.91-2.62,1.37-4.04,1.37 C129.79,40.32,128.93,40.13,128.17,39.75 M133.01,13.02c-1.67,0.93-3.15,2.16-4.44,3.67l1.33-4.88c-0.8,0.18-1.91,0.33-3.34,0.47 c-1.42,0.13-2.96,0.2-4.61,0.2h-6.01l-1.34,5.01h3.81c0.4,0,0.66,0.15,0.77,0.43c0.11,0.29,0.06,0.81-0.17,1.57l-8.28,30.24 c-0.22,0.76-0.45,1.23-0.7,1.44c-0.25,0.2-0.55,0.3-0.9,0.3h-2.94l-1.34,5.01h17.63l1.33-5.01h-3.41c-0.36,0-0.61-0.1-0.77-0.3 c-0.16-0.2-0.12-0.68,0.1-1.44l2.94-10.95c0.58,2.14,1.71,3.85,3.41,5.14c1.69,1.29,3.87,1.93,6.54,1.93c2.71,0,5.15-0.6,7.31-1.8 c2.16-1.2,4-2.8,5.51-4.81c1.51-2.01,2.67-4.3,3.47-6.91c0.8-2.61,1.2-5.33,1.2-8.18c0-1.78-0.26-3.44-0.77-4.97 c-0.51-1.54-1.26-2.87-2.26-4.01c-1-1.13-2.23-2.02-3.67-2.64c-1.45-0.62-3.08-0.93-4.91-0.93 C136.52,11.61,134.68,12.08,133.01,13.02 M99.55,13.15c-1.62,1.16-3.01,2.74-4.17,4.74l1.67-6.08c-0.8,0.18-1.92,0.33-3.34,0.47 c-1.43,0.13-2.96,0.2-4.61,0.2h-6.21l-1.34,5.01h4c0.4,0,0.66,0.15,0.77,0.43c0.11,0.29,0.06,0.81-0.17,1.57L79.15,45h8.94 l2.87-10.68c0.75-2.85,1.51-5.36,2.26-7.54c0.76-2.18,1.57-4.01,2.44-5.47c0.87-1.47,1.82-2.58,2.87-3.34 c1.05-0.75,2.24-1.14,3.57-1.14c0.49,0,0.96,0.09,1.41,0.27c0.44,0.18,0.78,0.43,1,0.74c-1.15,0.18-2.1,0.71-2.83,1.6 c-0.73,0.89-1.08,1.84-1.04,2.87c0.04,1.16,0.47,2.11,1.27,2.87c0.8,0.76,1.91,1.13,3.33,1.13c0.98,0,1.88-0.24,2.71-0.7 c0.82-0.46,1.53-1.09,2.13-1.87c0.6-0.78,1.06-1.67,1.37-2.7c0.31-1.02,0.44-2.11,0.4-3.27c-0.09-1.87-0.73-3.39-1.93-4.58 c-1.2-1.18-2.85-1.77-4.94-1.77C102.98,11.42,101.17,12,99.55,13.15 M17.86,0.47c-1.45,0.13-2.99,0.2-4.64,0.2H7.41l-1.4,5h3.47 c0.44,0,0.71,0.15,0.8,0.44c0.09,0.29,0.02,0.81-0.2,1.57L0,45h8.88c1.24-4.94,2.48-9.16,3.7-12.65c1.22-3.49,2.46-6.35,3.7-8.58 c1.25-2.23,2.52-3.85,3.81-4.87c1.29-1.02,2.63-1.54,4.01-1.54c1.02,0,1.89,0.3,2.6,0.9c0.72,0.6,1.07,1.48,1.07,2.64 c0,0.53-0.14,1.3-0.4,2.3c-0.27,1-0.59,2.1-0.97,3.31c-0.38,1.2-0.79,2.47-1.24,3.8c-0.44,1.34-0.86,2.63-1.23,3.88 c-0.38,1.24-0.7,2.39-0.97,3.44c-0.27,1.05-0.4,1.88-0.4,2.5c0,2.04,0.6,3.51,1.8,4.41c1.2,0.89,2.89,1.33,5.07,1.33 c0.98,0,1.96-0.06,2.94-0.2c0.98-0.13,1.91-0.36,2.8-0.67l1.33-4.94c-0.89,0.31-1.71,0.47-2.47,0.47c-1.33,0-2-0.65-2-1.94 c0-0.62,0.28-1.78,0.84-3.47c0.55-1.69,1.16-3.54,1.83-5.57c0.67-2.03,1.28-4.02,1.84-5.97c0.55-1.96,0.84-3.49,0.84-4.61 c0-2.4-0.84-4.22-2.51-5.47c-1.67-1.24-3.7-1.87-6.11-1.87c-2.76,0-5.21,0.69-7.34,2.07c-2.14,1.38-4.05,3.38-5.74,6.01L21.16,0 C20.4,0.18,19.31,0.33,17.86,0.47"/>
</g>
</svg>
</a>
</div>
<img class="plgtl-footer-outro-logo" src="images/icon.png">
</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.1.min.js"><\/script>')</script>
<script src="js/vendor/bootstrap.min.js"></script>
<script src="js/vendor/enquire-2.1.0.min.js"></script>
<script src="js/main.js"></script>
<script>
var _gaq=[['_setAccount','UA-29943309-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src='//www.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>