Sessions at CodeMash 2012 about Java

Your current filters are…

Thursday 12th January 2012

  • Effective use of FindBugs in large software development efforts

    by Bill Pugh

    FindBugs is a static analysis tool that finds coding mistakes in Java programs. It is widely popular, with more than a million downloads. In a student involving hundreds of engineers at Google, the issues identified by FindBugs were evaluated as should fix or must fix issues 81% of the time. However, many projects and developers use FindBugs on an ad-hoc basis, with individual developers running FindBugs sporadically. Some projects use FindBugs as part of their continuous build system, but find themselves unsure of the return on their investment and wondering if there might be a more effective way to use FindBugs. When first applying FindBugs is a large project and seeing hundreds or thousands of issues, others simply give up on using FindBugs. I'll briefly review FindBugs, and describe techniques for cost-effective integration of FindBugs into the software development process for medium to huge software projects, with a focus on new features available in FindBugs 2.0. Topics include how to customize FindBugs to prioritize and filter issues important to your project, how to store bug data in a cloud so that everyone working on the project shares information about when the issue was first seen and whether people think the issue is important to fix, and ways to use annotations to help FindBugs detect even more errors in your code.

    At 11:00am to 12:00pm, Thursday 12th January

    In Salon H, Kalahari Waterpark Resort Convention Center

  • JavaFX 2 for JVM Language Hackers

    by Stephen Chin

    JavaFX 2.0 is the next version of a revolutionary rich client platform for developing immersive desktop applications. One of the new features in JavaFX 2.0 is a set of pure Java APIs that can be used from any JVM language, opening up tremendous possibilities. This presentation demonstrates the potential of using JavaFX 2.0 together with alternative languages such as Groovy and Scala. It also will showcase the successor to JavaFX Script, Visage, a DSL with features specifically targeted at helping create clean UIs.

    At 1:45pm to 2:45pm, Thursday 12th January

    In Aloeswood / Leopardwood, Kalahari Waterpark Resort Convention Center

  • Functional Programming in Java

    by Nilanjan Raychaudhuri

    Functional programming is in the air. The most common question in java programmers mind is whether it is useful and possible to do functional programming(FP) in Java ? I will start of with a quote from Timothy Budd, “Research results from the psychology of programming indicate that expertise in programming is far more strongly related to the number of different programming styles understood by individual than it is the number of years of experience in programming.” So FP will help you to become a better Java developer. And the good news is FP is language agnostic. Its a style that you learn and can use in almost all programming languages. Outline of the presentation - Introduction to FP with examples written in Java - Why FP is important to learn and explain the benefits of FP in enterprise software development - Overview of the FP libraries available in Java (functionaljava, lambdaj etc)

    At 4:50pm to 5:50pm, Thursday 12th January

    In Sagewood / Zebrawood, Kalahari Waterpark Resort Convention Center

  • Painful Java Puzzlers and Bug Patterns

    by Bill Pugh

    With experience based on Java Programming Puzzlers (previously presented with Joshua Bloch), looking at thousands of coding mistakes found by FindBugs, and working with students and developers writing Java code for over 15 years, I'll discuss some common Java coding puzzlers and bug patterns, and techniques you can use to avoid them. While inexperienced developers can be particularly subject to many of these mistakes, they also occasionally bite experienced developers. Many of them are puzzlers, in the sense that they are hard to detect in code reviews, exhibit surprising behavior, and hard to debug. I'll avoid esoteric puzzlers that are largely a theoretical possibility, and focus on real bugs that occur with a distressing frequency in real code, illustrated by examples from current open source software. The talk will be accessible and value both to those new to the Java programming language and those with more than a decade of experience.

    At 4:50pm to 5:50pm, Thursday 12th January

    In Aloeswood / Leopardwood, Kalahari Waterpark Resort Convention Center

Friday 13th January 2012

  • Java SE 7: The Platform Evolves

    by Scott Seighman

    The Java SE 7 release is the result of nearly five years of industry-wide development involving open review, weekly builds and extensive collaboration between Oracle engineers and members of the worldwide Java community via the OpenJDK project. Over the past year the OpenJDK community has continued to grow, including the addition of major vendors such as IBM and Apple. In June Oracle announced that the Java SE 7 Reference Implementation will be based entirely on the OpenJDK open source code.

    The Java SE 7 release includes new features such as small language changes for improved developer productivity, a new Filesystem API, support for asynchronous I/O, a new fork/join framework for multicore performance, improved support for dynamic and script languages, updates to security, internationalization and web standards and much more.

    In this session, we'll provide an overview of the these new features and highlight the major improvements.

    At 9:30am to 10:30am, Friday 13th January

    In Aloeswood / Leopardwood, Kalahari Waterpark Resort Convention Center

    Coverage slide deck

  • Developing Enterprise Mobile Apps

    by Sohil Shah

    This talk will cover architecting and implementing an Enterprise Mobile App. The development will be done using OpenMobster, an open source platform for mobilizing cloud services. It will involve writing a Sync App. It will cover how to write the Cloud side channels to expose the Enterprise backend. Then on the device side this data will be available for access in offline mode. As the data changes on one device, the Sync Engine will automatically push it to the Cloud and other devices using that piece of data.

    You will also learn how to use the cross platform Java API for performing Push. Push is the mechanism used by the Cloud to notify the device of some change that may have occurred on the Cloud. The Java API abstracts the low-level details of Push associated with iPhone and Android.

    At 10:45am to 11:45am, Friday 13th January

    In Zambezi, Kalahari Waterpark Resort Convention Center