A Few Hidden Treasures in Java 8
Sure, Java 8 has lambdas and streams. However, the JDK has gone through significant makeover to make good use of lambdas and streams. Furthermore, some of the new functional interfaces have far more than abstract methods.
Interactive Development and Fast Feedbacks with Java 9 REPL
Programming is an act of continuous discoveries. Auto-Completion in IDEs are great, but they’re more of a speculation than experimentation. Read-Evaluate-Print-Loop or REPL gives an instant feedback and the ability to quickly try out your ideas. Fast feedbacks are the rage today in development.
Java 8 Programming Idioms
A number of developers and organizations are beginning to make use of Java 8. With anything that’s new, we often learn it the hard way.
Parallel Programming with Java 8 Streams
“If streams can be parallel, why not make them parallel all the time?” is a common question from developers getting introduced to Java 8 streams. In this talk we’ll take on three separate topics. 1. When to consider parallelization and when not to. 2. How to parallelize, how to decide on number of threads, and how to control the threads pool. 3. Learn about some common mistakes people make when using parallel streams.
Refactoring to Functional Style using Java 8
In Java, we’ve programmed with the imperative style for a few decades now. With Java 8, we can also code in Functional Style. This style has a number of benefits: code is concise, more expressive, easier to understand, and easier to make change. But, the transition from imperative to functional style is a hard journey. It’s not as much an issue of getting comfortable with the syntax. It’s the challenge of thinking functionally. What better way to learn that transition than taking imperative code and refactoring it to a more of a functional style.
What’s Brewing in Java 9
What’s in Java 9 and, more important, how does that impact us?
Core Software Design Principles
Creating code is easy, creating good code takes a lot of time, effort, discipline, and commitment. The code we create are truly the manifestations of our designs. Creating a lightweight design can help make the code more extensible and reusable.
Frege for Java Programmers
Frege is an implementation of Haskell on the JVM. It brings along the strengths and power of one of the most powerful statically typed and functional programming languages.
Let’s Get Lazy: Explore the Real Power of Streams
Efficiency is achieved not just by running things faster, but by avoiding things that shouldn’t be done in the first place. Lazy evaluations are a core feature of many functional programming languages. Your code can benefit from lazy evaluations with lambda expressions and, more so, with the power of Streams.
Measuring Quality of design (1/2 day workshop)
Before spending substantial effort in refactoring or altering design, it would be prudent to evaluate the current quality of design. This can help us decide if we should proceed with refactoring effort or a particular alteration of design. Furthermore, after evolving a design, using some design metrics would help us to evaluate if we have improved on the design front.
Pragmatics of TDD to Evolve Design
Test Driven Design, we hear is a great way to create lightweight design that is easier to maintain and evolve. Unfortunately, just writing test cases mechanically do not lead to good design. In fact, it may really not lead us anywhere we want to really go!
Taking Command of the Command Line
Moderns IDEs are great, they let us get our work done, focus on solving problems, provide code prompts, and more. On the flip-side, they hide of lot of details and often do not provide everything to help get our work done. Learning to effectively use the command line, can help us navigate around, write script to automate certain routine tasks, isolate and understand issues, and more.
Towards an Evolutionary Architecture
Big up front design is discouraged in agile development. However, we know that architecture plays a significant part in software systems. Evolving architecture during the development of an application seems to be a risky business.
Twelve Ways to Make Code Suck Less
We all have seen our share of bad code and some really good code as well. What are some of the common anti patterns that seem to be recurring over and over in code that sucks? By learning about these code smells and avoiding them, we can greatly help make our code better.
Join us for ÜberConf 2016 taking place in beautiful Denver, CO July 19 – 22, 2016. Brought to you by the No Fluff Just Stuff Software Symposium Series, ÜberConf will explore the ever evolving ecosystem of Java the Platform.
The Ü will offer over 150 technically focused sessions including hands on workshops centered around Architecture, Cloud, Security, Enterprise Java, Languages on the JVM, Build/Test, Mobility and Agility. The goal of Über Conf is a simple one: totally blow the minds of our attendees.
NFJS and ÜberConf Alumni are eligible to receive an additional $150 disount! To take advantage of this offer use the discount code: nfjsalumni150uc
ÜberConf will feature 10 full-day workshop options and 25 half-day workshops. You must bring your laptop. ÜberConf workshops are hands-on coding events!
- An Introduction to Video Game Development
- Angular Workshop
- Apache Cassandra and Apache Spark Streaming for real time Big data analytics workshop
- Application development with Docker, Kubernetes, and OpenShift
- Enterprise Messaging Foundations
- Hacking & Hardening Java Web Applications Workshop
- Java 8 Workshop
- React.js Workshop
- Reactive Architectures for Enterprise Applications Workshop
- Software Architecture Fundamentals
All Inclusive Travel Packages
Let us handle your travel arrangements. We have great package deals available including: conference registration, 3 or 4 nights lodging, and airfare within the Continental US.
Topics at ÜberConf
- Java 8/9
- Spring 4
- AngularJS, Google Polymer
- software architecture
- Data Analysis
- Scaling and Fault Tolerance
- Mobile: Android, iOS, HTML Mobile Apps
- JVM Internals
- Reactive Apps, Ratpack
- Continuous Delivery
Speakers at ÜberConf
We have a great line up of speakers for ÜberConf. We are still working hard on this event and will be adding more speakers and sessions to the schedule.
- Danny Brian – Designer, Architect, Mentor
- Neal Ford – Application Architect at ThoughtWorks, Inc.
- Matt Stine – Senior Product Manager, Pivotal
- Rohit Bhardwaj – Principal Cloud Engineer, Kronos Inc, Expert in agile development
- Michael Carducci – Magician, CTO Mago:Tech
- Janelle Klein – CTO, New Iron & Founder of Open Mastery
- Kenneth Kousen – Author of “Making Java Groovy”
- Venkat Subramaniam – Founder of Agile Developer, Inc.
- Mark Richards – Independent Software Architect, Author of Software Architecture Fundamentals
- Kirk Knoernschild – Software Developer & Mentor
- Nathaniel Schutta – Author, speaker, software architect focused on user interface design.
- Craig Walls – Author of Spring in Action
- Peter Pavlovich – Principal Architect, EnerNOC Labs
- Douglas Hawkins – VM Engineer
- Daniel Hinojosa – Independent Consultant/Developer
- Ken Sipe – Architect, Web Application Security Expert
- Ksenia Dmitrieva – Web Security Consultant
- Pratik Patel – CTO TripLingo & Code Hacker
- Jeremy Deane – Software Engineering Aficionado
- Brian Sletten – Forward Leaning Software Engineer
- Raju Gandhi – Java/Ruby Developer/Language Geek
- Christopher Judd – Developer, Consultant, Author & Mobility Expert
- Brent Laster – Senior Manager, SAS
- Tim Berglund – Global Director of Training at DataStax
- Tudor Gîrba – Software Architect
- Dan Woods – JVM and Cloud Enthusiast
- Steven Pousty – Steve is a developer evangelist for Red Hat’s OpenShift
- Mark Vieira – Principal Engineer at Gradle Inc
- Emad Benjamin – Principal Architect, VMware
- Eric Johnson – Senior Security Consultant @ Cypress Data Defense