Paul Hudak explores the question whether the elegance of functional programming is a good match for the aesthetics of art? Is it possible that artists could benefit from using functional languages in their work? In addition to the creative process, can functional languages assist artists in other ways? We will explore many of these issues in the context of the visual, musical, and performing arts.
Erlang is built on 3 components: language, OTP, and VM. Francesco Cesarini explains the role played by each component in order to ensure Erlang’s highly successful concurrency model which has been used in communication systems for more than 15 years. The presentation is accompanied by live demos and many questions are taken from the audience.
This presentation covers the definition of a graph database (information structured as mathematical graphs with nodes, relationships and properties) and their advantages when dealing with data that is difficult to fit in static tables, is rapidly evolving, or that has a lot of optional attributes. The flexibility of graph databases better support agile development and schema evolution.
In this presentation recorded at QCon SF 2008, Lennart Augustsson shows how to use Haskell with its programmable type system to create strongly typed Domain Specific Embedded Languages. The presentation makes an introduction of Haskell’s type system and illustrates several DSEL examples.
As Agile becomes more accepted, concerns from architecture groups are increasing. Traditional ways that architects engage with development groups conflict with Agile methods. This talk describes ways that Agile methods can benefit architects, addresses concerns architects express about agile, and proposes ways that architects and agile development teams can become allies.
This presentation, from QCon SF 08, analyzes real world projects where using explicit state transition models was made and the many interesting modeling/architectural possibilities that arose from the decision. Along the way, the IMIS system and its performance is linked to explicit state transition modeling.
Mano Marks introduces the Google App Engine (a toolset used internally to develop Google applications) and shows how to build scalable systems where the developer worries about the code, and Google worries about the servers. The presentation includes an overview of Google App Engine and a quick introduction to the Google Data APIs.
Multiprocessor systems have gone from being rare and expensive to being ubiquitous. As the hardware reality changes, so do the programs we want to write and so must the platform and libraries we rely on. In Java SE 7, the java.util.concurent package will grow to address the need to exploit finer-grained concurrency, in the form of the fork-join framework.
Emmanuel Bernard and Max Ross talk about patterns and practices to be used in order to achieve high volume and scale with Hibernate. The presentation also explains the use of Hibernate Shards and Hibernate Search to push the scalability limits.
In this talk, Matt Aimonetti talks about the ideas and concepts behind Merb - and the reasons why it's appealing: speed, modularity and more.
Kent Beck takes a look at trends and how they affect us. Communication, simplification, unintended consequences, disappearing models, and new approaches of design and tests are examined. Kent takes diverse set of issues that are changing in our world and asks "why are we doing this?"
In this presentation, Amr Elssamadisy explains how to choose the best practices for your organization depending on its context and it's highest priority business values and/or smells. Amr discusses the importance of starting with business value first, and then presents a set of "maps" that help determine which practices are useful in improving what business value.