Lone Star Software Symposium: Austin - July 20 - 22, 2012 - No Fluff Just Stuff

Venkat Subramaniam

Lone Star Software Symposium: Austin

Austin · July 20 - 22, 2012

You are viewing details from a past event
Venkat Subramaniam

Founder @ Agile Developer, Inc.

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., creator of agilelearner.com, and an instructional professor at the University of Houston.

He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with sustainable agile practices on their software projects.

Venkat is a (co)author of multiple technical books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. You can find a list of his books at agiledeveloper.com. You can reach him by email at venkats@agiledeveloper.com or on twitter at @venkat_s.

Presentations

Programming with HTML 5

Developing a rich user interface for web applications is both exciting and challenging. HTML 5 has closed the gaps and once again brought new vibe into programming the web tier. Come to this session to learn how you can make use of HTML 5 to create stellar applications.

Rediscovering JavaScript

JavaScript is one of those very powerful languages that is often misunderstood and underutilized. It's quite popular, yet there's so much more we can do with it.

Automated testing tools and techniques for JavaScript

Programmers often complain that it is hard to automate unit and acceptance tests for JavaScript. Testability is a design issue and with some discipline and careful design we can realize good
automated tests.

Taming Shared Mutability with Software Transactional Memory

Mutability is something we're quite used to in Java. Sharing is a good thing. However, shared mutability is pure devil's work. If we remove shared mutability, all the problems of concurrent go away. In practice, however, it's hard to completely get rid of shared mutability. This is where STM comes in with managed shared mutable variables. In this presentation we will take an example driven approach to dive deep into STM, look at what it has to offer, explore different implementations, and how we can design concurrent applications without any explicit locks.

Programming Concurrency with Akka

I call the JDK concurrency API as the synchronize and suffer model. Fortunately, you don't have to endure that today. You have some nice options, brought to prominence on the JVM by Scala and Clojure.

Scala for the Intrigued

Scala is a statically typed, fully OO, hybrid functional language that provides
highly expressive syntax on the JVM. It is great for pattern matching,
concurrency, and simply writing concise code for everyday tasks. If you're a
Java programmer intrigued by this language and are interested in exploring
further, this section is for you.

Creating DSLs in Groovy

Domain Specific Languages have two main characteristics, fluency and context. Creating external DSLs has the advantage of good validation. However, we have to struggle with parsers. Internal DSLs offer the benefit of using the language as the host and its compiler as the parser. For a language to be a host, it needs two important characteristics: low-ceremony and metaprogramming.

Testing with Spock

Spock is an awesome tool that exploits Groovy AST transformation to provide elegant, fluent syntax for writing automated tests.

Grails beyond the Hello World

Grails is a powerful web development framework. You've heard and seen those demos that show how simple it is to create applications with it. But, you're not convinced. Your realities are not that simple, you have existing database to integrate with, you have existing applications to run side-by-side, and you're worried how flexible Grails is to meet those needs.

Thinking in Functional Style

Functional Programming has been around for a while, but it is gaining popularity, especially due to direct support in languages on the JVM. Writing code in functional style is not about syntax, it is a paradigm shift. In this presentation, using examples from Java, Groovy, and Scala, you will learn how to write code in functional style. We will start out discussing the elements of functional programming and then look at examples of some common operations and how you can implement those in functional style.

Programming Clojure

Clojure is an exciting language on the JVM for several reasons. It brings the
power of functional programming and the characteristics of dynamic typing into
a single fold. It is a language that has done quite a few things right. It
is lightweight, highly expressive, concise, and offers quite an interesting,
simple, yet very powerful solution to handle concurrency. In this session you
will learn the key strengths of this language and how you can integrate
it with your Java projects.