-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.htm
1100 lines (1080 loc) · 80.4 KB
/
index.htm
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
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<!-- saved from url=(0022)/files/ -->
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="initial-scale=1.0, width=device-width">
<title>Web Rebels ☠ Oslo ☠ June 2017</title>
<meta name="description" content="Web Rebels is a non-profit, community driven conference for everyone who loves developing applications and services using web technology.">
<link rel="apple-touch-icon" sizes="180x180" href="/files/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/files/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/files/favicon-16x16.png">
<link rel="manifest" href="/files/manifest.json">
<link rel="mask-icon" href="/files/safari-pinned-tab.svg" color="#5bbad5">
<link href="/files/css" rel="stylesheet">
<meta name="theme-color" content="#ffffff">
<meta property="og:title" content="Web Rebels ☠ Oslo ☠ June 2017">
<meta property="og:type" content="website">
<!--meta property="og:url" content="" /-->
<meta property="og:image" content="https://www.webrebels.org/img/classof2014.jpg">
<meta property="og:description" content="Web Rebels is a non-profit, community driven conference for everyone who loves developing applications and services using web technology.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@web_rebels">
<meta name="twitter:title" content="Web Rebels ☠ Oslo ☠ June 2017">
<meta name="twitter:description" content="Web Rebels is a non-profit, community driven conference for everyone who loves developing applications and services using web technology.">
<meta name="twitter:image" content="https://2014.webrebels.org/img/logo-webrebels.png">
<!--meta name="twitter:url" content="" /-->
<script type="text/javascript" async="" src="/files/ga.js"></script><script>
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-26864429-1']); _gaq.push(['_setDomainName', 'webrebels.org']); _gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'https://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script> <style>@import url(//maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css);html{color:#3a353a}*,:after,:before,html{box-sizing:border-box}body{font-size:100%;line-height:1.6}@media screen and (min-width:800px){body{font-size:125%}}blockquote,body,caption,dd,dl,fieldset,figure,form,h1,h2,h3,h4,h5,h6,hr,legend,ol,p,pre,table,td,th,ul{margin:0;padding:0}blockquote,dd,dl,h1,h2,h3,h4,h5,h6,ol,p,pre,ul{margin-bottom:1em}dd,ol,ul{margin-left:2em}h1,h2,h3,h4,h5,h6{font-weight:400}img{max-width:100%}a{box-shadow:inset 0 0 0 transparent;color:#fff;margin:0 -2px;padding:2px 3px;text-decoration:none;transition:all .3s ease-in-out}@media screen and (min-width:900px){a{white-space:nowrap}}a:focus,a:hover{color:#f4db19}.wrapper,.wrapper--wide{margin:0 auto;max-width:90%;padding:0 1em}@media screen and (min-width:1200px){.wrapper{max-width:800px}.wrapper--wide{max-width:1200px}}.list-inline{margin:0;padding:0;list-style:none}.list-inline>li{display:inline-block}.list-bare{margin:0;padding:0;list-style:none}.box{display:block;background-color:#fff;color:#3a353a;padding:1em 1em .5em;margin-bottom:2em}@media screen and (min-width:800px){.box{padding:1em 2em .5em}}header{padding-bottom:3em}.homelink{border:0;box-shadow:none;color:#3a353a}.homelink:hover{border:0;box-shadow:none;color:#cc07c7}.pan{padding:0}.paxs{padding:.25rem}.pas{padding:.5rem}.pam{padding:1rem}.pal{padding:2rem}.paxl{padding:4rem}.paxxl{padding:8rem}.paxxxl{padding:16rem}.pln{padding-left:0}.plxs{padding-left:.25rem}.pls{padding-left:.5rem}.plm{padding-left:1rem}.pll{padding-left:2rem}.plxl{padding-left:4rem}.plxxl{padding-left:8rem}.plxxxl{padding-left:16rem}.prn{padding-right:0}.prxs{padding-right:.25rem}.prs{padding-right:.5rem}.prm{padding-right:1rem}.prl{padding-right:2rem}.prxl{padding-right:4rem}.prxxl{padding-right:8rem}.prxxxl{padding-right:16rem}.pbn{padding-bottom:0}.pbxs{padding-bottom:.25rem}.pbs{padding-bottom:.5rem}.pbm{padding-bottom:1rem}.pbl{padding-bottom:2rem}.pbxl{padding-bottom:4rem}.pbxxl{padding-bottom:8rem}.pbxxxl{padding-bottom:16rem}.ptn{padding-top:0}.ptxs{padding-top:.25rem}.pts{padding-top:.5rem}.ptm{padding-top:1rem}.ptl{padding-top:2rem}.ptxl{padding-top:4rem}.ptxxl{padding-top:8rem}.ptxxxl{padding-top:16rem}.pvn{padding-top:0;padding-bottom:0}.pvxs{padding-top:.25rem;padding-bottom:.25rem}.pvs{padding-top:.5rem;padding-bottom:.5rem}.pvm{padding-top:1rem;padding-bottom:1rem}.pvl{padding-top:2rem;padding-bottom:2rem}.pvxl{padding-top:4rem;padding-bottom:4rem}.pvxxl{padding-top:8rem;padding-bottom:8rem}.pvxxxl{padding-top:16rem;padding-bottom:16rem}.phn{padding-left:0;padding-right:0}.phxs{padding-left:.25rem;padding-right:.25rem}.phs{padding-left:.5rem;padding-right:.5rem}.phm{padding-left:1rem;padding-right:1rem}.phl{padding-left:2rem;padding-right:2rem}.phxl{padding-left:4rem;padding-right:4rem}.phxxl{padding-left:8rem;padding-right:8rem}.phxxxl{padding-left:16rem;padding-right:16rem}.man{margin:0}.maxs{margin:.25rem}.mas{margin:.5rem}.mam{margin:1rem}.mal{margin:2rem}.maxl{margin:4rem}.maxxl{margin:8rem}.maxxxl{margin:16rem}.mln{margin-left:0}.mlxs{margin-left:.25rem}.mls{margin-left:.5rem}.mlm{margin-left:1rem}.mll{margin-left:2rem}.mlxl{margin-left:4rem}.mlxxl{margin-left:8rem}.mlxxxl{margin-left:16rem}.mrn{margin-right:0}.mrxs{margin-right:.25rem}.mrs{margin-right:.5rem}.mrm{margin-right:1rem}.mrl{margin-right:2rem}.mrxl{margin-right:4rem}.mrxxl{margin-right:8rem}.mrxxxl{margin-right:16rem}.mbn{margin-bottom:0}.mbxs{margin-bottom:.25rem}.mbs{margin-bottom:.5rem}.mbm{margin-bottom:1rem}.mbl{margin-bottom:2rem}.mbxl{margin-bottom:4rem}.mbxxl{margin-bottom:8rem}.mbxxxl{margin-bottom:16rem}.mtn{margin-top:0}.mtxs{margin-top:.25rem}.mts{margin-top:.5rem}.mtm{margin-top:1rem}.mtl{margin-top:2rem}.mtxl{margin-top:4rem}.mtxxl{margin-top:8rem}.mtxxxl{margin-top:16rem}.mvn{margin-top:0;margin-bottom:0}.mvxs{margin-top:.25rem;margin-bottom:.25rem}.mvs{margin-top:.5rem;margin-bottom:.5rem}.mvm{margin-top:1rem;margin-bottom:1rem}.mvl{margin-top:2rem;margin-bottom:2rem}.mvxl{margin-top:4rem;margin-bottom:4rem}.mvxxl{margin-top:8rem;margin-bottom:8rem}.mvxxxl{margin-top:16rem;margin-bottom:16rem}.mhn{margin-left:0;margin-right:0}.mhs{margin-left:.5rem;margin-right:.5rem}.mhm{margin-left:1rem;margin-right:1rem}.mhl{margin-left:2rem;margin-right:2rem}.mhxl{margin-left:4rem;margin-right:4rem}.mhxxl{margin-left:8rem;margin-right:8rem}.mhxxxl{margin-left:16rem;margin-right:16rem}.mega{font-size:4em}.f1{font-size:2em}.f2,.f3{font-size:1.5em}.f4{font-size:1.25em}.f5{font-size:1em}.small{font-size:.875em}@media screen and (min-width:800px){.mega{font-size:5.5em}.f1{font-size:2.5em}}.tl{text-align:left}.tr{text-align:right}.tc{text-align:center}.tj{text-align:justify}.dn{display:none}.di{display:inline}.db{display:block}.dib{display:inline-block}.w1{width:1em}.w2{width:2em}.w3{width:4em}.w4{width:8em}.w5{width:12em}.w6{width:16em}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-33{width:33%}.w-34{width:34%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-75{width:75%}#schedule .schedule-item .info,.w-80{width:80%}.w-100{width:100%}.w-auto{width:auto}.lh-solid{line-height:1}.lh-title{line-height:1.3}.lh-copy{line-height:1.7}#about .right-column li div,#schedule .schedule-item div,.fl{float:left;display:inline}.fr{float:right;display:inline}.fn{float:none}#about .right-column .about-sections>li:after,#about .right-column .about-sections>li:before,#schedule .schedule-item:after,#schedule .schedule-item:before,.cf:after,.cf:before,section:after,section:before{content:" ";display:table}#about .right-column .about-sections>li:after,#schedule .schedule-item:after,.cf:after,section:after{clear:both}#about .right-column .about-sections>li,#schedule .schedule-item,.cf,section{zoom:1}.v-base{vertical-align:baseline}.v-sub{vertical-align:sub}.v-sup{vertical-align:super}.v-txt-top{vertical-align:text-top}.v-txt-btm{vertical-align:text-bottom}.v-mid{vertical-align:middle}.v-top{vertical-align:top}.v-btm{vertical-align:bottom}body{font-family:Ubuntu Mono,monospace;line-height:1.3;background-color:#f7df1e}#talks{background-image:url("/img/headers/talks.png")}#workshops{background-image:url("/img/headers/workshops.png")}#schedule{background-image:url("/img/headers/schedule.png")}#location{background-image:url("/img/headers/location.png")}#about{background-image:url("/img/headers/about.png")}header{background-image:url("/img/headers/header.png");background-size:cover;height:100vh;width:1000px;text-align:center;background-color:#000}header img.logo{min-width:200px;max-width:500px;width:40%;top:60px}header .livestream,header img.logo{margin:0 auto;position:relative;display:block}header .livestream{top:80px}header nav{z-index:100;display:none;background-color:#000;position:absolute;bottom:-36px;width:100%;font-size:16pt;height:36px}header nav div{display:inline;margin:0 auto}header nav ul{margin:0;display:table-row}header nav li{display:table-cell;vertical-align:middle}header nav a{border-top:4px solid transparent;padding:3px 3px 0;margin:0 12px}header nav a:focus{color:#fff}header nav a:hover{border-top:4px solid #f4db19;color:#f4db19}header nav .wr-icon{padding-right:0}header nav .wr-icon svg{fill:#fff;height:32px;padding:4px 0 0}@media (min-width:1024px){header nav{display:block}}header nav.floating{position:fixed;top:0}header nav .active-section-link{color:#f4db19;border-top:4px solid #f4db19}header nav .wr-icon a{transition:none}header nav .wr-icon a:hover{border-color:transparent;transition:none;border:none}header nav .wr-icon a:hover svg{fill:#f4db19}header nav .wr-icon .active-section-link{border-color:transparent;transition:none;border:none}header nav .wr-icon .active-section-link:hover{transition:none;border:none}header nav .wr-icon .active-section-link svg{fill:#f4db19}header .nav-list{text-transform:uppercase;font-weight:700}header .nav-list li{list-style:none}header .nav-list a{text-decoration:none}header .menu-icon{cursor:pointer;z-index:1666;position:absolute;top:20px;right:20px;padding:0 6px;border-radius:2px;background-color:#f4db19;color:#000;height:36px;font-size:30px}@media (min-width:1024px){header .menu-icon{display:none}}header #menu-checkbox{visibility:hidden}header .menu-wrapper{overflow:hidden;position:absolute;top:0;right:0;transition:right .4s}@media (max-width:1023px){header .menu-wrapper{right:-300px}header .menu-icon,header .menu-wrapper{position:fixed}header #menu-checkbox~.menu-wrapper .menu{right:-280px}header #menu-checkbox:checked~.menu-wrapper{z-index:666;right:0}header #menu-checkbox:checked~.menu-wrapper .menu{right:0}}header .menu{font-size:19pt;transition:right .4s;position:relative;bottom:0;right:0;border-top:100vh solid transparent;border-right:280px solid #000;width:0;height:0}@media (min-width:1024px){header .menu{font-size:21pt}}header .menu .nav-list{margin:0;position:relative;width:180px;text-align:right;bottom:288px;left:75px}header .menu .nav-list li{line-height:32pt}@media (min-width:1024px){header .menu .nav-list{bottom:288px;left:85px}}section{min-height:1500px;padding:300px 0 150px;background-color:#000;background-size:contain;background-repeat:no-repeat}@media (min-width:1024px){section{padding:300px 0 0 150px}}section h1{word-wrap:break-word;font-size:140pt;margin-bottom:100px;font-weight:700;text-transform:uppercase;color:#f4db19}@media (max-width:1023px){section h1{font-size:70px;padding:0 0 0 10px}}@media (min-width:1024px){section .left-column{width:40%;float:left}section .right-column{width:60%;float:left}}@media (max-width:1023px){section .left-column{padding:0 10px}}section .section-content{color:#fff}section .section-content p{padding:0 0 10px;border-bottom:15px solid #fff}@media (min-width:1024px){section .section-content p{margin:0 60px 60px 0;border-bottom:10px solid #fff}}section.active-section{background-attachment:fixed;background-size:cover}#talks h2,#workshops h2{font-size:30pt;font-weight:700}#talks .talk-details,#workshops .talk-details{background-color:#f4db19;color:#000}#talks .presenter-details,#workshops .presenter-details{background-color:#2b2b2b}#talks .talk-details,#workshops .talk-details{transition:all .3s cubic-bezier(.12,.015,1,-.17);padding:30px 10px}@media (min-width:1024px){#talks .talk-details,#workshops .talk-details{padding:30px 160px 30px 30px}}#talks .talk-details p,#workshops .talk-details p{font-size:18pt}#talks .presenter-details,#workshops .presenter-details{font-size:16pt;font-style:italic;padding:15px 10px 0;position:relative;top:-4px;margin:-15px 0 50px 15px;color:#fff}@media (min-width:1024px){#talks .presenter-details,#workshops .presenter-details{padding:15px 160px 15px 15px}}#talks .presenter-details .name,#workshops .presenter-details .name{font-weight:700;padding:0;margin:0}#talks .presenter-details .intro,#workshops .presenter-details .intro{padding:0;margin:0}#talks .presenter-details .links,#workshops .presenter-details .links{list-style:none;margin:15px 0 0}#talks .presenter-details .links li,#workshops .presenter-details .links li{display:inline;color:#fff;padding:0 10px 0 0}#talks .presenter-details .links li i,#workshops .presenter-details .links li i{padding:0 5px 0 0}#talks .presenter-details img,#workshops .presenter-details img{width:17%;height:17%;border-radius:50%}#talks .presenter-details .details-wrapper,#workshops .presenter-details .details-wrapper{padding:0 0 0 20px;display:inline;width:80%}#talks .presenter-wrapper,#workshops .presenter-wrapper{padding:0 0 30px}#talks .talk-nav,#workshops .talk-nav{margin:0 0 20px 20px;padding:0}@media (min-width:1024px){#talks .talk-nav,#workshops .talk-nav{margin:0}}#talks .talk-nav a,#workshops .talk-nav a{white-space:normal}#workshops .workshop-details{list-style:none}#workshops .workshop-details li:before{content:"-";margin:0 8px 0 0;display:inline}#workshops .workshop-details a:hover{color:#fff;border-bottom:1px solid #fff}#schedule .right-column{color:#f4db19;padding:0 10px}#schedule .right-column p a{color:#f4db19;border-bottom:1px solid #f4db19}#schedule .day-schedule{list-style:none;margin:0}@media (min-width:1024px){#schedule .day-schedule{margin:32px}}#schedule .schedule-item:hover{color:#000;background-color:#f4db19}#schedule .schedule-item .time{padding:0 10px 10px 0;width:60px}#schedule .schedule-item div{display:block}#schedule .schedule-item .info{padding:0 0 10px 10px;border-left:2px solid #f4db19}#schedule .schedule-item .title{text-transform:uppercase;display:block;font-weight:700}#schedule .schedule-item .details{display:block;font-style:italic}#location{font-size:18pt;padding-bottom:40px}#location a{color:#000;border-bottom:1px solid #000}#location a:hover{color:#fff;border-bottom:1px solid #fff}#location .right-column{color:#000;padding:30px 160px 30px 30px;background-color:#f4db19}@media (max-width:1023px){#location .right-column{padding:10px}}#location h5{text-transform:uppercase;margin-bottom:-1.3pt}#location h4,#location h5{font-size:18pt;font-weight:700}#about a{color:#000;border-bottom:1px solid #000}#about a:hover{color:#fff;border-bottom:1px solid #fff}#about h4{font-size:34px;font-weight:700;text-align:left;margin-bottom:13px}#about p{font-size:20px;line-height:1.2;text-align:left}#about ol,#about ul{margin:0 0 30px}#about li ol,#about li p,#about li ul{max-width:480px}#about .right-column{color:#f4db19}#about .right-column ul{list-style:none}#about .right-column>ul>li{margin:0 0 40px}#about .right-column ol,#about .right-column ul{list-style:none}#about .right-column ol li:before,#about .right-column ul li:before{content:"-";margin:0 8px 0 0;display:inline}#about .right-column i{font-size:70px}#about .right-column .about-sections>li{padding:30px}#about .right-column .icon{margin:0 30px;width:70px}#about .with-background{background-color:#f4db19;color:#000}#about .fist-svg-wrapper,#about .js-svg-wrapper{width:70px}#about .fist-svg-wrapper svg{fill:#000}@media (max-width:1023px){#about .icon{display:none!important}}#sponsors{background-color:#f4db19;min-height:1000px;padding:100px 0 150px}#sponsors h1{color:#000}@media (min-width:1024px){#sponsors{padding:100px 0 0 150px}}#sponsors ul{list-style:none;padding:0;margin:0 60px 60px 0}@media (max-width:1023px){#sponsors ul{margin:0 0 0 2em}}#sponsors li{display:inline-block;width:22%;margin:10px}@media (max-width:1023px){#sponsors li{width:44%;margin:0}}#sponsors li a{margin:0;padding:0}#sponsors img{max-width:100%;height:auto;background-color:#fff}#sponsors .section-content p{color:#000;border-color:#000;font-size:18pt}@media (min-width:1024px){#sponsors .section-content p{width:33%}}footer{padding:100px 0 200px;background-color:#000;color:#f4db19;text-align:center}footer .footer-wrapper{margin:0 auto;max-width:600px}footer a{color:#f4db19}footer a:hover{color:#fff}footer ul{list-style:none;margin:0}footer li{display:inline;margin:0 20px 0 0;font-size:50px}footer h5{font-weight:700;font-size:16pt;margin-bottom:-1.3pt;padding-top:20px;text-transform:uppercase}footer button{background-color:#f4db19;border-radius:3px;color:#000;border:none;font-size:18px;width:250px;display:block;margin:0 auto;text-transform:uppercase;margin-top:2px}footer input{background-color:#000;border-color:#f4db19;border-radius:3px;color:#f4db19;border:4px solid #f4db19;font-size:18px;width:250px}footer input:-ms-input-placeholder{color:#f4db19}footer input::placeholder{color:#f4db19}footer .fist-svg-wrapper{padding:150px 0 0}footer .fist-svg-wrapper svg{width:60px;fill:#f4db19}</style>
</head>
<body>
<header class="w-100" id="top">
<img class="logo" src="/files/wr_logo.svg" alt="">
<iframe class="livestream" width="560" height="315" src="/files/acIOV8wtkOo.html" frameborder="0" allowfullscreen=""></iframe>
<label for="menu-checkbox" class="menu-icon">
<i class="fa fa-bars"></i>
</label>
<input type="checkbox" id="menu-checkbox">
<div class="menu-wrapper">
<div class="menu">
<ul class="nav-list">
<li><a href="https://ti.to/webrebels/2017">tickets <i class="fa fa-check"></i></a></li>
<li><a id="talks-btn" href="/#talks">talks <i class="fa fa-microphone"></i></a></li>
<li><a href="/#workshops">workshops <i class="fa fa-terminal"></i></a></li>
<li><a href="/#schedule">schedule <i class="fa fa-calendar"></i></a></li>
<li><a href="/#location">location <i class="fa fa-location-arrow"></i></a></li>
<li><a href="/#about">about <i class="fa fa-question"></i></a></li>
<li><a href="/#sponsors">sponsors <i class="fa fa-rocket"></i></a></li>
</ul>
</div>
</div>
<nav id="desktop-nav" class="floating">
<div>
<ul class="nav-list">
<li class="wr-icon"><a href="/#top" class=""><!--?xml version="1.0" encoding="utf-8"?-->
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 104 86" xml:space="preserve">
<path d="M51.04,83.52C54.5,56.29,57.95,29.49,61.4,2.27c-4.42,0.2-9.3-0.14-13.72-0.05c-1.5,14.11-2.98,28.22-4.46,42.33l0.01-0.01
c-0.08,1.06-0.12,1.6-0.2,2.66c-0.35,0-0.53,0-0.89,0.01c-0.14-1.06-0.21-1.59-0.35-2.65c-1.8-14.09-3.6-28.17-5.39-42.26
c-0.11,0-8.63-0.16-8.63-0.16c-1.59,14.02-3.19,28.04-4.79,42.06c-0.13,1.06-0.19,1.58-0.31,2.64c-0.35-0.02-0.53-0.02-0.88-0.04
c-0.1-1.07-0.15-1.6-0.24-2.67c-1.69-14.17-3.38-28.34-5.06-42.52C12.05,1.34,6.9,1.17,2.47,0.75c3.84,27.39,7.69,54.77,11.54,82.16
c3.72,0.23,8.52,0.32,12.24,0.45c1.75-12.78,3.5-25.56,5.25-38.33c0.25-1.9,0.38-2.85,0.63-4.74c0.18,0,0.27,0.01,0.44,0.01
c0.28,1.91,0.42,2.86,0.7,4.77c1.94,12.85,3.87,25.7,5.81,38.55C42.8,83.61,47.33,83.59,51.04,83.52z M92.72,42.75
c5.36-3.38,8.76-8.35,9.6-18.99c0.76-9.68-0.13-27.43-32.34-21.89L59.66,83.6c7.07-0.12,13.06-0.39,13.06-0.39
c1.45-11.5,2.9-23,4.35-34.5c1.4-0.08,2.1-0.12,3.51-0.19c0,0,3.16,22.43,3.96,33.81c7.22-0.4,12.83-1.28,12.83-1.28
C96.26,67.98,92.72,42.75,92.72,42.75z M78.49,37.57L78.49,37.57l3.06-24.27c3.63-0.2,9.62-0.09,8.14,11.59
C88.21,36.58,82.12,37.37,78.49,37.57z"></path>
</svg>
</a></li>
<li><a href="https://ti.to/webrebels/2017">tickets <i class="fa fa-check"></i></a></li>
<li><a href="/#talks" class="">talks <i class="fa fa-microphone"></i></a></li>
<li><a href="/#workshops" class="">workshops <i class="fa fa-terminal"></i></a></li>
<li><a href="/#schedule" class="">schedule <i class="fa fa-calendar"></i></a></li>
<li><a href="/#location" class="">location <i class="fa fa-location-arrow"></i></a></li>
<li><a href="/#about" class="active-section-link">about <i class="fa fa-question"></i></a></li>
<li><a href="/#sponsors" class="">sponsors <i class="fa fa-rocket"></i></a></li>
</ul>
</div>
</nav>
</header>
<section id="talks" class="active-section">
<h1>Talks</h1>
<div class="left-column section-content">
<p>Two days, one track, <br> 18 speakers & 17 talks!</p>
<ul class="talk-nav">
<li><a href="/#talk-0">Arne Martin Aurlien</a></li>
<li><a href="/#talk-1">Benedikt Meurer</a></li>
<li><a href="/#talk-2">Charlie Gerard</a></li>
<li><a href="/#talk-3">Franziska Hinkelmann</a></li>
<li><a href="/#talk-4">Jan Krutisch</a></li>
<li><a href="/#talk-5">Jana Beck</a></li>
<li><a href="/#talk-6">Jared Forsyth</a></li>
<li><a href="/#talk-7">Jason Lengstorf</a></li>
<li><a href="/#talk-8">John Feminella</a></li>
<li><a href="/#talk-9">Magnús Dæhlen</a></li>
<li><a href="/#talk-10">Marcy Sutton</a></li>
<li><a href="/#talk-11">Mariko Kosaka & Suz Hinton</a></li>
<li><a href="/#talk-12">Matteo Collina</a></li>
<li><a href="/#talk-13">Mike Taylor</a></li>
<li><a href="/#talk-14">Raquel Vélez</a></li>
<li><a href="/#talk-15">Steve Kinney</a></li>
<li><a href="/#talk-16">Tiberius Hefflin</a></li>
</ul>
</div>
<div class="right-column">
<div id="talk-0" class="talk">
<div class="talk-details">
<h2>Compiling (or “transpiling” or whatever) to JS</h2>
<p>How do programming languages that compile to JS work? How are they made?
<br><br>
Let’s find out, together! We will go on a journey where the end result is a brand new compile-to-JS language.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/arne_martin_aurlien.jpg" alt="Profile image for Arne Martin Aurlien">
<div class="details-wrapper w-75 fl">
<p class="name">Arne Martin Aurlien</p>
<p class="intro">Arne Martin is a web developer and partner at a very small agency in Trondheim, where he lives with his wife and daughter and pet polar bear. He sings both in and out of the shower.</p>
<ul class="links">
<li><a href="https://twitter.com/arnemart"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-1" class="talk">
<div class="talk-details">
<h2>ESnext Performance - Why bother?</h2>
<p>ES2015 added a lot of sex appeal to JavaScript, and ES2016/17 make it even more sexy. Babel and friends allow everyone to use ESnext today, but lead to large JavaScript bundles and sluggish page load. <br><br>To really shine, ESnext features need to be supported natively, and they must be reasonably fast.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/benedikt_meurer.jpg" alt="Profile image for Benedikt Meurer">
<div class="details-wrapper w-75 fl">
<p class="name">Benedikt Meurer</p>
<p class="intro">Benedikt is a JavaScript compiler engineer who loves to tinker with different aspects of programming languages and the various nasty details of their runtimes. <br><br> At Google he is the Tech Lead of the JavaScript Execution Optimization Team, working on the V8 JavaScript engine that powers both Node.js and Chrome.</p>
<ul class="links">
<li><a href="https://twitter.com/bmeurer"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-2" class="talk">
<div class="talk-details">
<h2>Look mum, no hands!</h2>
<p>A typical interaction with a device or interface involves touching it. Either you’re pressing buttons on a controller, swiping on a touchscreen or clicking on your laptop’s trackpad. But what if you could control things without the use of your hands? What if you could use… your thoughts?</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/charlie_gerard.jpg" alt="Profile image for Charlie Gerard">
<div class="details-wrapper w-75 fl">
<p class="name">Charlie Gerard</p>
<p class="intro">I come from a marketing background and changed career a couple of years ago to become a developer. I started my dev career as a Software Developer and consultant @ ThoughtWorks in Sydney, working on various types of projects from small websites for startups to complex software for big corporations. I quickly developed a great interest in tinkering with hardware, cutting edge technologies and creative coding. Therefore, I have spent a lot of my personal time over the past few years prototyping projects to mix technology, design and art. <br><br>I also contribute to the community by writing tutorials about my experiments and by giving talks at meetups and coding bootcamps to share my passion for creative technologies and hopefully motivate developers to explore that space. I recently moved to London in the hope of being part of more innovative projects.</p>
<ul class="links">
<li><a href="https://twitter.com/charlie__gerard"><i class="fa fa-twitter"></i>Twitter</a></li>
<li><a href="https://github.com/charliegerard"><i class="fa fa-github"></i>Github</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-3" class="talk">
<div class="talk-details">
<h2>JavaScript engines - how do they even?</h2>
<p>Want to know how JavaScript engines work? Why is JavaScript so fast? What is just-in-time compilation? We’ll look at basic concepts of compilers, challenges posed by modern JavaScript, and how to write compiler-friendly JavaScript.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/franziska_hinkelmann.jpg" alt="Profile image for Franziska Hinkelmann">
<div class="details-wrapper w-75 fl">
<p class="name">Franziska Hinkelmann</p>
<p class="intro">Franziska has a Ph.D. in mathematics and is a software engineer on Google’s V8 team. She's an expert on ES6 performance and a Node.js core collaborator. <br><br>When she's not working hard on making JavaScript and Node faster, she's probably out horseback riding.</p>
<ul class="links">
<li><a href="https://twitter.com/fhinkel"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-4" class="talk">
<div class="talk-details">
<h2>Hello? Yes, this is Synth - Making Hardware better with the Web</h2>
<p>Join me on a fast paced ride through the exciting possibilities, mind boggling bugs, impossible challenges and fun experiments of building a unique, stable and successful web application to augment a hardware synthesizer using cutting edge browser APIs.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/jan_krutisch.jpg" alt="Profile image for Jan Krutisch">
<div class="details-wrapper w-75 fl">
<p class="name">Jan Krutisch</p>
<p class="intro">Currently in transition to becoming a proper grey beard, I’m old enough to remember a world without the web, or cyberspace as we used to call it. <br><br>I’m a web developer by day, working on tools for designers and developers at Flowbyte, and a musician and general digital artist by night. Actually, usually I sleep at night, but you know what I mean.</p>
<ul class="links">
<li><a href="https://twitter.com/halfbyte"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-5" class="talk">
<div class="talk-details">
<h2>JavaScript therapy</h2>
<p>Generator functions are pause-able(!) functions, a strange concept that only gets stranger as you learn to put generator code inside while (true) loops(!!). <br><br>This talk aims to help, just like the classic therapist program Eliza, which we’ll reimplement on our path to understanding generators.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/jana_beck.jpg" alt="Profile image for Jana Beck">
<div class="details-wrapper w-75 fl">
<p class="name">Jana Beck</p>
<p class="intro">Jana Beck is a coffee-fueled engineer at a small open-source and not-for-profit startup called Tidepool, based in the Bay Area of California but with developers on three continents. Tidepool’s mission is to reduce the burden of type 1 diabetes through data technology, and Jana works mostly on Tidepool’s front-end stack (React with redux; D3 for data visualization).<br><br> When she’s not coding or sleeping, there’s a high probability that Jana is sweating in a gym or a dance studio.</p>
<ul class="links">
</ul>
</div>
</div>
</div>
</div>
<div id="talk-6" class="talk">
<div class="talk-details">
<h2>Type systems will make you a better JavaScript developer</h2>
<p>Flow and TypeScript promise “types in js” - but what does that get you, exactly? What’s the experience of adding types to a large project? Is the overhead worth it for you and your team? In the end, type systems will give you more confidence in your code, fewer bugs, and a much friendlier codebase.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/jared_forsyth.jpg" alt="Profile image for Jared Forsyth">
<div class="details-wrapper w-75 fl">
<p class="name">Jared Forsyth</p>
<p class="intro">I interned on the React Native team, I rewrote the React devtools, and I’ve given several talks on React & related technologies. I work at Khan Academy on the mobile team, where I work in Swift, ObjC, Java, and Javascript. <br><br>I love type systems and learning new languages, and I’m deeply invested in improving the experience of programming for everyone.</p>
<ul class="links">
</ul>
</div>
</div>
</div>
</div>
<div id="talk-7" class="talk">
<div class="talk-details">
<h2>Who Gives a Fuck About a Monad? Functional Programming for People Who Hate Math</h2>
<p>Functional programming means cleaner code, easier maintenance, and simpler testing, but most of us will never use it because it’s explained in such a complex, mathematical, and confusing way. This talk explains how we can get the benefits of functional programming today — no math required.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/jason_lengstorf.jpg" alt="Profile image for Jason Lengstorf">
<div class="details-wrapper w-75 fl">
<p class="name">Jason Lengstorf</p>
<p class="intro">Jason Lengstorf is a developer, designer, author, and friendly bear. He’s worked in nearly every role in an agency and uses his 14+ years of experience to offer a unique, cross-functional approach to solving complex problems. He has written several books and dozens of tutorials about development, built and sold a successful web agency, and created award-winning web projects for companies including PlayStation, Intel, and Precision Nutrition.
<br><br>
Jason is passionate about building better careers by first focusing on building better lives. He focuses on work-life balance, efficiency, processes, and productivity to help people get more done in less time — so they can spend more time on the things that matter most. Jason recently joined IBM Design as a senior front-end developer and mentor to new hires, where he hopes to scale this philosophy throughout one of the largest companies in the world.
<br><br>
He lives in Austin, TX, spends most of his disposable income on food and travel, and can often be spotted in the forest foraging for nuts and berries.</p>
<ul class="links">
<li><a href="https://twitter.com/jlengstorf"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-8" class="talk">
<div class="talk-details">
<h2>Time and Time Again: Fixing Dates in JS</h2>
<p>In JavaScript, times and dates can take many forms, but none of them represent a complete, unambiguous answer to the simple question “what time is it?”. While almost anyone can look at a clock at determine what time it is, it turns out that humans encode an enormous amount of hidden information into their representations of date and times. Because computers don’t have the benefit of knowing about this hidden information, times can be much more ambiguous.
<br><br>
In this talk, we’ll show how to extend our mental model of JS dates and times so that they become useful. Starting from our everyday understanding, we’ll progress through successively larger and more comprehensive representations until we get to a much more complete picture of how things should work. By the end of the talk, you’ll have an appreciation for how complicated dates and times really are, and you’ll be able to confidently avoid the most common pitfalls.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/john_feminella.jpg" alt="Profile image for John Feminella">
<div class="details-wrapper w-75 fl">
<p class="name">John Feminella</p>
<p class="intro">John Feminella is an avid technologist, occasional public speaker, and curiosity advocate. He serves as an advisor to Pivotal, where he works on helping enterprises transform the way they write, operate, and deploy software. He’s also the cofounder of a tiny analytics monitoring and reporting startup named UpHex.
<br><br>
John lives in Charlottesville, VA and likes meta-jokes, milkshakes, and referring to himself in the third person in speaker bios.</p>
<ul class="links">
<li><a href="https://twitter.com/jxxf"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-9" class="talk">
<div class="talk-details">
<h2>A Room With a Vue</h2>
<p>In this crazy jungle of js frameworks, we got yet another one. Vue.js was officially released in late 2015 and started accumulating followers during 2016. Today it is already released as a 2.0 and a serious contender to React and Angular. I will tell more about this outsider.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/magnus_daehlen.jpg" alt="Profile image for Magnús Dæhlen">
<div class="details-wrapper w-75 fl">
<p class="name">Magnús Dæhlen</p>
<p class="intro">My name is Magnús Dæhlen. I am a consultant at Iterate and is currently a hired gun at Cisco. I just love attention. Probably why I kinda love playing in the band For a While better than IT, but who knows. <br><br> In between music and IT, I try to be a good husband and dad as well as keeping way to many hobbies alive.
That’s mostly it.</p>
<ul class="links">
</ul>
</div>
</div>
</div>
</div>
<div id="talk-10" class="talk">
<div class="talk-details">
<h2>JavaScript and Civil Rights: Using Your Skills For The Good of the People</h2>
<p>Accessibility is a civil right. We can take inspiration from Norway’s strict accessibility policy and make a business case for inclusion by building it into our projects using open source JS tools. I want to teach developers everywhere they are capable of making a big difference with code.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/marcy_sutton.jpg" alt="Profile image for Marcy Sutton">
<div class="details-wrapper w-75 fl">
<p class="name">Marcy Sutton</p>
<p class="intro">Marcy Sutton works as a meta web developer on accessibility tools for other developers at Deque (DQ) Systems, a company focused on digital equality. Marcy is passionate about making the web accessible for everyone. <br><br>She loves applying her skills and personal values on the axe-core project, speaking at conferences around the world and producing accessibility screencasts for Egghead.io. <br><br>Her blog, Accessibility Wins, highlights accessible user interfaces and tools, contributing a positive voice to the web development space. When away from the keyboard, Marcy can usually be found hiking, riding a bicycle or snowboarding.</p>
<ul class="links">
<li><a href="https://twitter.com/marcysutton"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-11" class="talk">
<div class="talk-details">
<h2>Can You Read Me? Creative JavaScript to Make Computer Science Fun</h2>
<p>Two web developers who are full of curiosity to learn all about machines and code met at a meetup. Unsatisfied with traditional computer science textbook and what we felt like not so learner friendly software engineering landscape, we decided to learn by working together in the format we enjoy the most - creative project.<br><br>We are building machines (both software and hardware) in JavaScript to send secret messages to each other. Different forms of data blob are exchanged periodically as a message. In order to read those messages, each has to learn and build a system to decode the data.<br><br>This talk will tell the story of the machines, their parts, and the possibilities of remote creative collaboration. You’ll come away with fresh inspiration on how JavaScript can be used to learn computer science concepts the enjoyable way.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/mariko_kosaka.jpg" alt="Profile image for Mariko Kosaka">
<div class="details-wrapper w-75 fl">
<p class="name">Mariko Kosaka</p>
<p class="intro">Mariko is an engineer who loves data and knitting. When she is not making software at Scripto, she uses code to help her design textiles & organize a local JavaScript meetup in New York City called BrooklynJS.</p>
<ul class="links">
</ul>
</div>
</div>
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/susan_hinton.jpg" alt="Profile image for Suz Hinton">
<div class="details-wrapper w-75 fl">
<p class="name">Suz Hinton</p>
<p class="intro">Suz Hinton is a JavaScript developer who likes to tinker with hardware. <br><br>Beside of being a technical evangelist at Microsoft she's a maker at heart and no stranger to minor burns from soldering irons and 3D printers. She's a regular contributor to the open source Node.js electronics scene, and enjoys teaching others how to immerse themselves in the nerdiverse.</p>
<ul class="links">
</ul>
</div>
</div>
</div>
</div>
<div id="talk-12" class="talk">
<div class="talk-details">
<h2>Building a Scalable Pub/Sub system with UpRing</h2>
<p>The world is real-time: our users expect to receive live notifications, updates, and use extremely reactive interfaces. In a real-time world, we might want to connect physical things, each of them with their own live connection to the cloud. Delivering live notifications has always been a complex task, but tools like WebSockets and Socket.io have enabled a wide range of applications to flourish.
<br><br>
Scaling those systems often turns out to be problematic. Generally an external publish/subscribe broker is leveraged to deliver the messages, with our application or the framework acting as a proxy. These brokers are usually central points of failure, and extremely difficult to scale.
<br><br>
UpRing is a distributed system framework for building applications on top of a Consistent Hashring. In other words, UpRing is a P2P system for cloud applications. With UpRing, all the notifications for a single element are routed through the same server, removing the central point of failure and allowing for fine-grained elastic scalability in ratio to the amount of current users.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/matteo_collina.jpg" alt="Profile image for Matteo Collina">
<div class="details-wrapper w-75 fl">
<p class="name">Matteo Collina</p>
<p class="intro">Matteo is a code pirate and mad scientist. He spends most of his days programming in node.js, but in the past he worked with Ruby, Java and Objective‑C.<br><br>
He recently got a Ph.D. with a thesis titled "Application Platforms for the Internet of Things". Now he is a Software Architect at nearForm, where he consults for the top brands in world. Matteo is also the author of the Node.js MQTT Broker, Mosca and of the LevelGraph database. He is also co-author of the book "Javascript: Best Practices" edited by FAG, Milan.</p>
<ul class="links">
<li><a href="https://twitter.com/matteocollina"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-13" class="talk">
<div class="talk-details">
<h2>Doing the Unstuck: How to make browsers compatible with the web</h2>
<p>What does it mean for JavaScript and CSS to be — or not to be — compatible with the web? Is it possible for a site written today to continue to work in 10 years? Likewise, could existing code complicate adding language features or fixing mistakes in web APIs?<br><br>In this talk I'll discuss the issues that arise when browsers attempt to clean up the web platform, either by adding new language features and DOM APIs or removing old ones — while attempting to remain backwards compatible. I'll even talk about some controversial moves made by browsers to support non-standard (cough webkit prefixes) CSS and JS.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/mike_taylor.jpg" alt="Profile image for Mike Taylor">
<div class="details-wrapper w-75 fl">
<p class="name">Mike Taylor</p>
<p class="intro">Mike Taylor is a Web Compatibility Engineering Manager at Mozilla, working from Austin, TX. Previously he worked as a Web Opener at Opera Software, which is a funny title for pretty much the same thing (minus the management bit).</p>
<ul class="links">
</ul>
</div>
</div>
</div>
</div>
<div id="talk-14" class="talk">
<div class="talk-details">
<h2>The Beauty of Bad Code</h2>
<p>No one likes writing bad code. But what is it? How can we prevent it? And is it *really* that bad? Let’s dive in!</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/raquel_velez.jpg" alt="Profile image for Raquel Vélez">
<div class="details-wrapper w-75 fl">
<p class="name">Raquel Vélez</p>
<p class="intro"></p>
<ul class="links">
<li><a href="https://twitter.com/rockbot"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-15" class="talk">
<div class="talk-details">
<h2>Bringing Back the 1990s: The Revenge of JavaScript Style Sheets</h2>
<p>JavaScript Style Sheets were an early competitor to CSS. Spoiler alert: CSS won. In the decades since, JSSS has had a growing influence on how we thinking about styling web applications. CSS and SASS cribbed a few moves from JSSS and some emerging approaches are set to bring it back from the dead.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/steve_kinney.jpg" alt="Profile image for Steve Kinney">
<div class="details-wrapper w-75 fl">
<p class="name">Steve Kinney</p>
<p class="intro">Steve is the founding director of the Front-End Engineering Program at the Turing School of Software and Design in Denver, Colorado where he teaches JavaScript and other technologies to aspiring developers. <br><br>He’s also the lead organizer for DinosaurJS, which is also part of the JSConf Family of Conferences. He’s slowly, but surely, writing a book on Electron. He is a recovering New York City public school teacher and recently learned how to drive a car. Definitely not a lizard.</p>
<ul class="links">
<li><a href="https://twitter.com/stevekinney"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="talk-16" class="talk">
<div class="talk-details">
<h2>Security Starts With You: Social Engineering</h2>
<p>Virus? There’s an app for that. Malware? There’s an app for that. Social engineering? It’s a little more complicated. <br><br>Aimed at average users who could be targeted by such an attack, I will look at the tools of social engineering, how to avoid them & why companies fail to prep employees for attacks.</p>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/tiberius_hefflin.jpg" alt="Profile image for Tiberius Hefflin">
<div class="details-wrapper w-75 fl">
<p class="name">Tiberius Hefflin</p>
<p class="intro">Tibbs recently graduated from the University of West of Scotland with a degree in computer security. She has relocated to Portland, OR, where she evangelizes for privacy and security while doing security assurance work for Portland General Electric. <br><br>She is passionate about encouraging small children to take the plunge into STEM and about laughing at cats on the internet.</p>
<ul class="links">
<li><a href="https://twitter.com/whatatiberius"><i class="fa fa-twitter"></i>Twitter</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="workshops" class="active-section">
<h1>Workshops</h1>
<div class="left-column section-content">
<p>
Get hands on with other Web Rebels
</p>
<ul class="talk-nav">
<li><a href="/#workshop-0">Mathias Buus Madsen & Thomas Watson</a></li>
</ul>
</div>
<div class="right-column">
<div id="workshop-0" class="talk">
<div class="talk-details">
<h2>Workshop: Learn to P2P</h2>
<p>Come join the latest chapter in our series of "Learn to P2P" workshops. <br><br> The focus will be how to build systems that support streaming and sharing of real time data. The workshop will consist of a series of small iterative exercises that will take you through the basics of networking and distributed systems, all the way to learning how you can make your own P2P TV and radio stations.
<br><br>There will be content for everybody, no matter your skill level.
We'll be using Node.js but the techniques will work across any programming language.
</p>
<ul class="workshop-details">
<li>Time: Saturday 3rd June, 13:00 - 17:00</li>
<li>Place:
<a href="https://www.google.no/maps/place/Bitraf/@59.9141427,10.7467363,17z/data=!3m1!4b1!4m5!3m4!1s0x46416e623261c89b:0x272bc10019d995ae!8m2!3d59.91414!4d10.748925?hl=en">
Bitraf, Pløens Gate 4
</a>
</li>
<li>Cost: 134 NOK</li>
<li>Tickets can be purchased
<a href="https://ti.to/webrebels/2017">
here
</a>
</li>
</ul>
</div>
<div class="presenter-details cf">
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/mathias_buus_madsen.jpg" alt="Profile image for Mathias Buus Madsen">
<div class="details-wrapper w-75 fl">
<p class="name">Mathias Buus Madsen</p>
<p class="intro">Mathias lives in Copenhagen, Denmark. He tends to publish a lot stuff on <a href="/files/github.com/mafintosh">github</a>.<br><br>
In the last years he has mainly been working with distributed systems and peer to peer in node (among other things he wrote a streaming torrent client called torrent-stream, a torrent video player and a torrent based file system).<br><br>
He also works on the <a href="https://dat-data.com/">dat project</a> where we’re trying to revolutionize how data is being shared and versioned.</p>
<ul class="links">
<li><a href="https://github.com/mafintosh"><i class="fa fa-github"></i>Github</a></li>
</ul>
</div>
</div>
<div class="presenter-wrapper cf">
<img class="fl w-25" src="/files/thomas_watson.jpg" alt="Profile image for Thomas Watson">
<div class="details-wrapper w-75 fl">
<p class="name">Thomas Watson</p>
<p class="intro">Thomas Watson is an open source Node.js hacker out of Copenhagen, Denmark. He is a member of the Node.js Diagnostics Working Group and is the Node.js. Lead at Opbeat – a JavaScript performance analysis and monitoring startup. <br><br>He maintains over a 100 open source projects, enjoys working with mad science and implementing network protocols in JavaScript.</p>
<ul class="links">
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="schedule" class="active-section">
<h1>Schedule</h1>
<div class="left-column section-content">
<p>What's happening when. <br> Changes can occur.</p>
</div>
<div class="right-column">
<h2>Thursday, 2 June</h2>
<p>Welcome to the first day of the conference <br> Follow the conference talks live on <a href="https://youtu.be/4WbpKSh0FWk">YouTube</a> from 09:00 to 18:00</p>
<ol class="day-schedule">
<li class="schedule-item">
<div class="time">08:00</div>
<div class="info">
<span class="title">Registration and breakfast</span>
<span class="details">As the tradition goes, no need for that hotel breakfast! Join us for a Rebel breakfast instead.</span>
</div>
</li>
<li class="schedule-item">
<div class="time">09:00</div>
<div class="info">
<span class="title">Doing the Unstuck: How to make browsers compatible with the web</span>
<span class="details">Mike Taylor</span>
</div>
</li>
<li class="schedule-item">
<div class="time">09:45</div>
<div class="info">
<span class="title">Bringing Back the 1990s: The Revenge of JavaScript Style Sheets</span>
<span class="details">Steve Kinney</span>
</div>
</li>
<li class="schedule-item">
<div class="time">10:30</div>
<div class="info">
<span class="title">Coffee/tea break</span>
<span class="details"></span>
</div>
</li>
<li class="schedule-item">
<div class="time">11:00</div>
<div class="info">
<span class="title">A Room With a Vue</span>
<span class="details">Magnús Dæhlen</span>
</div>
</li>
<li class="schedule-item">
<div class="time">11:45</div>
<div class="info">
<span class="title">Who Gives a Fuck About a Monad? Functional Programming for People Who Hate Math</span>
<span class="details">Jason Lengstorf</span>
</div>
</li>
<li class="schedule-item">
<div class="time">12:30</div>
<div class="info">
<span class="title">Lunch</span>
<span class="details"></span>
</div>
</li>
<li class="schedule-item">
<div class="time">13:30</div>
<div class="info">
<span class="title">Security Starts With You: Social Engineering</span>
<span class="details">Tiberius Hefflin</span>
</div>
</li>
<li class="schedule-item">
<div class="time">14:15</div>
<div class="info">
<span class="title">JavaScript and Civil Rights: Using Your Skills For The Good of the People</span>
<span class="details">Marcy Sutton</span>
</div>
</li>
<li class="schedule-item">
<div class="time">15:00</div>
<div class="info">
<span class="title">Coffee/tea break</span>
<span class="details"></span>
</div>
</li>
<li class="schedule-item">
<div class="time">15:30</div>
<div class="info">
<span class="title">Look mum, no hands!</span>
<span class="details">Charlie Gerard</span>
</div>
</li>
<li class="schedule-item">
<div class="time">16:15</div>
<div class="info">
<span class="title">Compiling (or “transpiling” or whatever) to JS</span>
<span class="details">Arne Martin Aurlien</span>
</div>
</li>
<li class="schedule-item">
<div class="time">17:00</div>
<div class="info">
<span class="title">Type systems will make you a better JavaScript developer</span>
<span class="details">Jared Forsyth</span>
</div>
</li>
<li class="schedule-item">
<div class="time">18:00</div>
<div class="info">
<span class="title">Conference dinner and social gathering</span>
<span class="details">right next door to the venue.</span>
</div>
</li>
</ol>
<h2>Friday, 3 June</h2>
<p>Conference day #2, with 8 more talks starting at 09:00. <br> Follow the conference talks live on <a href="https://youtu.be/acIOV8wtkOo">YouTube</a> from 09:00 to 17:00</p>
<ol class="day-schedule">
<li class="schedule-item">
<div class="time">08:00</div>
<div class="info">
<span class="title">Breakfast</span>
<span class="details">Full beakfast to help you get ready for an action packed day!</span>
</div>
</li>
<li class="schedule-item">
<div class="time">09:00</div>
<div class="info">
<span class="title">The Beauty of Bad Code</span>
<span class="details">Raquel Vélez</span>
</div>
</li>
<li class="schedule-item">
<div class="time">09:45</div>
<div class="info">
<span class="title">Time and Time Again: Fixing Dates in JS</span>
<span class="details">John Feminella</span>
</div>
</li>
<li class="schedule-item">
<div class="time">10:30</div>
<div class="info">
<span class="title">Coffee/tea break</span>
<span class="details"></span>
</div>
</li>
<li class="schedule-item">
<div class="time">11:00</div>
<div class="info">
<span class="title">JavaScript engines - how do they even?</span>
<span class="details">Franziska Hinkelmann</span>
</div>
</li>
<li class="schedule-item">
<div class="time">11:45</div>
<div class="info">
<span class="title">ESnext Performance - Why bother?</span>
<span class="details">Benedikt Meurer</span>
</div>
</li>
<li class="schedule-item">
<div class="time">12:30</div>
<div class="info">
<span class="title">Lunch</span>
<span class="details"></span>
</div>
</li>
<li class="schedule-item">
<div class="time">13:30</div>
<div class="info">
<span class="title">Hello? Yes, this is Synth - Making Hardware better with the Web</span>
<span class="details">Jan Krutisch</span>
</div>
</li>
<li class="schedule-item">
<div class="time">14:15</div>
<div class="info">
<span class="title">JavaScript therapy</span>
<span class="details">Jana Beck</span>
</div>
</li>
<li class="schedule-item">
<div class="time">15:00</div>
<div class="info">
<span class="title">Coffee/tea break</span>
<span class="details"></span>
</div>
</li>
<li class="schedule-item">
<div class="time">15:30</div>
<div class="info">
<span class="title">Building a Scalable Pub/Sub system with UpRing</span>
<span class="details">Matteo Collina</span>
</div>
</li>
<li class="schedule-item">
<div class="time">16:15</div>
<div class="info">
<span class="title">Can You Read Me? Creative JavaScript to Make Computer Science Fun</span>
<span class="details">Mariko Kosaka & Suz Hinton</span>
</div>
</li>
<li class="schedule-item">
<div class="time">17:00</div>
<div class="info">
<span class="title">Group photo</span>
<span class="details"></span>
</div>
</li>
</ol>
</div>
</section>
<section id="location" class="active-section">
<h1>Location</h1>
<div class="left-column section-content">
<p>Where is the venue and <br> how do i get there?</p>
</div>
<div class="right-column">
<h4>Welcome to Grünerløkka and Vulkan</h4>
<p>
Everything related to the conference happens at Vulkan, Grünerløkka,
within a 100m radius of the venue:
the conference, lunch and the social events.
</p>
<img src="/files/venue.jpg" title="Dansens Hus (House of Dance)">
<h5>Venue</h5>
<p>
Welcome to “Dansens hus” which is the National Stage for Dance. Located
right next door to Mathallen and with it's larger capacity it is an
ideal location for our conference for our 5th edition.
</p>
<h5>Lunch at Mathallen</h5>
<p>
Right next door from Dansens hus is Mathallen which is Oslo’s first
gourmet food market and located about 20 meters from the venue. There is
a wide selection of gourmet food stores, restaurants, excellent coffee
and beer shops. All food served at the conference will be provided from
these establishments.
</p>
<img src="/files/mathallen-small.jpg">
<h5>Accessibility</h5>
<p>
The venue is wheelchair accessible. The entrance is on the ground floor.
If you have any questions about practicalities – or if there is anything
we can do to make your attendance possible, please do not hesitate to
<a href="mailto:boyhowdy[%20replace%20this%20bracket%20with%20a%20@]webrebels.org">
shoot us an email
</a>.
</p>
<!-- <iframe -->
<!-- width="400" -->
<!-- height="450" -->
<!-- frameborder="0" style="border:0" -->
<!-- src="https://www.google.com/maps/embed/v1/place?key=&q=place_id:ChIJZz5sxmVuQUYRQH8r2qkM2Zo" allowfullscreen> -->
<!-- </iframe> -->
</div>
</section>
<section id="about" class="active-section">
<h1>About</h1>
<div class="left-column section-content">
<p>Web Rebels is all about the <br> the community and good times.</p>
</div>
<div class="right-column">
<ul class="about-sections">
<li class="with-background">
<div class="icon js-svg-wrapper">
<!--?xml version="1.0" encoding="utf-8"?-->
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 222 222" style="enable-background:new 0 0 222 222;" xml:space="preserve">
<style type="text/css">
.bg{fill:#000}
.js{fill:#f4db19; stroke: #f4db19;}
</style>
<rect x="-0.09" y="-0.09" class="bg" width="222.18" height="222.18"></rect>
<path class="js" d="M149.16,173.49c4.48,7.31,10.3,12.68,20.6,12.68c8.65,0,14.18-4.32,14.18-10.3c0-7.16-5.68-9.69-15.2-13.86l-5.22-2.24
c-15.07-6.42-25.07-14.46-25.07-31.46c0-15.66,11.93-27.58,30.58-27.58c13.27,0,22.82,4.62,29.69,16.72l-16.26,10.44
c-3.58-6.42-7.44-8.95-13.44-8.95c-6.12,0-9.99,3.88-9.99,8.95c0,6.26,3.88,8.8,12.84,12.68l5.22,2.24
c17.74,7.61,27.75,15.36,27.75,32.8c0,18.8-14.77,29.09-34.6,29.09c-19.39,0-31.92-9.24-38.05-21.35L149.16,173.49z M75.41,175.3
c3.28,5.82,6.26,10.74,13.44,10.74c6.86,0,11.19-2.68,11.19-13.12v-70.99h20.88v71.27c0,21.62-12.67,31.46-31.18,31.46
c-16.72,0-26.4-8.65-31.32-19.07L75.41,175.3z"></path>
</svg>
</div>
<div class="content">
<h4>A JavaScript Conference</h4>
<p>
The Web Rebels conference is a JavaScript conference and we are
proud members of <a href="http://jsconf.com/">the JSConf family of
events</a>. We are a conference for developers who love building
applications and services using web technology.
</p>
</div>
</li>
<li class="with-background">
<div class="icon">
<i class="fa fa-users"></i>
</div>
<div class="content">
<h4>For the community, not for profit</h4>
<p>
We are a
<a href="http://w2.brreg.no/enhet/sok/detalj.jsp?orgnr=997686659">
registered not-for-profit organization
</a>
that is run by unpaid volunteers. If we make any profit from the
conference we give 30% back to community groups throughout the
Nordic region. Any questions you might have:
<a href="mailto:kontor[%20replace%20this%20bracket%20with%20a%20@%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20]webrebels.org">shoot us an email</a>
or find us on
<a href="http://twitter.com/web_rebels/">Twitter</a>.
</p>
<p>
We invite <a href="/#talks">16 speakers</a> from all over the world,
some of them are picked from our Call For Papers and some are
picked the organizers.
</p>
</div>
</li>
<li class="with-background" id="coc">
<div class="icon">
<i class="fa fa-exchange"></i>
</div>
<div class="content">
<h4>Code of Conduct</h4>
<p>
We want these couple of days to be truly enjoyable for everyone.
Attendees, speakers, sponsors and volunteers must all respect the
<a href="http://jsconf.com/codeofconduct.html">JSConf Code of Conduct</a>.
<br>
If anything happens that we should know about, contact a member of the crew.
</p>
</div>
</li>
<li id="crew" class="with-background">
<div class="icon fist-svg-wrapper">
<!--?xml version="1.0" encoding="utf-8"?-->
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 179 223" style="enable-background:new 0 0 179 223;" xml:space="preserve">
<path d="M141.46,130.96l-21.11-17.03l-2.79,3.62l-20.5-15.01l-12.23-2.23l0.96,37.84l-5.64-38.12L56.95,80.3l-15.26-2.91l9.24-2.57
l-4.81-5.37l40.35,10.53l0.03-28.5l-56.94-7.49L5.93,87.46l20.25,45.52l28.01,15.5l-26.86-7.98L2,182.49l88.24,38.31l20.05-50.39
l-19.14-9.08l35.26,3.85l21.78-41.88L141.46,130.96z M96.21,11.12L68.87,2.2l-20.5,40.15l30.26,4.41L96.21,11.12z M90.89,48.48
l-0.17,37.03l-24.57-6.45l-1.33,2.34l17.49,15.06l9.02,0.68l45.15-68.38L107.19,9L83.65,47.33L90.89,48.48z M116.68,111.34
l43.16-55.88L137.78,38.5L97.92,97.6L116.68,111.34z M140.9,124.72L177,83.75l-16.15-15.85l-36.8,43.27L140.9,124.72z"></path>
</svg>
</div>
<div class="content">
<h4>Web Rebels</h4>
<p>
WEB REBEL CREW<br>
The volunteers working to bring you the 6th Web Rebels Conference are:
</p>
<ol>
<li>Agneta Nilsson (<a href="https://twitter.com/agneta_nilsson">@agneta_nilsson</a>)</li>
<li>Alexandra Leisse (<a href="https://github.com/troubalex">@troubalex</a>)</li>
<li>Anders Olsen Sandvik (<a href="https://github.com/Andersos">@Andersos</a>)</li>
<li>Bodil Stokke (<a href="https://github.com/bodil">@bodil</a>)</li>
<li>Espen Dalløkken (<a href="https://github.com/leftieFriele">@leftieFriele</a>)</li>
<li>Jon Koslung (<a href="https://twitter.com/nle">@nle</a>)</li>
<li>Max Brosnahan (<a href="https://github.com/gingermusketeer">@gingermusketeer)</a></li>
<li>Richard Walker (<a href="https://github.com/digitalsadhu">@digitalsadhu</a>)</li>
<li>Trygve Lie (<a href="https://github.com/trygve-lie">@trygve-lie</a>)</li>
<li>Sveinung Røsaker (<a href="https://github.com/sveisvei">@sveisvei</a>)</li>
<li>Gregers Gram Rygg (<a href="https://github.com/gregersrygg">@gregersrygg</a>)</li>
</ol>
<p>
OUR POLICIES <br>
If you wonder what our policies are on topics such as sponsors, speaker selection or ticket refund please consult our policies for details.
</p>
<p>
SPONSORS<br>
Our sponsorship options states
what each sponsoring package contains. Even though we work with
sponsors on things outside of that standard packages, the following
sponsor policy apply:
</p>
<ul>
<li>We do not sell speaker slots</li>
<li>We do not accept sales pitches masked as presentations</li>
<li>We do not differentiate between speakers from partners and independent speakers</li>
</ul>
<p>
TICKET REFUND POLICY<br>
We have a refund policy for tickets which is
<a href="https://github.com/webrebels/rebeladmin/wiki/TicketRefunds">
described on our wiki.
</a>
If you have any questions about this, please do not hesitate to contact us.
</p>
<p>
SPEAKERS<br>
For invited speakers we cover:
</p>
<ul>
<li>All travel to and from the conference hotel / venue</li>
<li>Stay at the conference hotel during the conference</li>
<li>Admission to the conference and all conference related activities</li>
<li>Speakers dinner and all meals during the conference</li>
<li>All beverages on the pre conference party and conference party</li>
<li>A public transport card giving full access to all public transport in Oslo</li>
</ul>
<p>
Upon invitation to speak at Web Rebels, each speaker is informed
about the above. Though, each speaker are also informed that if the
speakers employee would consider covering, in full or partly, the
speakers travel cost we are more than happy to work out a
sponsorship deal and what is saved upon such a deal are put back
into making the conference better.
</p>
<p>
PREVIOUS WEB REBEL CONFS<br>
Below are links to previous conference websites. If you're looking for the videos they're all
in our
<a href="https://www.youtube.com/channel/UCM9cTs_C0PmTlHXTNrqTpnw">YouTube channel.</a>
</p>
<ol>
<li><a href="http://2016.webrebels.org/">2016 edition</a></li>
<li><a href="http://2015.webrebels.org/">2015 edition</a></li>
<li><a href="http://2014.webrebels.org/">2014 edition</a></li>
<li><a href="http://2013.webrebels.org/">2013 edition</a></li>
<li><a href="http://2012.webrebels.org/">2012 edition</a></li>
</ol>
</div>
</li>
</ul>
</div>
</section>
<section id="sponsors" class="">
<h1>Sponsors</h1>
<div class="section-content">
<p>Web Rebels would not be possible<br> without our awesome sponsors.</p>
<ul>
<li><a href="https://www.acando.no/"><img src="/files/acando.svg" alt="Acando"></a></li>
<li><a href="https://www.bekk.no/"><img src="/files/bekk.svg" alt="Bekk"></a></li>
<li><a href="https://computas.no/"><img src="/files/computas.svg" alt="Computas"></a></li>
<li><a href="https://www.confirmit.com/"><img src="/files/confirmit.svg" alt="Confirmit"></a></li>
<li><a href="https://hjemmehos.finn.no/hc/no/"><img src="/files/finn.svg" alt="FINN"></a></li>
<li><a href="https://www.google.com/intl/en/about/"><img src="/files/google.svg" alt="Google"></a></li>
<li><a href="https://www.knowit.no/"><img src="/files/knowit.svg" alt="Knowit"></a></li>
<li><a href="http://www.kodemaker.no/"><img src="/files/kodemaker.svg" alt="Kodemaker"></a></li>
<li><a href="http://www.nearform.com/"><img src="/files/nearform.svg" alt="Nearform"></a></li>
<li><a href="https://www.netliferesearch.com/"><img src="/files/netlife.svg" alt="Netlife"></a></li>
<li><a href="http://www.systek.no/"><img src="/files/systek.svg" alt="Systek"></a></li>
<li><a href="http://www.webstep.no/"><img src="/files/webstep.svg" alt="Webstep"></a></li>
</ul>
</div>
</section>
<footer>
<div class="footer-wrapper">
<h5>Web Rebels</h5>
<p>
A community driven conference for and by developers who love creating stuff with web technology. Web Rebels is part for the
<a href="http://jsconf.com/">JSConf family of events</a>
and have a
<a href="http://jsconf.com/codeofconduct.html">Code of Conduct</a></p>
<p>Based in Oslo, Norway.</p>
<h5>Contact</h5>
<p>
Any questions you might have, please do not hesitate to shoot us an
<a href="mailto:boyhowdy[%20replace%20this%20bracket%20with%20a%20@%20]webrebels.org">e-mail</a>
or ask on
<a href="http://twitter.com/web_rebels/">Twitter.</a>
</p>
<h5>Social media</h5>
<ul>
<li>
<a href="http://twitter.com/web_rebels/">
<i class="fa fa-twitter"></i>
</a>
</li>
<li>
<a href="https://www.youtube.com/channel/UCM9cTs_C0PmTlHXTNrqTpnw">
<i class="fa fa-youtube"></i>
</a>
</li>
<li>
<a href="https://www.instagram.com/explore/tags/webrebels/">
<i class="fa fa-instagram"></i>
</a>
</li>
<li>
<a href="https://www.flickr.com/photos/webrebels/">
<i class="fa fa-flickr"></i></a></li><a href="https://www.flickr.com/photos/webrebels/">
</a>
<li>
<a href="https://github.com/webrebels">
<i class="fa fa-github"></i>
</a>
</li>
</ul>
<p>
PREVIOUS WEB REBEL CONFS<br>
Below are links to previous conference websites. If you're looking for the videos they're all
in our
<a href="https://www.youtube.com/channel/UCM9cTs_C0PmTlHXTNrqTpnw">YouTube channel.</a>
</p>
<ol>
<li><a href="http://2012.webrebels.org/">2012 edition</a></li>
<li><a href="http://2013.webrebels.org/">2013 edition</a></li>
<li><a href="http://2014.webrebels.org/">2014 edition</a></li>
<li><a href="http://2015.webrebels.org/">2015 edition</a></li>
<li><a href="http://2016.webrebels.org/">2016 edition</a></li>
<li><a href="http://2017.webrebels.org/">2017 edition</a></li>
<li><a href="http://2018.webrebels.org/">2018 edition</a></li>