-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata.php
More file actions
669 lines (667 loc) · 47.5 KB
/
data.php
File metadata and controls
669 lines (667 loc) · 47.5 KB
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
<?php
global $data;
$data = array(
'speakers' => array(
'1' => array(
"name" => "Omni Adams",
"image" => "images/speakers/omni.adams.jpg",
"company" => null,
"twitter" => "omnicolor",
"website" => "http://omni-spot.blogspot.com",
"description" => "Omni Adams has been a professional web developer for over a decade, primarily using PHP and MySQL. When not playing hockey or brewing beer, he barks at coworkers about their lack of unit tests and automates all of the boring things in his job.",
"talks" => array(1)
),
'2' => array(
"name" => "Neal Anders",
"image" => "images/speakers/neal.anders.jpg",
"company" => null,
"twitter" => "nanderoo",
"website" => "http://neal-anders.com/blog",
"description" => "Baltimore, Maryland based Software Developer with 15+ years experience. Co-Author of Instant PHP4.",
"talks" => array(2)
),
'3' => array(
"name" => "Jeff Carouth",
"image" => "images/speakers/jeff.carouth.jpg",
"company" => null,
"twitter" => "jcarouth",
"website" => "http://carouth.com",
"description" => "Jeff Carouth is a web application developer honing his programming and skiing skills at Liftopia. He is an active member of the PHP community, speaker, and co-organizer of BCSPHP. He believes quality code, testing, and automation are necessary ingredients in a recipe for a successful software project. When not hacking away at code he is a father and husband, beer and Scotch enthusiast, and an amateur photographer.",
"talks" => array(3,4)
),
'4' => array(
"name" => "Keith Casey",
"image" => "images/speakers/keith.casey.jpg",
"company" => null,
"twitter" => "caseysoftware",
"website" => "http://twilio.com",
"description" => "Keith Casey serves as a Developer Evangelist for Twilio exploring the untapped potential of phone networks. Previously, he built large-scale PHP-based systems for organizations ranging from major news companies to small non-profits. In his spare time, he is a core contributor to web2project and OpenVBX, works to build and support the Austin tech community, lives and breathes creative API hackery, and blogs occasionally at CaseySoftware.com",
"talks" => array(5)
),
'5' => array(
"name" => "Jeremy Cook",
"image" => "images/speakers/jeremy.cook.jpg",
"company" => null,
"twitter" => "JCook21",
"website" => "http://jeremycook.ca",
"description" => "Jeremy is an ex-pat Englishman and former professional musician, now living in Guelph, Ontario. He's been a web developer for the last 5 years, spending most of that time working with PHP and related open source technologies. By day he's a senior developer for MRX Digital Sports Solutions, building websites and league management software for clients including the Canadian Football League and the Canadian Hockey League. Jeremy is also the organiser of the Guelph PHP User Group and spends his free time with his family as well as trying to come to terms with his recent status as a dog owner.",
"talks" => array(6)
),
'6' => array(
"name" => "Adam Culp",
"image" => "images/speakers/adam.culp.jpg",
"company" => null,
"twitter" => "adamculp",
"website" => "http://geekyboy.com",
"description" => "Adam Culp (@adamculp), organizer of the SunshinePHP Developer Conference and South Florida PHP Users Group (SoFloPHP) where he speaks regularly, is a Zend Certified PHP 5.3 Engineer. Adam is passionate about developing with PHP and enjoys helping others write good code, implement standards, refactor efficiently, and incorporate unit and functional tests into their projects. When he is not coding or contributing to various developer communities, and he can be found hiking around the United States National Parks, teaching judo, or participating in long distance running.",
"talks" => array(7,8)
),
// '7' => array(
// "name" => "Rafael Dohms",
// "image" => "images/speakers/rafael.dohms.jpg",
// "company" => null,
// "twitter" => "rdohms",
// "website" => "http://doh.ms",
// "description" => "Rafael Dohms is an experienced PHP Developer, Evangelist, Speaker and Contributor. During his years of experience he has become an active member of the community and founded 3 User Groups. He moved to the Netherlands to integrate the WEBclusive team and share his passion for code quality and innovation in the Crowd funding world. In his spare time he also helps manage the AmsterdamPHP User Group, amongst other projects.",
// "talks" => array(9,10)
// ),
'8' => array(
"name" => "Ashe Dryden",
"image" => "images/speakers/ashe.dryden.jpg",
"company" => null,
"twitter" => "ashedryden",
"website" => "http://ashedryden.com",
"description" => "Ashe Dryden is an indie developer living in Madison, WI. She's been involved with the web in some form or another over the course of the past 12 years. Ashe is known for being outspoken about the need for diversity, inclusiveness, and empathy. When she isn't discussing technology, she's cycling, tweeting, playing board games, debating the social implications of Star Trek episodes, being that awkward girl at the party, and waiting for her next burrito fix.",
"talks" => array(11)
),
'9' => array(
"name" => "Edward Finkler",
"image" => "images/speakers/edward.finkler.jpg",
"company" => null,
"twitter" => "funkatron",
"website" => "http://funkatron.com",
"description" => "With over 15 years of passionate web development experience and open source advocacy, Ed Finkler loves empowering people through technology. He’s excited about creating things and sharing them with the world.\nHe served as web lead and security researcher at The Center for Education and Research in Information Assurance and Security (CERIAS) at Purdue University for 9 years. More recently, he has been helping startup teams build exciting e-commerce, social sharing, and mapping systems. He’s a proud member of the Fictive Kin team, working on Done Not Done, Gimme Bar, and lots of other cool stuff.\nEd spends much of his free time creating and working on open source projects such as Spaz, a long-running, award winning microblogging client. Ed also created the PHP libraries like FUnit, Resty.php, PHPSecInfo, and Inspekt.",
"talks" => array(12,9)
),
'10' => array(
"name" => "Matt Frost",
"image" => "images/speakers/matt.frost.jpg",
"company" => null,
"twitter" => "mfrost503",
"website" => "http://shortwhitebaldguy.com",
"description" => "I'm actively involved with the PHP Mentoring community and a contributor to PyroCMS. A large part of my focus is around writing better Object Oriented Code and testability. When I'm not writing code, I'm either running or reading.",
"talks" => array(13)
),
'11' => array(
"name" => "Larry Garfield",
"image" => "images/speakers/larry.garfield.jpg",
"company" => null,
"twitter" => "Crell",
"website" => "http://www.garfieldtech.com/",
"description" => "Larry Garfield has been building web sites since he was a sophomore in high school, which is longer ago than he'd like to admit. As a freelancer he worked mostly for Chicago-area politicians before graduating to full time consulting with Palantir.net. At Palantir Larry is a Senior Architect and Consultant, developing solutions for medium to large cultural institutions.\nLarry is an active Drupal core contributor, including the principle architect and maintainer of the Drupal 7 database system and the person most to blame for Drupal 8's shift toward object-oriented development and the Symfony2 framework. Larry holds a Master’s degree in Computer Science from DePaul University.\nLarry is a co-author of \"Drupal 7 Module Development\" from Packt Publishing, and has also been published in Drupal Watchdog. He blogs at both http://www.palantir.net/ and http://www.garfieldtech.com/.",
"talks" => array(14,10)
),
'12' => array(
"name" => "Pablo Godel",
"image" => "images/speakers/pablo.godel.jpg",
"company" => null,
"twitter" => "pgodel",
"website" => "http://blog.servergrove.com",
"description" => "Pablo Godel is Co-founder of ServerGrove, PHP & Symfony developer, and contributor to many open source projects . In his leisure time he likes to spend his time with his family, travel and sailing.",
"talks" => array(15,16)
),
'24' => array(
"name" => "Jason Johnson",
"image" => "images/speakers/jason.johnson.jpg",
"company" => null,
"twitter" => "jason_johnson",
"website" => "http://www.softlayer.com/",
"description" => "Jason Johnson is a Software Engineer at SoftLayer. With over 10 years of experience in software development, Jason specializes in programming language research and system design.",
"talks" => array(31)
),
'13' => array(
"name" => "Juozas Kaziukėnas",
"image" => "images/speakers/juozas.jpg",
"company" => null,
"twitter" => "juokaz",
"website" => "http://juokaz.com",
"description" => "Juozas, or as everyone calls him Joe, is an experienced and talented (some say) young professional, entrepreneur and evangelist. Focusing on bringing IT solutions to non-technical businesses, like retail, he works on optimizing their processes and using cutting-edge research to solve hard problems and grow sales. When not working, Joe finds time to contribute to open-source projects and movements to improve interoperability and platform independence. His hands-on practice with collection of different technologies, programming languages and environments allows him to deliver unbiased and practical presentations in all kind of different topics.",
"talks" => array(17,18)
),
'14' => array(
"name" => "Vance Lucas",
"image" => "images/speakers/vance.lucas.jpg",
"company" => null,
"twitter" => "vlucas",
"website" => "http://www.vancelucas.com",
"description" => "Vance has been involved in web development for over 14 years, and is the Co-Founder of a web and mobile app development studio in Oklahoma City called Brightbit. Vance is actively involved in the developer community and is the co-founder and president of the Oklahoma City JavaScript User Group. Vance is a polyglot programmer and actively uses PHP, JavaScript, and Ruby/Rails for development work.",
"talks" => array(19)
),
'15' => array(
"name" => "Bob Majdak",
"image" => "images/speakers/bob.majdak.jpg",
"company" => null,
"twitter" => "bobmajdakjr",
"website" => "http://catch404.net",
"description" => "Bob Majdak is a web developer who has been using PHP as a core development tool since 1999. He started working on the web back then joining the PlanetQuake gamer site, and in the early 2000s he was a part of the KateOS Linux core team - which became the first distro to implement system administration tools with PHP-GTK. Now he works on framework development focusing on both the web and server side of managing an application. He enjoys finding new places to stick PHP, especially when someone tells him not to.",
"talks" => array(20)
),
'16' => array(
"name" => "Derick Rethans",
"image" => "images/speakers/derick.rethans.jpg",
"company" => null,
"twitter" => "derickr",
"website" => "http://derickrethans.nl",
"description" => "Derick Rethans is a PHP internals expert, author of Xdebug and an OpenStreetMap and mapping enthusiast.\nHe has contributed in a number of ways to the PHP project, including the Xdebug debugging tool, and various extensions and additions. He's a frequent lecturer at conferences, the author of php|architect's Guide to Date and Time Programming, and the co-author of PHP 5 Power Programming. He is now working at 10gen to work on the PHP driver for MongoDB. ",
"talks" => array(21,22)
),
'17' => array(
"name" => "Davey Shafik",
"image" => "images/speakers/davey.shafik.jpg",
"company" => null,
"twitter" => "dshafik",
"website" => "http://daveyshafik.com",
"description" => "Davey Shafik is a full time PHP Developer with 12 years experience in PHP and related technologies. An Engineer for Engine Yard for the Orchestra PHP Platform, he has written three books (so far!), numerous articles and spoken at conferences the globe over. He lives in Central Florida with his wife, son and two cats.\nDavey is best known for his books, the Zend PHP 5 Certification Study Guide and PHP Master: Write Cutting Edge Code, and as the originator of PHP Archive (PHAR) for PHP 5.3.",
"talks" => array(23)
),
'18' => array(
"name" => "Travis Swicegood",
"image" => "images/speakers/travis.swicegood.jpg",
"company" => null,
"twitter" => "tswicegood",
"website" => "http://www.travisswicegood.com/",
"description" => "Travis has been paid to hack on computers for nearly a decade and a half and have been a tinkerer for much longer.\nHe's written two books on Git, Pragmatic Version Control using Git (the first book published on Git) and Pragmatic Guide to Git (the first in a new series from the Pragmatic Bookshelf).\nHe live in Austin, Texas, and is the Director of Technology for the Texas Tribune a non-profit media organization. He's easy to find online. He's online just about everywhere as @tswicegood.",
"talks" => array(24)
),
'19' => array(
"name" => "Laura Thomson",
"image" => "images/speakers/laura.thomson.jpg",
"company" => null,
"twitter" => "lxt",
"website" => "http://laurathomson.com/",
"description" => "Laura Thomson is an Engineering Manager at Mozilla Corporation, where she looks after the Webtools group, after spending much of the previous decade as a consultant and trainer on various Open Source technologies.\nLaura is the co-author of “PHP and MySQL Web Development” and “MySQL Tutorial”. She is a veteran speaker at Open Source conferences world wide, including OSCON.",
"talks" => array(25)
),
'20' => array(
"name" => "Beth Tucker Long",
"image" => "images/speakers/beth.tuckerlong.jpg",
"company" => null,
"twitter" => "e3betht",
"website" => "http://www.treelinedesign.com",
"description" => "Beth Tucker Long is the Editor-In-Chief of php|architect magazine as well as a teaching PHP courses, freelancing, and very occasionally blogging at http://www.alittleofboth.com. She runs Treeline Design - http://www.treelinedesign.com, a web development company, and Playlist Event Music - http://www.playlisteventmusic.com, a DJ company, along with her husband, Chris, and son, Liam.",
"talks" => array(26,27)
),
'21' => array(
"name" => "Matthew Turland",
"image" => "images/speakers/matthew.turland.jpg",
"company" => null,
"twitter" => "elazar",
"website" => "http://matthewturland.com",
"description" => "Matthew Turland has been working with PHP since 2002. He has been both an author and technical editor for php|architect Magazine, spoken at multiple conferences, and is a past contributor to Zend Framework. He holds the PHP 5 and Zend Framework ZCE certifications and is the author of \"php|architect's Guide to Web Scraping with PHP\" and co-author of SitePoint's \"PHP Master: Write Cutting-Edge Code.\" In his spare time, he likes to bend PHP to his will to scrape web pages and run IRC bots.",
"talks" => array(28)
),
'22' => array(
"name" => "Eli White",
"image" => "images/speakers/eli.white.jpg",
"company" => null,
"twitter" => "EliW",
"website" => "http://eliw.com/",
"description" => "Eli has been building Web Applications for over 18 years and fell in love with PHP the day that PHP 4 was released. Since then he's been a strong advocate for PHP and used it in every project he's work on. He is currently a Founding Partner & CTO of Musketeers.me, and the Managing Editor of php|architect magazine. He is also an avid writer (blogs, articles and books), and has spoken at numerous conferences.",
"talks" => array(29)
),
'23' => array(
"name" => "Dustin Whittle",
"image" => "images/speakers/dustin.whittle.jpg",
"company" => null,
"twitter" => "dustinwhittle",
"website" => "http://dustinwhittle.com/",
"description" => "Dustin Whittle is a Developer Evangelist at AppDynamics where he focuses on helping organizations manage application performance. Before joining AppDynamics, Dustin was CTO at Kwarter, a consultant at SensioLabs, and developer evangelist at Yahoo!. He has experience building and leading engineering teams and working with developers and partners to scale to meet demand. When Dustin isn't working he enjoys flying, sailing, diving, golfing, and travelling around the world.",
"talks" => array(30)
),
),
'talks' => array(
'1' => array(
"title" => "Phing All The Things",
"presenter" => "Omni Adams",
"description" => "Phing is a build system that lets you do all sorts of neat things quickly and easily. If you find yourself manually running complicated processes or frequently having to look up command line parameters for your tools, Phing can help make you more efficient. If your deployments have many error-prone steps or you find yourself dealing with fragile procedures, Phing can help keep your sanity.",
"room" => "Acacia",
"joindin" => "https://joind.in/8681",
"date" => "2013-06-28",
"time" => "1430"
),
'2' => array(
"title" => "An introduction to the Secure Software Development Lifecycle",
"presenter" => "Neal Anders",
"description" => "This presentation will cover the Secure Software Development Lifecycle, including requirements and design, development, testing, and acceptance. We will touch on topics such as implementing 'Least Privilege', 'Policies and Standards', and 'Defensive Coding Practices'. There will also be discussion on operational aspects and risk mitigation.",
"room" => "Acacia",
"joindin" => "https://joind.in/8682",
"date" => "2013-06-28",
"time" => "0930"
),
'3' => array(
"title" => "Introducing Tests in Legacy PHP Applications",
"presenter" => "Jeff Carouth",
"description" => "You know testing is beneficial to your project. You are familiar with merits and caveats of test-driven development. But the project you’re hacking on right now is what most would call a legacy application. How do you apply your test knowledge to an application that doesn’t lend itself to traditional unit testing? The answer most will give is, “you don’t,” but we’re going to look at ways to write tests now that will allow you to improve and refactor your application to evolve the code to a more manageable state. The traditional “easy” route to dealing with legacy code is to rewrite but a little patience and skill applied to writing tests will yeild better results.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8683",
"date" => "2013-06-28",
"time" => "1430"
),
'4' => array(
"title" => "JavaScript's Difficult Concept Explained",
"presenter" => "Jeff Carouth",
"description" => "When approaching JavaScript as a PHP developer some of the nuances of the language take a while to become comfortable. If you've ever wondered how context and the this keyword work, when to declare a variable, how to create objects and use prototypes in JavaScript, you are not alone. These concepts seems crazy at first, but with some examples you can grasp and use them in your code today. This session will cover the finer points of JavaScript the language from the perspective of someone who is proficient with PHP or another language.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8684",
"date" => "2013-06-29",
"time" => "1330"
),
'5' => array(
"title" => "On the edge of Hypermedia",
"presenter" => "Keith Casey",
"description" => "Stateless.. Nouns & Verbs.. Idempotent.. HTTP Auth.. Tokens.. We’ve all heard those phrases thrown around when we talk about REST. We’ve been told our systems have to include these characteristics or they’re not RESTful. We’ve talked over and over again on how to implement them. Unfortunately, somewhere along the way, we lost the answer to “why?” What’s the point? What value do we gain by doing things the “right” way?",
"room" => "Sycamore",
"joindin" => "https://joind.in/8708",
"date" => "2013-06-29",
"time" => "1430"
),
'6' => array(
"title" => "Turbo Charge Your Logs",
"presenter" => "Jeremy Cook",
"description" => "The log files our applications produce contain a wealth of information about how things are performing at any moment, yet for many of us the only time we look at them is when our we're trying to diagnose problems during an outage. Wouldn't it be great if our log files could be mined in real time and even alert us before things get to a critical state? This talk will show you exactly how to do that using open source tools. We'll look at using software such as Monolog and Rsyslog to collect information from individual servers as well as Graylog2 to aggregate, store and make quickly searchable millions of log records from multiple sources. By the end of this talk you'll have the knowledge required to mine your log data in real time, helping you to avoid major problems.",
"room" => "Acacia",
"joindin" => "https://joind.in/8686",
"date" => "2013-06-29",
"time" => "1330"
),
'7' => array(
"title" => "Refactoring 101",
"presenter" => "Adam Culp",
"description" => "Adam Culp will talk about refactoring code. (The practice of altering code to make it cleaner, simpler, and sometimes faster, while not sacrificing functionality.) We all hate to do it, but it is a necessary evil. So lets talk about how to do it better. Adam will discuss: When to refactor. How to refactor. Why to refactor. How a refactor can help us write better code in the future. A common methodology and steps to follow while refactoring. Resources to help us all on our refactor journey.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8687",
"date" => "2013-06-29",
"time" => "1030"
),
'31' => array(
"title" => "Exploiting your File System to Build Robust & Efficient Workflows",
"presenter" => "Jason Johnson",
"description" => "If your software writes to disk, you can never know too much about your file system! File systems offer a feature set often replicated, usually with lesser performance and reliability. In this talk, we will cover the file system notification infrastructure, locking and movement guarantees, and performance tuning. We will also cover how the primitive mechanisms available through file systems can be used to develop robust complex workflows.",
"room" => "Acacia",
"joindin" => "https://joind.in/8894",
"date" => "2013-06-29",
"time" => "1030"
),
'8' => array(
"title" => "Essential Git for developers",
"presenter" => "Adam Culp",
"description" => "You have been wanting to use the \"new shiny\", but there are too many \"Git how-tos\" out there and you don't kow where to start. This is not another one of those. Instead Adam Culp will give a practical walk through the development cycle and how to use Git as the source control. From initialization of a repository, to forking, cloning, and checkout, we will walk through a sample project and how most developers actually use Git to manage the workflow. Adam will also touch on how to use Git repository hosting providers, and how to use them with PAAS (Platform as a service) providers.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8688",
"date" => "2013-06-28",
"time" => "1630"
),
'9' => array(
"title" => "Open Sourcing Mental Illness",
"presenter" => "Ed Finkler",
"description" => "In the spirit of open source, I’d like to shine a spotlight on depression. Not because it’s easy, but because it’s important. Mental illness affects many of us, but the stigma attached to it dissuades most people from talking about it openly. That’s not how we make progress. With this talk, I want to do my part.\n\nI was diagnosed with depression and anxiety when I was thirteen, and I’ve been struggling with it my whole life. In this talk, I’ll discuss how it has impacted my work as a developer, husband, and father.\n\nBy speaking openly about my own challenges and successes, I hope those struggling with mental illness will learn how to be happier and more productive, and others can better understand how to be helpful and supportive.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8689",
"date" => "2013-06-29",
"time" => "1430"
),
'10' => array(
"title" => "Composer: Share all the things!",
"presenter" => "Larry Garfield",
"description" => "For years, PHP has struggled with dependencies. Third party libraries may do great things, but if they're a pain to leverage who's going to bother?\n\nEnter Composer, one of the key enablers of the New PHP World Order. Composer is a tool to maintain, track, and manage dependencies in a consistent, predictable, and fun way. More than that, though, it's a platform for enabling more cross-project sharing than ever before; even sharing your own code with others.\n\nThis session will introduce Composer and its related tools and demonstrate how you can use it to enable your own applications and libraries to share and be shared more broadly than ever before.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8690",
"date" => "2013-06-28",
"time" => "1030"
),
'11' => array(
"title" => "Programming Diversity",
"presenter" => "Ashe Dryden",
"description" => "It's been scientifically proven that more diverse communities and workplaces create better products and the solutions to difficult problems are more complete and diverse themselves. Companies are struggling to find adequate talent. So why do we see so few women, people of color, and LGBTQ people at our events and on the about pages of our websites? Even more curiously, why do 60% of women leave the tech industry within 10 years? Why are fewer women choosing to pursue computer science and related degrees than ever before? Why have stories of active discouragement, dismissal, harassment, or worse become regular news?\nIn this talk we’ll examine the causes behind the lack of diversity in our communities, events, and workplaces. We’ll discuss what we can do as community members, event organizers, and co-workers to not only combat this problem, but to encourage positive change by contributing to an atmosphere of inclusivity.\nObjectives:\n-Educate about the lack of diversity and why it is a problem\n-Examine what is contributing to both the pipeline issue as well as attrition\n-Isolate what is and isn't working\n-Inspire direct action by examining our own behavior and learning more about the people around us so we can empathize better",
"room" => "Acacia",
"joindin" => "https://joind.in/8691",
"date" => "2013-06-28",
"time" => "1630"
),
'12' => array(
"title" => "More Code, More Problems",
"presenter" => "Edward Finkler",
"description" => "Some people will tell you that you need a large, full-stack framework to do web development The Right Way. These people are wrong.\nA year ago I wrote The MicroPHP Manifesto, a response to the increasing complexity and interdependence of PHP frameworks. The four principles were:\n1. I am a PHP developer\n2. I like building small things\n3. I want less code, not more\n4. I like simple, readable code\nThe thing is, this stuff really isn't specific to PHP. In this talk I'll extend the concepts to other languages we work with in web development, establishing these core principles:\n- Learn languages, not frameworks\n- Build small things\n- Less code is better than more\n- Create and use simple, readable code\nWe'll cover how following these principles makes you a better developer, and makes the job of maintaining and verifying your code much easier.",
"room" => "Acacia",
"joindin" => "https://joind.in/8692",
"date" => "2013-06-28",
"time" => "1430"
),
'30' => array(
"title" => "Scaling PHP in the real world!",
"presenter" => "Dustin Whittle",
"description" => "PHP is used by the likes of Facebook, Yahoo!, Zynga, Tumblr, Etsy, and Wikipedia. How do the largest internet companies scale PHP to meet their demand? Join this session and find out how to use the latest tools in PHP for developing high performance applications. We’ll take a look at common techniques for scaling PHP applications and best practices for profiling and optimizing performance. After this session, you’ll leave prepared to tackle your next enterprise PHP project. \n\n- Why performance matters?\n- The problems with PHP\n- Best practice designs\n- Doing work in the background with queues\n- Fronting with http caching and a reverse proxy cache\n- Distributed data caches with redis and memcached\n- Using the right tool for the job\n- Tools of the trade\n- Opcode Caches\n- Varnish/Squid and reverse proxy caches\n- Xdebug + Valgrind + WebGrind\n- AppDynamics \n- Architecture not applications",
"room" => "Sycamore",
"joindin" => "https://joind.in/8893",
"date" => "2013-06-28",
"time" => "1130"
),
'13' => array(
"title" => "Mocking Dependencies in PHPUnit",
"presenter" => "Matt Frost",
"description" => "Writing good unit tests is nearly impossible with out being able to mock your dependencies. This talk will cover why you should mock, when you should mock and a practical approach on how to mock. Learning to mock will add value to your tests as well as your application.",
"room" => "Acacia",
"joindin" => "https://joind.in/8693",
"date" => "2013-06-28",
"time" => "1130"
),
'14' => array(
"title" => "Aphorisms of API Design",
"presenter" => "Larry Garfield",
"description" => "Code that talks only to itself is not useful to anyone. Code that enables other code magnifies its power 10-fold.\nBut how do we enable other code, and those who write it? What makes a module extensible? What is that vague extra something that turns merely extensible code into an API, a library, and a cornerstone of other systems? How do we harness that power for ourselves?\nLet us examine the Aphorisms of Good API design, and the 8-Fold Path of API Nirvana.\nThis session goes beyond how to write code well to cover the question of how to write libraries that spawn other libraries and innovation by Coding for the Future.",
"room" => "Acacia",
"joindin" => "https://joind.in/8694",
"date" => "2013-06-29",
"time" => "1430"
),
'15' => array(
"title" => "Building web apps from a new angle",
"presenter" => "Pablo Godel",
"description" => "AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communitate with a REST server built with PHP.",
"room" => "Acacia",
"joindin" => "https://joind.in/8695",
"date" => "2013-06-28",
"time" => "1330"
),
'16' => array(
"title" => "Declare Independence from your IT department: sysadmin skills for PHP developers ",
"presenter" => "Pablo Godel",
"description" => "A PHP/web developer is not complete without knowing server administration. When looking for a job, it is quite likely that you will be required to know about installing and configuring a LAMP (Linux, Apache, MySQL and PHP). Your prospects of getting that job are much higher when you know these. In this session we will cover: - Introduction to LAMP servers - Frequently used Unix commands - Linux distro Differences - Prepare your LAMP server before going live - Overall LAMP Security - Performance tips to improve your website speed - Compiling PHP from source. Adding PHP extensions. - Basic description of web hosting options for PHP.",
"room" => "Acacia",
"joindin" => "https://joind.in/8696",
"date" => "2013-06-29",
"time" => "0930"
),
'17' => array(
"title" => "You can't optimize, what you can't measure",
"presenter" => "Juozas Kaziukėnas",
"description" => "Applications are complicated structures, usually consisting of a lot of moving parts and thus it's not so easy to tell if an app is not functioning properly. Luckily nowadays there are tools to monitor applications in production to both detect code level problems and most importantly also business-logic level problems. Let's look at various different tools to record and analyze metrics and how this could be useful to make sure an application is running correctly and a recent commit hasn't decreased it's performance.",
"room" => "Acacia",
"joindin" => "https://joind.in/8697",
"date" => "2013-06-29",
"time" => "1530"
),
'18' => array(
"title" => "Virtualized development",
"presenter" => "Juozas Kaziukėnas",
"description" => "Setting up a LAMP environment might be the first thing you learn, but I'm going to argue that setting up LAMP on your laptop is hardly the best way to work. Using virtualization and automation tools you can simplify the process and also have better control of what your colleagues are using and even what's running in production. Plus a ton more awesome features you get for free. This is going to open your eyes a bit, I hope.",
"room" => "Acacia",
"joindin" => "https://joind.in/8698",
"date" => "2013-06-28",
"time" => "1430"
),
'19' => array(
"title" => "Frisby.js: BDD for your REST API",
"presenter" => "Vance Lucas",
"description" => "Frisby.js is a REST API testing framework built on node.js and Jasmine that makes testing API endpoints easy, fast, and fun. Use Frisby to step in the shoes of your developer community and ensure consistency in API response structures, keys, and types. Great for ensuring your APIs don’t change or break across versions, and remain reliable and consistent so your developer community can thrive.\nThis talk will focus on the benefits of API endpoint testing with Frisby, its syntax and methods, live usage demonstration, recommended project setup and folder structure, and usage with GitHub so users can help identify and report issues with your API.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8699",
"date" => "2013-06-28",
"time" => "1530"
),
'20' => array(
"title" => "Ebb and Flow - Event driven applications in PHP",
"presenter" => "Bob Majdak",
"description" => "Taking a step back from traditional application structures like MVC, this talk will cover the ins and outs of how a system built on events (or signals) is structured, built, and executed. We will analyze what exactly all programs must do to to be able to serve a response to a request and how building an event oriented system is more or less playing Feng Shui with code. In addition this talk will glance the topics of namespaces and autoloading and how we can leverage modern PHP features to achieve our goal",
"room" => "Acacia",
"joindin" => "https://joind.in/8700",
"date" => "2013-06-28",
"time" => "1030"
),
'21' => array(
"title" => "Profiling PHP Applications",
"presenter" => "Derick Rethans",
"description" => "The web is full of advice focussed on improving performance. Before you can\noptimise however, you need to find out if your code is actually slow; then you\nneed to understand the code; and then you need to find out what you can \noptimise.\nThis talk introduces tools and concepts to find performance issues with your\nweb application, and stack.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8701",
"date" => "2013-06-28",
"time" => "0930"
),
'22' => array(
"title" => "Advanced Date/Time Handling with PHP",
"presenter" => "Derick Rethans",
"description" => "PHP has powerful date/time handling functionality. It allows you to deal with\nmany issues that arise when you are developing applications. This talk will\ncover advanced functionality and is not an introduction except for where\nthis is necessary. I will cover dealing with timezones, calculations with\nDateTime objects and tips and tricks for dealing with storing date/time\ninformation.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8702",
"date" => "2013-06-29",
"time" => "1130"
),
'23' => array(
"title" => "Introduction to Databases",
"presenter" => "Davey Shafik",
"description" => "This talk will cover the basics necessary to help you decide what data to store, where, and how.\n\nWe will cover PDO — PHP’s Data Object extension, which allows you to talk to a variety of databases, including MySQL.\n\nYou will learn how to CRUD — Create, Retrieve, Update and Delete data, database schema, and when to use indexes.\n\nAdditionally, we will look at other data storage systems such as memcache, and nosql databases.",
"room" => "Foundations Track",
"joindin" => "https://joind.in/8703",
"date" => "2013-06-28:Foundations Track",
"time" => "1330"
),
'24' => array(
"title" => "Modern HTTP Architecture",
"presenter" => "Travis Swicegood",
"description" => "HTTP is no longer simply powering browsers talking to servers sending static pages of HTML. HTTP is carrying HTML to dumb browsers, JSON back to single-page apps or mobile apps, and is now pushing data to clients of all stripes. This talk introduces you to architect your infrastructure in a way to make sure that you can meet the needs of tomorrow.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8727",
"date" => "2013-06-28",
"time" => "1330"
),
'25' => array(
"title" => "I Can't Believe You Still Do it That Way",
"presenter" => "Laura Thomson",
"description" => "For the last twelve years I've been giving conference talks and writing books about how to develop for the web in PHP. Over that time I’ve made a bunch of recommendations: some still hold true, and some things have changed quite a bit since 2000.\nIn this session we’ll run through an overview of today’s best practices compared to those from the past. We’ll cover:\n- Using frameworks: We used to avoid them like the plague. Is that still true?\n- Scaling principles: In the good old days it was all master-slave replication and memcache. Will that still work? What else can we do?\n- Security: Is it still good enough to use magic quotes? (Hint: No.) What should you be doing instead?\n- Application architectures: Can you still just store everything in MySQL? When is a NoSQL data store a best practice? What about queues?\n- Language changes: In 2000 namespaces weren’t even on the radar. Do we really need all this new stuff that’s in PHP 5.3 and 5.4? What is it good for?\n- I heard PHP is dead and we should all just switch to Python or Ruby. Is that true?",
"room" => "Sycamore",
"joindin" => "https://joind.in/8728",
"date" => "2013-06-29",
"time" => "1630"
),
'26' => array(
"title" => "Usability for Developers",
"presenter" => "Beth Tucker Long",
"description" => "Not everyone has access to a user interface designer, but that doesnâ??t mean that usability is out of your reach. This talk will cover user experience basics along with simple, easy-to-implement tricks to improve usability. This talk will also cover ways to test if your site or application is making the grade.",
"room" => "Sycamore",
"joindin" => "https://joind.in/8729",
"date" => "2013-06-29",
"time" => "0930"
),
'27' => array(
"title" => "Foundations of PHP",
"presenter" => "Beth Tucker Long",
"description" => "A building works better with a solid foundation beneath it. The same is true for PHP. Whether you are new to programming or are just looking for a refresher, this session will take you through the basics. Beth Tucker Long will cover strings and arrays, conditions and loops, sessions and cookies, form validation and security, and writing your own functions. Best of all, Beth won't just talk about these concepts, she'll go through actual code, so you can see them in action. Bring your laptop, follow along, and you'll have a working application when you leave. Questions are welcomed!",
"room" => "Foundations Track",
"joindin" => "https://joind.in/8730",
"date" => "2013-06-28:Foundations Track",
"time" => "0930"
),
'28' => array(
"title" => "The OOP in PHP",
"presenter" => "Matthew Turland",
"description" => "While the object-oriented programming paradigm dates back to the beginning of the likes of Simula and Smalltalk, it's present in some form or another in most mainstream programming languages used for web development today. Among these is that of PHP, which saw an overhaul of its object system in version 5 and a number of additions in the more recent releases of 5.3 and 5.4. This presentation covers both general concepts related to object-oriented programming as well as the ins and outs of PHP's OOP implementation. The four main principles of OOP - abstraction, inheritance, encapsulation, and polymorphism - are reviewed as well defining and instantiating classes, abstract classes, interfaces, magic methods, autoloading classes, and more.",
"room" => "Foundations Track",
"joindin" => "https://joind.in/8731",
"date" => "2013-06-28:Foundations Track",
"time" => "1100"
),
'29' => array(
"title" => "Web Security and You",
"presenter" => "Eli White",
"description" => "This talk will focus on XSS, CSRF, Session Hijacking, SQL Injection, and other security vulnerabilities that need addressed in Website Development. This talk will cover a gambit of these issues, giving specific code examples showing what the vulnerabilities look like and how to identify them. It will then present solutions to close them down and protect yourself.",
"room" => "Foundations Track",
"joindin" => "https://joind.in/8732",
"date" => "2013-06-28:Foundations Track",
"time" => "1500"
),
),
'schedule' => array(
'2013-06-28' => array(
'0800' => array(
'end' => false,
'type' => 'Registration',
'talks' => array(),
'room' => 'Sycamore',
),
'0900' => array(
'end' => false,
'type' => 'Welcome',
'talks' => array(),
'room' => 'Sycamore',
),
'0930' => array(
'end' => '1020',
'type' => 'Session',
'talks' => array(21,2),
'room' => null,
),
'1030' => array(
'end' => '1120',
'type' => 'Session',
'talks' => array(10,20),
'room' => null,
),
'1130' => array(
'end' => '1220',
'type' => 'Session',
'talks' => array(30,12),
'room' => null,
),
'1220' => array(
'end' => '1330',
'type' => 'Lunch',
'talks' => array(),
'room' => 'Sycamore',
),
'1330' => array(
'end' => '1420',
'type' => 'Session',
'talks' => array(24,15),
'room' => null,
),
'1430' => array(
'end' => '1520',
'type' => 'Session',
'talks' => array(3,1),
'room' => null,
),
'1530' => array(
'end' => '1620',
'type' => 'Session',
'talks' => array(18,19),
'room' => null,
),
'1630' => array(
'end' => '1720',
'type' => 'Session',
'talks' => array(8,11),
'room' => null,
),
'1730' => array(
'end' => '2000',
'type' => 'After Party',
'talks' => array(),
'room' => 'Sycamore',
),
),
'2013-06-28:Foundations Track' => array(
'0930' => array(
'end' => '1050',
'type' => 'Foundations of PHP',
'talks' => array(27),
'room' => null,
),
'1100' => array(
'end' => '1220',
'type' => 'OOP in PHP',
'talks' => array(28),
'room' => null,
),
'1220' => array(
'end' => '1330',
'type' => 'Lunch',
'talks' => array(),
'room' => 'Sycamore',
),
'1330' => array(
'end' => '1450',
'type' => 'MySQL Minutiae',
'talks' => array(23),
'room' => null,
),
'1500' => array(
'end' => '1620',
'type' => 'Web Security and You',
'talks' => array(29),
'room' => null,
),
),
'2013-06-29' => array(
'0930' => array(
'end' => '1020',
'type' => 'Session',
'talks' => array(26,16),
'room' => null,
),
'1030' => array(
'end' => '1120',
'type' => 'Session',
'talks' => array(7,31),
'room' => null,
),
'1130' => array(
'end' => '1220',
'type' => 'Session',
'talks' => array(22,13),
'room' => null,
),
'1220' => array(
'end' => '1330',
'type' => 'Lunch',
'talks' => array(),
'room' => 'Sycamore',
),
'1330' => array(
'end' => '1420',
'type' => 'Session',
'talks' => array(4,6),
'room' => null,
),
'1430' => array(
'end' => '1520',
'type' => 'Session',
'talks' => array(9,14),
'room' => null,
),
'1530' => array(
'end' => '1620',
'type' => 'Session',
'talks' => array(5,17),
'room' => null,
),
'1630' => array(
'end' => '1720',
'type' => 'Keynote',
'talks' => array(25),
'room' => 'Sycamore',
),
'1720' => array(
'end' => '1735',
'type' => 'Closing Remarks',
'talks' => array(),
'room' => 'Sycamore',
),
'1735' => array(
'end' => '2000',
'type' => 'After Party',
'talks' => array(),
'room' => 'Sycamore',
),
),
),
);