This repository has been archived by the owner on Jul 21, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
yow.yaml
2479 lines (2467 loc) · 139 KB
/
yow.yaml
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
---
:days:
- - :time: 8:00 - 8:30
:sessions:
- :speaker_ids: []
:track: Registration
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: ""
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- :time: 8:30 - 9:00
:sessions:
- :speaker_ids: []
:track: Welcome
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: ""
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- :time: 9:00 - 10:00
:sessions:
- :speaker_ids:
- 1556
:track: Keynote Address
:abstract: |-
<p>
Australian technologist and entrepreneur Rod Johnson will talk candidly about some of the lessons he's learnt over 15 years in IT, some of the mistakes he's made and observed others making, and some of the things that proved to work. The talk will cover both business and technical topics and reflect Rod's experience writing books on Java programming, creating and leading the popular Spring Framework and building a successful venture-funded software company, acquired in 2009 by VMware, where Rod is today an executive.
</p>
<p>
<b>Keywords: </b>Java, Enterprise Computing
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2762
:title: Things I Wish I'd Known
:speakers: Rod Johnson
:id: "2762"
- :time: 10:00 - 10:15
:sessions:
- :speaker_ids: []
:track: Morning Tea
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: Morning Tea
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- :time: "10:15 - 11:15\n \xC2\xA0"
:sessions:
- :speaker_ids:
- 1689
:track: Enterprise Java
:abstract: |-
<p>
Delight your customers and impress your colleagues by delivering enterprise Java applications faster than ever before. In this session we'll introduce Spring Roo, an open source tool that makes it easy to build applications using the Java language, standards and technologies you already know. In this demonstration-oriented session, we will cover:
</p>
<ul>
<li>Support for Java standards including JPA, Servlet Spec, JSP, JavaBean Validation, JavaMail, JMS etc </li>
<li>Transparently reverse engineering and synchronising database schemas - Automatic Google Web Toolkit (GWT) UIs </li>
<li>Automatic JUnit tests, Maven builds, JSP pages, toString() methods etc - Deploying to clouds such as Google App Engine </li>
<li>Extending Roo with add-ons - Removing Roo from your project in four clicks </li>
</ul>
<p>
This session assumes basic Enterprise Java development knowledge.
</p>
<p>
<strong>Keywords: </strong>Java, JavaBean, JSP, Enterprise Development
</p>
<p>
<strong>Target Audience: </strong>Application developers, Java developers
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2624
:title: "Extreme Java Productivity: Enterprise Applications in Just Minutes"
:speakers: Ben Alex
:id: "2624"
- :speaker_ids:
- 1797
- 1798
:track: MS.Net
:abstract: "<p>\r\n\
For some people the .NET ecosystem comes along with some negative \r\n\
connotations related to closed-source, prescriptive, narrow solution \r\n\
architectures.\r\n\
</p>\r\n\
<p>\r\n\
Nonetheless, there is a rich array of interesting technology \r\n\
available when using .NET \x13 whether on Windows or on Mono. Microsoft is \r\n\
investing in languages and frameworks, open-source innovations are being\r\n\
applied from other platforms, and very smart people using .NET as the \r\n\
best choice for their circumstance.\r\n\
</p>\r\n\
<p>\r\n\
This talk will showcase some of the very interesting languages, \r\n\
development tools, frameworks and architectural approaches (whether from\r\n\
Microsoft or from the Alpha Geeks in the .NET community) that you \r\n\
should have on your list of things to research, learn, and use over the \r\n\
next 12 months.\r\n\
</p>\r\n\
<p>\r\n\
<b>Keywords</b>: .NET, open source, innovation, Mono, tools\r\n\
</p>\r\n\
<p>\r\n\
<b>Target audience</b>: MSDN subscribers looking for something more, \r\n\
.NET architects and developers, the .NET-curious\r\n\
</p>"
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2737
:title: |-
The State of the Art .NET:
12 months of things to learn
:speakers: Amanda Laucher Josh Graham
:id: "2737"
- :speaker_ids:
- 1636
:track: Ruby
:abstract: |-
<p>
You will learn about the changes in Rails 3 that make
your life as a web developer easier. Most of the significant changes have to do
with the implementation of Rails under the covers. We'll look at what those
changes are and how they affect you. We'll also take a look at which APIs
changed, from initialization hooks to query generation with Arel, a relational
algebra library. Other topics include the new ActiveModel library, the
influence of Merb on Rails 3, its overall Modularity and Bundler.
</p>
<p>
<b>Keywords:</b> Ruby, Ruby on Rails
</p>
<p>
<b>Target audience:</b> Developers with at least minimal
knowledge of Rails that haven't kept up to date with what's new in Rails 3
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2636
:title: "The Rich Get Richer: Rails 3"
:speakers: Obie Fernadez
:id: "2636"
- :time: "11:20 - 12:20\n \xC2\xA0 "
:sessions:
- :speaker_ids:
- 1631
:track: Enterprise SOA
:abstract: |-
<p>
Rachel works with many clients architecting and implementing
connectivity solutions, particularly focused on Enterprise Service Bus.
In this session, Rachel will explore established architectures for ESB
and new emerging architectures for connectivity/ESB including
connectivity in and to the Cloud, federated service management,
expanding role of appliances, hybrid buses using multiple technologies,
and dynamic policy-driven ESBs. She will use client examples to
illustrate these relatively new connectivity architectures.<b></b>
</p>
<p>
<b>Keywords</b>: SOA, Service Oriented Architecture, Architecture,
Enterprise Service Bus, ESB, Connectivity, Management
</p>
<p>
<b>Target Audience</b>: Architects, technical leads, and IT managers who
have experience with messaging, connectivity, B2B, SOA or ESB.
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2646
:title: |-
Connectivity for Today's
Complex World
:speakers: Enterprise SOARachel Reinitz
:id: "2646"
- :speaker_ids:
- 1635
:track: MS.NET
:abstract: |-
<p>
Asynchronous, event-driven "reactive" programming is way too hard in
today's world of development tools and frameworks. The huge amount of
manual and error-prone plumbing leads to incomprehensible and hard to
maintain code. As we reach out to services in the cloud, the desire for
asynchronous computation is ever increasing, requiring a fresh look on
the problems imposed by reactive programming. Centered around the
concept of observable data sources, Rx provides a framework that takes
care of the hard parts of reactive programming. Instead of focusing on
the hard parts, you now can start dreaming about the endless
possibilities of composing queries over asynchronous data sources,
piggybacking on convenient LINQ syntax. In this session, we'll cover the
design philosophy of Rx, rooted on the deep duality between the
interactive IEnumerable interface and the new reactive IObservable
interface in .NET 4. From this core understanding, we'll start looking
at various combinators and operators defined over observable
collections, as provided by Rx, driving concepts home by a bunch of
samples. Finally, if time permits, we'll look at the Reactive Extensions
for JavaScript which allows us to take the concepts we already know
from Rx and apply them to JavaScript and have deep integration with
libraries such as jQuery. Democratizing asynchronous programming starts
today. Don't miss out on it!
</p>
<p>
<b>Keywords:</b> Complex event processing, asynchronous programming,
agents, concurrency, JavaScript, C#, LINQ, NoSQL, Web 2.0, Enterprise Computing, Cloud, MS.net
</p>
<p>
<b>Target audience: </b>Anyone that writes code that involves UI or Web
services
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2654
:title: |-
Rx: Curing Your Asynchronous
Programming Blues
:speakers: Erik Meijer
:id: "2654"
- :speaker_ids:
- 1612
:track: Ruby
:abstract: |-
<p>
While others have been debating whether Rails can scale to enterprise levels, we've been demonstrating it. ThoughtWorks is running one of the largest Rails projects in the world, for an Enterprise. This session discusses tactics, techniques, best practices, and other things we've learned from scaling rails development. I discuss infrastructure, testing, messaging, optimization, performance, and the results of lots of lessons learned, including killer rock-scissors-paper tricks to help you avoid babysitting the view tests!
</p>
<p>
<b>Keywords: </b>Ruby, Ruby on Rails, Process, Agile, Best Practices, Architecture, Design, Craftmanship
</p>
<p>
<b>Target Audience: </b>Developers interested in how we combine agility and large-scale enterprise development using Ruby on Rails.
</p>
<b></b>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2598
:title: |-
Rails in the Large: How We're
Building (One of) the Largest Rails
Apps in the World (for an Enterprise)
:speakers: Neal Ford
:id: "2598"
- :time: 12:20 - 1:00
:sessions:
- :speaker_ids: []
:track: Lunch
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: Lunch
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- :time: "1:00 - 2:00 "
:sessions:
- :speaker_ids:
- 1847
:track: Enterprise
:abstract: |-
<p>
Calling everything a service
makes the term meaningless. Now, we've got 13 different kinds of
services and no clue when to use which one. Is a single operation a
service? Is a single endpoint a service? What about cross cutting
functions like authorization and data access? If you've been wondering
about these sorts of questions, then this talk is for you. If you've
been looking for a top-down analysis and design process, then this talk
is for you. If you've been looking for concrete guidance on how to
choose technology for SOA, then this talk is for you. Join Udi as he
describes the "missing links" in SOA: Business Components and Autonomous
Components. It turns out that components are more important than ever
in this new, service-oriented world.
</p>
<p>
<b>Keywords: </b>Architecture, SOA, MS.net
</p>
<p>
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2748
:title: |-
Avoid a Failed SOA - Business & Autonomous Components
to the Rescue
:speakers: Udi Dahan
:id: "2748"
- :speaker_ids:
- 1637
:track: Best Practices
:abstract: |-
<p>
Integrated tests are a scam -- a self-replicating virus that
threatens to infect your code base, your project, and your team with
endless pain and suffering. In this session you will learn the
reasons integrated tests will let you down and a simple, two-part
strategy to regain control of your defect rate and your design.
</p>
<p>
<b>Keywords: </b>Craftmanship, Design, mock objects, test doubles, integrated tests, unit tests,
integration tests, microtests, testing, best practices, agile
</p>
<p>
<b>Target Audience: </b>Programmers finding themselves frustrated that their tests don't find
their integration mistakes; Anyone finding himself buried under an
ever-growing mountain of complex, brittle tests.
<br />
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2600
:title: Integrated Tests Are A Scam
:speakers: J. B. Rainsberger
:id: "2600"
- :speaker_ids:
- 1616
:track: Languages & Concurrency
:abstract: |-
<p>
The Fortress programming language integrates traditional mathematical
notation into an object-oriented framework based on traits with
multiple inheritance, overloading (of both methods and functions)
resolved by symmetric dynamic dispatch, static types, and separately
compiled modules. A component/API system governs visibility of traits,
objects, and functions, but it is desirable to regard overloadings that
are visible to the callee as part of its implementation, even though
they may not be visible to the caller. This complicates the rules for dispatch.
Simply put, the same method name may refer to different methods
in different compilation units, depending on the import and export declarations,
and the implementation has to make it all work.
</p>
<p>
Moreover, a longstanding problem with multiple inheritance is what to do when
methods inherited from several parents conflict. Many approaches have
been explored in the literature; some unfortunately violate the
intuitively desirable requirement that the function or method invoked
be the uniquely most specific one that is both accessible and
applicable. Fortress detects potential overloading ambiguity at compile time
and issues error messages explaining to the programmer what additional
overloadings are needed to resolve the problem; therefore it is impossible for any
function or method call to be ambiguous. This idea goes back nearly
two decades, but Fortress appears to be the first programming language
to adopt the idea and enforce it statically, even in the face of separate compilation.
It enables a distributed implementation of dispatching that is easy to explain
and allows selective export and selective optimization. In this way a single
strategy meets the requirements of both the multimethod dispatch and the
component visibility rules.
</p>
<p>
<b>Keywords:</b> Object-oriented programming, traits, multiple dispatch, symmetric dispatch, multiple inheritance, overloading, modularity, multimethods, static types, components, separate compilation, visitor pattern, Language, Java, Fortress
</p>
<p>
<b>Target Audience: </b>Developers with an interest in next-generation object-oriented languages
</p>
<p>
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2715
:title: |-
Fully Modular, Statically Typed,
Symmetric Multimethod Dispatch
:speakers: Guy L. Steele, Jr.
:id: "2715"
- :time: 2:05 - 3:05
:sessions:
- :speaker_ids:
- 1799
:track: Cloud
:abstract: |-
<p>
Google App Engine is a framework that lets you build web apps on top of Google's scalable hosting and data storage infrastructure. When you start building an app on App Engine, you soon realize that you do things differently from the way you made apps for more "traditional" hosting setups, because of our scalability-oriented design. In this talk, we'll give an overview of App Engine, and then look at how you would handle things like offline processing, geographic queries, or storing files, and how you would design real world apps like a microblogging service or social network site.
</p>
<p>
<b>Keywords: </b>Google, App Engine, Scalability, Architecture, Data Storage, Cloud
</p>
<p>
<b>Target Audience: </b>Developers who are building App Engine apps or thinking of using
App Engine for an upcoming project, and who want to learn how they
might architect the backend for their application to work best on top
of Google's hosting infrastructure.
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2736
:title: Writing Apps the Google-y Way
:speakers: Pamela Fox
:id: "2736"
- :speaker_ids:
- 1613
:track: Best Practices
:abstract: |-
<p>
With the advent of new, fast virtual machines and frameworks for both in- and out-of-browser usage, Javascript has stepped into its rightful place as a productive, object-oriented language. More and more, we see full-featured applications being built entirely in this great language. Unfortunately, a lot of the coding habits remain from its humble origin as 'just an html scripting language.' Automated testing is accepted as standard in most other languages, why not in Javascript?
</p>
<p>
In this talk, we'll look at techniques and tools for testing your Javascript effectively. Just getting the tools set up can be daunting, so we'll spend some time looking at setup. Testing interactions with your HTML can be tricky, so we'll cover tips for effectively interacting with your web pages in your tests.
</p>
<p>
<b>Keywords: </b>Javascript, Testing, Craftmanship, Best Practice, MS.net, Design
</p>
<p>
<b>Target Audience:</b> Developers who are looking for a jump-start to automated testing in Javascript.
</p>
<p>
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2650
:title: Testing Your Javascript
:speakers: Corey Haines
:id: "2650"
- :speaker_ids:
- 1687
:track: Languages & Concurrency
:abstract: |-
<p>
Erlang is a programming language designed for the Internet Age, although it pre-dates the Web. It is a language designed for multi-core computers, although it pre-dates them too. It is a "beacon language", to quote Haskell guru Simon Peyton-Jones, in that it more clearly than any other language demonstrates the benefits of concurrency-oriented programming. In this talk, I will try to show how learning Erlang will make you a better programmer.
</p>
<p>
<b>Keywords: </b>Erlang, Concurrency, Scalability, Fault-tolerance, Architecture
</p>
<p>
<b>Target Audience:</b> Programmers, architects, technology decision makers
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2595
:title: |-
Erlang Warps Your Mind: Concurrency-
Oriented Programming
:speakers: Ulf Wiger
:id: "2595"
- :time: 3:05 - 3:20
:sessions:
- :speaker_ids: []
:track: Afternoon Tea
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: Afternoon Tea
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- :time: 3:20 - 4:20
:sessions:
- :speaker_ids:
- 1659
:track: Cloud
:abstract: |-
<p>
The misnamed "NoSQL" movement is less of a rejection of the relational technology that has served us well for 40 years, but rather an embrace of persistence technologies that help us solve problems not well addressed by the classic RDBMS. This talk will provide an overview of the "NoSQL" landscape and in addition, describe both the technology behind and a significant deployment example of Neo4J, a graph-oriented alternative data store.
</p>
<p>
<b>Keywords</b>: Neo4J, Graph DB, NoSQL, Java, DataBase
</p>
<p>
<b>Target Audience</b>: Developers interested in alternative database solutions in general or specifically graph databases.
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2649
:title: |-
Not Only SQL: Alternative
Data Persistence and Neo4J
:speakers: Emil Eifrem
:id: "2649"
- :speaker_ids:
- 1658
:track: Best Practices
:abstract: |-
<p>
As software development leaders, we need to think more strategically. Some design decisions affect the trajectory of the whole project or even the organization. These decisions arise in early chartering and throughout development, and they are about much more than architecture. This talk will examine these issues through the lens of the Strategic Design principles of domain-driven design (DDD), which systematize a few critical practices some successful teams do intuitively. <br />
<br />
It is common for skilled teams to deliver software they are not proud of, due to compromises with legacy designs. Others toil for years, producing a platform that is never used to good advantage. These are strategic failures. On the other hand, there are projects with a direct explanation of how the software contributes to business goals. There are projects where designers work with a realistic view of the context of their development within the larger system, allowing them to maintain design clarity and integrity. These are strategic successes. Winning strategy starts with the domain. <br />
<br />
Two DDD principles, "Context Mapping" and "Distilling the Core Domain", help you see your strategic situation more clearly and approach strategic design decisions more systematically. These techniques require extensive interaction with domain experts as well as the leaders of the organization, in discussions broader than functional requirements. They sometimes lead to priorities quite different from our most comfortable notions. <br />
<b><br />
Keywords:</b> DDD, Architecture, Modeling, Design, Legacy Systems
</p>
<p>
<strong>Target Audience: </strong>Development Executives, Managers, Leads, Architects
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2637
:title: |-
Strategic Design: Avoiding
Responsibility Traps
:speakers: Eric Evans
:id: "2637"
- :speaker_ids:
- 1803
:track: Languages & Concurrency
:abstract: |-
<p>
People have been talking about "scaling" and "distributed systems" a
great deal lately. We need to clarify the meaning of these terms in
order to have a worthwhile conversation about them. We will do so by
discussing the details of how to actually produce practical, scalable,
distributed systems.
</p>
<p>
That discussion will focus on methods for designing and building
robust fundamentally-concurrent distributed systems. These approaches
have been learned through building user-facing web applications, data
storage and processing systems, and server management tools. We will
look at practices that are "common knowledge" but too often forgotten,
at lessons that the software industry at large has somehow missed, and
at general "good practices" and rules that must be thrown away when
moving into a distributed and concurrent world.
</p>
<p>
<b>Keywords</b>: distributed systems, scaling, concurrency, web, architecture
</p>
<p>
<b>Target Audience</b>: programmers and system designers
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2749
:title: Embracing Concurrency At Scale
:speakers: Justin Sheehy
:id: "2749"
- :time: 4:25 - 5:25
:sessions:
- :speaker_ids:
- 1802
:track: Cloud
:abstract: |-
<p>
Google is known to operate one of the largest civilian computing infrastructures. These hardware resources are managed by a vast collection of software frameworks and tools, which form the basis for highly parallelized, reliable, low-latency, high-throughput applications. They also provide useful programming abstractions that speed up development and debugging. Some parts of this infrastructure, such as MapReduce, GFS, Sawzall, Chubby, Protocol Buffers, are available as open source projects or published in academic papers, while others are proprietary. Rather than dive into the dark corners of each of these tools, this talk tries to distill key design themes
and patterns, which enable these unique capabilities, and can be re-used in other contexts.
</p>
<p>
<b>Keywords: </b>Cloud
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2753
:title: |-
Distributed Programming
the Google Way
:speakers: Gregor Hophe
:id: "2753"
- :speaker_ids:
- 1557
:track: Best Practices
:abstract: |-
<p>
In this tutorial, you will learn how to create applications that survive the rigors of life in production. Too often, project teams aim to pass QA instead of aiming for success in production. Testing is not enough to prove that your software is ready for continuous availability in the corrosive environment of the Internet.
</p>
<p>
During this tutorial, you will receive an understanding of the architecture and design patterns that can produce high availability in distributed, multithreaded systems such as those based on Java EE, .Net, or Ruby on Rails. You will also learn about the antipatterns that can sabotage your systems availability and capacity. <b></b>
</p>
<p>
<b>Keywords:</b> Architecture, Enterprise, Operations, Production, Deployment, Scalability, Configuration Management <b></b>
</p>
<p>
<b>Target Audience:</b> Experienced developers and architects working with web applications or service-oriented architectures.
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2623
:title: |-
Release It! Design and Deploy
Production-Ready Software
:speakers: Michael T. Nygard
:id: "2623"
- :speaker_ids:
- 1801
:track: Languages & Concurrency
:abstract: |-
<p>
Erlang is a programming language which has been picking up steam the last few years, in particular in domains that require a lot of coordination in the application logic. The language supports a simple and consistent set of features for writing concurrent distributed systems.
</p>
<p>
Over the last few years, I have been meeting "Erlang people" more and more often, and I have been getting the impression that they have a magical ability to reason intuitively about concurrent systems in a way that I have not. It corresponds somewhat to the way we "object heads" think intuitively about classes and objects - just in terms of processes. That bothered me, so I wanted to learn Erlang.
</p>
<p>
Being a language implementor, the most obvious way to do that is to just go ahead and implement an Erlang VM, right? The result of this "little exercise" is Erjang, an open-source JVM-based Erlang VM. It has turned into a non-trivial project, Erjang is now +50k lines of Java code, and it runs substantial erlang programs.
</p>
<p>
This adventure to Erlang-land have taught me many things about how "Erlang people" think. I am beginning to understand how they think in processes/actors, how they model things and how they handle the complexity that arises in concurrent systems.
</p>
<p>
In the first part of my talk, I'll go through some of these lessons, some of the aha!'s and the insights into Erlang's secret sauce, and present some of the patterns Erlang'ers use to describe and model systems.
</p>
<p>
Secondly, I'll take you through some of the highlights of the Erjang VM; which is just another angle at describing how Erlang and Java differs.
</p>
<p>
<b>Keywords:</b> Erlang, JVM, Concurrency, Scalability, Alternative languages
<b>
</b>
</p>
<p>
<b>Target Audience:</b> Java developers (preferrably ones that have felt the pain of concurrency)
</p>
<p>
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2750
:title: |-
Domain Modeling with Processes -
Adventures of an "object head"
in Erlang land
:speakers: Kresten Krab Thorup
:id: "2750"
- :time: 5:25 - 6:00
:sessions:
- :speaker_ids: []
:track: Break
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: Break
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- :time: 6:00 - 7:15
:sessions:
- :speaker_ids:
- 1616
- 1617
:track: Keynote Address
:abstract: |-
<p>
Languages - what's to learn from them? Relics of the past; we know how to design them / to use them. Types / messages / invocation / loops / numbers / methods / big ol' libraries / lots of = signs. Heh, but what is programming, and what role do programming languages play in that process? We have learned a lot over the last five decades: organizing principles, established conventions, theory, fashions, and fads. "Those who cannot remember the past are condemned to repeat it." In this talk we survey what we think are the most important lessons of the past that future programmers, and future programming language designers, ought not forget. We illustrate each lesson by discussing specific programming languages of the past, and endeavor to shine what light we can on the future.
</p>
<p>
<b>Keywords: </b>Languages, a cirque du soleil of technical talks, Patterns, Design
</p>
<p>
<b>Target Audience:</b> People not afraid of finding out just how weird our predecessors were and who enjoy theater style.
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2596
:title: 50 in 50
:speakers: Keynote AddressGuy Steele Richard Gabriel
:id: "2596"
- :time: 7:30 - 9:30
:sessions:
- :speaker_ids: []
:track: Reception
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: Reception
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- - :time: 8:30 - 9:00
:sessions:
- :speaker_ids: []
:track: Welcome
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: ""
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- :time: 9:00 - 10:00
:sessions:
- :speaker_ids:
- 1635
:track: Keynote Address
:abstract: |-
<p>
In his hunt to make all data accessible, Erik has caught sight of noSQL.
</p>
<p>
<b>Keywords:</b> C#, LINQ, NoSQL, Web 2.0, Enterprise Computing, Cloud, MS.net
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2751
:title: title.regex = "* noSQL *"
:speakers: Erik Meijer
:id: "2751"
- :time: 10:00 - 10:15
:sessions:
- :speaker_ids: []
:track: Morning Tea
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: Morning Tea
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- :time: "10:15 - 11:15\n \xC2\xA0"
:sessions:
- :speaker_ids:
- 1692
:track: Web 2.0 REST
:abstract: |-
<p>
REST is ready for the enterprise. Imagine an information platform that is open and available to systems throughout the enterprise estate. A platform that eschews integration in favour of composition, connected data over siloed databases. A networked data structure with the power to implement valuable business behaviours: a distributed, hypermedia-driven application platform.
Using techniques drawn from the forthcoming O'Reilly book 'REST in Practice', in this session I show how to model business processes as domain application protocols, implement them in terms of resource lifecycles, and execute them using HTTP idioms, media types and link relation values.
</p>
<p>
Keywords: Best Practices, REST, Web 2.0, Architecture, Design
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2739
:title: |-
Designing and Implementing
RESTful Application Protocols
:speakers: Ian Robinson
:id: "2739"
- :speaker_ids:
- 1686
:track: Mobile
:abstract: |-
<p>
Windows Phone 7 puts in your pocket powerful hardware and APIs familiar to .NET developers. In spite of these similarities the intrinsic differences between the phone and traditional PCs translate into differences between effective mobile and traditional code. In this talk I will cover some of the most interesting aspects of developing Windows Phone 7 applications. Understanding these the differences allows developers to leverage the phone's capabilities (such as the sensors) as well as managing the challenges of a mobile platform (such as the battery).
</p>
<p>
<strong>Keywords: </strong>.NET, Mobile
</p>
<p>
<strong>Target Audience: </strong>Mobile application developers, Developers with interest in mobile application development
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2645
:title: Building Windows Phone 7 Applications
:speakers: Dragos Manolescu
:id: "2645"
- :speaker_ids:
- 1611
:track: Tools
:abstract: |-
<p>
The internet has fundamentally changed the software development profession, but development tools and processes have struggled to keep pace. Learn how the internet and internet technologies like REST, linked data and RDF can be used to develop a breed of software development tools that are better adapted to development in the internet age and can solve a set of perennial problems that have limited the effectiveness of end-to-end development tool suites.
</p>
<p>
<b>Keywords:</b> REST, Linked Open Data, RDF, SPARQL, Tools
</p>
<p>
<b>Target Audience:</b> Developers, Development Managers
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2635
:title: |-
Leveraging Internet Technologies
to Build a New Breed of Software
Development Tools
:speakers: Martin Nally
:id: "2635"
- :time: "11:20 - 12:20\n \xC2\xA0 "
:sessions:
- :speaker_ids:
- 1688
:track: Web 2.0 REST
:abstract: |-
<p>
This session explores using commodity HTTP middleware in building REST-ish systems at large scale using agile and devops-friendly techniques. Attendees will learn the architectural and cost fallacies of traditional middleware and see how F/OSS solutions can be used to delivery massive scalable solutions. The talk will cover two case studies building real systems in production and compare them with the cost/benefits of using vendor-proprietary middleware, which sadly makes the vendors look like an expensive and risky option!<br />
<br />
<b>Keywords</b>: Case Study, Enterprise, Scalability, Agile, Devops, SOA, Best Practices, Cloud
</p>
<p>
<b>Target Audience</b>: Architects or developers with an interest in large-scale distributed systems and decision makers who want to understand the cost benefits of HTTP-centric systems versus middleware-based systems
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2638
:title: |-
Lessons Learned in Large
HTTP-Centric Systems
:speakers: Jim Webber
:id: "2638"
- :speaker_ids:
- 1851
- 1850
:track: Mobile
:abstract: |-
<p>
In response to our more recent YOW! Night on mobile platforms we are pleased to add a workshop on mobile application development for Android and iPhone so that developers will have the opportunity to dig deep into development for these 2 hot platforms.
</p>
<p>
Details will be posted shorty.
</p>
<p>
<b>Keywords: </b>Mobile
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2752
:title: |-
Developing Commercial Apps
for Android and iPhone
:speakers: Daniel Bradby Nathan de Vries
:id: "2752"
- :speaker_ids:
- 1796
:track: Tools
:abstract: |-
<p>
Continuous Integration is great but what happens when your builds get out of control? What happens when you have too many build plans, that
take way too long to execute? How do you keep a handle on growing complexity and how do you measure and control build reliability? How
do you stop builds growing into a rampaging monster and running amok destroying the city with its death rays and bullet-proof teeth?
</p>
<p>
As the number of features, tests, supported platforms and the number of developers and customers grows, there comes a time when you need
serious engineering in your build if you want any hope of staying Agile.
</p>
<p>
In this presenation you will learn how to tame the monsters hiding in your builds, hopefully before they get out of control.
</p>
<p>
<b>Keywords:</b> Build, Continuous Integration, Unit Testing, Automation, Cloud Testing, Development Velocity, Tools
</p>
<p>
<b>Target Audience: </b> Development team members, team leaders and build specialists, primarily those who want the benefits of continuous integration to scale with their project.
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2740
:title: Monster Builds (and how to tame them)
:speakers: Chris Mountford
:id: "2740"
- :time: 12:20 - 1:00
:sessions:
- :speaker_ids: []
:track: Lunch
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: Lunch
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- :time: "1:00 - 2:00 "
:sessions:
- :speaker_ids:
- 1707
- 1708
:track: Interaction & Visualization
:abstract: |-
<p>
As a provider of hearing solutions to hearing impaired people for almost 30 years, Cochlear is renowned worldwide as a technical innovator and as a great Australian success story. We share the story of our journey with Agile software development in an environment that is traditionally not comfortable with it. More compellingly we cover the emergence of user experience and user centered design and how it has integrated into almost every aspect of the product development and delivery cycle.
</p>
<p>
<b>Keywords:</b> Agile, UX, User Experience, User Centered Design, Regulations
</p>
<p>
<b>Target Audience:</b> Developers, Managers, Thought Leaders, User Experience Architects
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2648
:title: |-
The Emergence of UX
in an Agile World
:speakers: |-
Victor Rodriguez
Xerxes Battiwalla
:id: "2648"
- :speaker_ids:
- 1612
:track: Best Practices
:abstract: |-
<p>
This session describes the current thinking about <i>emergent</i> design, discovering design in code. The hazard of Big Design Up Front in software is that you don't yet know what you don't know, and design decisions made too early are just speculations without facts. Emergent design techniques allow you to wait until the last responsible moment to make design decisions. This talk covers four areas: emergent design enablers, battling things that make emergent design hard, finding
idiomatic patterns, and how to leverage the patterns you find. It includes both proactive (test-driven development) and reactive (refactoring, metrics, visualizations, tests) approaches to discovering design, and discusses the use of custom attributes, DSLs, and other techniques for utilizing them. The goal of this talk is to provide nomenclature, strategies, and techniques for allowing <i>design</i> to emerge from projects as they proceed, keeping your code in sync with the problem domain.
</p>
<p>
Keywords: Best Practices, Architecture, Design, Craftmanship, Agile
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2754
:title: Emergent Design
:speakers: Neal Ford
:id: "2754"
- :speaker_ids:
- 1557
:track: Development Ops
:abstract: |-
<p>
There's nothing like a crisis to remove artificial barriers. In thissession, Michael will present an experience report about development and operations coming together after a failed launch. Aside from the funof sharing war stories and comparing scars, what can we learn about climbing out of a crater after the worst has already happened? Can we capture the special magic of a firefighting mission during more sedate times? Beyond all of that, come find out how to stay out of the crater to begin with.
</p>
<p>
<b>Keywords:</b> Development Operations, Velocity, Disaster, Crisis, Organization, Architecture, Best Practices
</p>
<p>
<b>Target Audience:</b> Developers, Managers, Architects
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2628
:title: |-
When the Fur Flies: Dev and
Ops
Cooperation when the Worst Happens
:speakers: Michael T. Nygard
:id: "2628"
- :time: 2:05 - 3:05
:sessions:
- :speaker_ids:
- 1668
:track: Interaction & Visualization
:abstract: |-
<p>
The Web has never been more open to everyone. Open Data services exist in almost every web application: from social networking apps to governmental pages and the news, all this data can be instantly accessed by exposed APIs. However, although most of this data is offered in a simple interchange format, its structures are quite complex, ranging from complex networks to time-based information, hierarchical data or heavy graphs. Displaying this data in a manner that enables the viewer to gain some insight can be challenging, especially if we aim at providing some interaction and doing it in a cross-browser/cross-device manner. The JavaScript InfoVis Toolkit creates interactive data visualizations for the Web. It's based solely on Web Standards, leveraging the power of native browser technologies to provide insights on complex data. In this talk you will learn about the JavaScript InfoVis Toolkit and how it can help you create advanced data visualizations for the Web.
</p>
<p>
<b>Keywords:</b> JavaScript, Visualization, InfoVis, DataVis, Visual Web
</p>
<p>
<b>Target Audience:</b> People wanting to create data visualizations for the web using major browsers and platforms.
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2640
:title: |-
Creating Interactive Data
Visualizations
for the Web
with the JavaScript InfoVis Toolkit 2.0
:speakers: "Nicol\xC3\xA1s Garc\xC3\xADa Belmonte"
:id: "2640"
- :speaker_ids:
- 1614
:track: Lean Software Management
:abstract: |-
<p>
Henry Ford changed the world through the manufacturing machinery he created over 100 years ago. Separating 'thinking' from 'doing', Mr Ford defined a management archetype for large western organisations that still persists over a century later. But as we move to an information age at break-neck speed, does command & control management still look as compelling?<br />
<br />
In this presentation, Richard will discuss the history of management science and how management techniques affect the performance of technology teams and IT divisions. He will demonstrate the fundamental differences between today's two prevalent management theories: Scientific Management Theory and Systems Management Theory. He will explore the foundations of management theory in philosophical thought, the development of management models through political and military leadership, and ultimately the application of management concepts in today's information age. Richard will investigate a number of case studies from IT and beyond, presenting empirical evidence that demonstrates a change in management philosophy can directly affect business results. This presentation is a must for anyone interested in or involved in enterprise level Agile adoption or simply with an interest in hearing more on 'Lean & Systems Thinking' from an experienced practitioner.
</p>
<p>
<b>Keywords:</b> Lean Thinking, Systems Thinking, Agile Coaching, Transformation, Adoption, Change Management, Management Theory
</p>
<p>
<strong>Target Audience: </strong>Engineers with an interest in how management theory can directly affect developer and team productivity; IT leaders interested in changing the command & control structure of their organisations in the pursuit of improved results; Coaches and change managers interested in introducing new tools and concepts to help deal with organisational change and adoption issues; Anyone interested in learning more about lean and systems thinking.
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2597
:title: |-
Management 2.0: Leadership Models
for an Information Age
:speakers: Richard Durnall
:id: "2597"
- :speaker_ids:
- 1685
:track: Scaling
:abstract: |-
<div>
<p>
Conventional wisdom says that memory is fast, disk is slow, networks are slower and that fast systems must be highly concurrent to achieve maximum performance. Much of this is outdated and some of it is now wrong. Modern hardware is phenomenally fast, but we have become complacent and use it in extremely inefficient and inappropriate ways.
</p>
<p>
For world class performance on commodity hardware you need to take a holistic approach to software design. The good news is that all the stuff we learned in computer science 101 is what really matters, choose your data structures carefully, model your domain, understand your platform, work hard to have a clear separation of concerns, but as well as all of that, run your business logic on a single thread!?
</p>
<p>
<b>Keywords: </b>High-Performance Computing, Java, Trading Systems, Concurrency, Low-Latency
</p>
<p>
<b>Target Audience: </b>Developers interested in how to stretch the boundaries of what is possible on modern hardware
</p>
</div>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2601
:title: |-
LMAX: How to do over 100K contended
complex business transactions per second
at less than 1ms latency
:speakers: Dave Farley
:id: "2601"
- :time: 3:05 - 3:20
:sessions:
- :speaker_ids: []
:track: Afternoon Tea
:abstract:
:link: http://yowaustralia.com.au/melbourne/events_tracks/
:title: ""
:speakers: Afternoon Tea
:id: http://yowaustralia.com.au/melbourne/events_tracks/
- :time: 3:20 - 4:20
:sessions:
- :speaker_ids:
- 1669
:track: Interaction & Visualization
:abstract: |-
<p>
The ability to collect and store data continues to increase, but our ability to understand it remains unchanged. Data visualization makes use of our evolutionary proclivity for decoding visual images and employs this ability as a high-bandwidth means of getting data into our heads. In this talk, I'll present work I've developed ranging from illustrations of data for magazines and journals to software tools used by geneticists to interactive applications for Fortune 10 companies.
</p>
<p>
<b>Keywords:</b> Design, Visualization, Information Design, Processing.org, Java, Visual Web
</p>
<p>
<b>Target Audience:</b> Anyone interested in understanding the mess of data around us.
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2647
:title: Computational Information Design
:speakers: Ben Fry
:id: "2647"
- :speaker_ids:
- 1696
:track: Lean Software Management
:abstract: |-
<p>
How much does it matter that we're good at delivering if it turns out we're working on the wrong things? Let's explore a way to think not just about individual projects, but rather the project delivery system (i.e., how projects are delivered in general). You will learn concepts and simple techniques for aligning a work portfolio to a common strategy, determining a strategy if it doesn't exist, and linking all of this to efforts to improve throughput.
</p>
<p>
<b>Keywords:</b> Process, Portfolio Management, Strategy Alignment, Lean, Agile
</p>
<p>
<b>Target Audience: </b>People who are interested in improvement across projects, not just single projects.
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2619
:title: |-
Row Together, Row in the Right
Direction,
Row Faster: Improving alignment and
throughput in software development
:speakers: Jason Yip
:id: "2619"
- :speaker_ids:
- 1661
:track: Scaling
:abstract: |-
<p>
We are building the same types of systems as we built yesterday,
the demands placed on our systems becomes more and more demanding. We
need to handle more users, offer more intelligent behavior, provide
different behavior for differenet clients, parallelize both development
and deployment, handle partial failures in our applications, offer the
operations team rich insight into our systems and the ability to tweak
them at runtime and so much more.
</p>
<p>
Trying to build such application using the standard
N-tiered architecture has proven to be hard, challenging and complex.
In this session, you will learn how changing some of the underlying
architectural concepts in how we build applications can lead to simpler
solutions that scale extremely well. Those concepts include divide and
conquer, background evaluation, one way messaging and ruthless
application of the single responsibility principle. We will cover the
full gamot, from building dynamic data models to customizing behaviors
and adaptable user interface.<b></b>
</p>
<p>
<b>Keywords:</b> Scaling, Multi Tenancy, ESB, DataBase, SOA, MS.Net
</p>
:link: http://yowaustralia.com.au/melbourne/events_tracks/event_details.html?eventId=2653
:title: |-
Scaling Applications: Complexity,
Performance, Maintainability,
Multi-Tenancy
:speakers: Oren Eini
:id: "2653"
- :time: 4:25 - 5:25
:sessions:
- :speaker_ids:
- 1795
:track: Interaction & Visualization
:abstract: |-
<p>