You are viewing details from a past event. Please check our upcoming event schedule if you are looking for current content.

Pratik Patel

Developer Advocate @ Azul Systems

Pratik Patel is a Java Champion and developer advocate at Azul Systems and has written 3 books on programming (Java, Cloud and OSS). An all around software and hardware nerd with experience in the healthcare, telecom, financial services, and startup sectors. He's also a co-organizer of the Atlanta Java User Group and North Atlanta JavaScript meetup, frequent speaker at tech events, and master builder of nachos.

Presentations

JavaScript Workshop, part I

8:30 AM MDT

Get your skills up to speed for JavaScript, the oft-misunderstood language of the web, in this 2 part workshop. We'll start from the very basics and learn the ins-and-outs of JavaScript. We'll look at the (many) quirks in JavaScript, and work through advanced features that make this language so powerful. Come with an open-mind and ready to dig into code!

This 2 part workshop requires a laptop, and assumes the attendee has ZERO knowledge of JavaScript. We'll break down your bad habits, and build upon known patterns and best practices to raise your JavaScript-fu.

JavaScript Workshop, part II

10:30 AM MDT

JavasScript workshop part II
Get your skills up to speed for JavaScript, the oft-misunderstood language of the web, in this 2 part workshop. We'll start from the very basics and learn the ins-and-outs of JavaScript. We'll look at the (many) quirks in JavaScript, and work through advanced features that make this language so powerful. Come with an open-mind and ready to dig into code!

This 2 part workshop requires a laptop, and assumes the attendee has ZERO knowledge of JavaScript. We'll break down your bad habits, and build upon known patterns and best practices to raise your JavaScript-fu.

Testing JavaScript with Jasmine and Mocha

1:30 PM MDT

Jasmine is a browser centric testing framework. It's the default test framework in Jasmine and is the most popular framework among JavaScript developers. It takes a BDD testing approach.
Mocha is a popular testing framework for JavaScript - for any JavaScript environment, including the Web Browser, NodeJS, and Titanium. It allows for simple asynchronous testing, test coverage, and integration to CI tools. In this session, learn all you need to know about getting started for writing beautiful tests in JavaScript for these environments. We’ll discuss a number of add-ons for Mocha to make testing a breeze. We’ll talk about “should” and “chai” for expectation matching. We’ll discuss “simon” for mocking in your test cases. We’ll also talk about test automation with Grunt.

This session is a code-driven class that covers the Jasmine and Mocha JavaScript testing library. It is an introductory level session.

Functional JavaScript

3:15 PM MDT

JavaScript has a mixed heritage: OO and Functional. To date, us developers have focused on the OO side of JavaScript and not much mind-share has been given to the other, more powerful side. In this session we'll explore how to use the power of functional Javascript.

JavaScript has elements of two distinct programming languages: Self and Scheme. These two languages are very different - and some of JavaScript's weirdness is due to this mixing of very different language designs. The conceptual models are also very different between Self and Scheme - one is a prototypical object based language, while the other is a functional language. In this session, we'll discuss the elements of how the Scheme functional programming language manifest in JavaScript. We're going to explore how you can write JavaScript in a more elegant and powerful way by applying functional concepts.

JavaScript Design Patterns

5:00 PM MDT

We've come a long way down the JavaScript road. Gone are the days of 'just hack it' for the web - architecting even a small project in JavaScript can be a challenge. Thankfully, there are several frameworks to help you; the most popular currently is Backbone.js.

Before you start using a framework in JavaScript, you will want to understand the techniques expert JavaScript programmers use to build them. In this session, we'll dive into design patterns in JavaScript, and do live coding so you can see these patterns applied. Even if you're not using a framework, you can use these design patterns to make your code more maintainabile, elegant, and concise.

Software dev's guide to hardware hacking

8:30 PM MDT

The world of hardware hacking has been gaining popularity recently. With the advent of open-source hardware, there's been tremendous interest in hacking hardware again. In this session, we'll look at two popular hardware platforms: Arduino and RaspberryPi. We'll also look at how to integrate the Arduino with Android to build a cheap, complete hardware hacking platform, all written in Java!

We'll go over the current open hardware scene first. Then we'll look at how to setup these two platforms. Of course, we'll write some code and deploy them onto the hardware!

Working with Data on the Client (Mobile and Web)

5:00 PM MDT

In this session, we’ll look at some of the options for storing application and user data, such as simple JSON and SQLite. We’ll discuss the details of deciding to use SQL or a NoSQL solution. We’ll look at how to architect a data-driven web / mobile app, strategies for server synchronization, and take a deep dive into working with datasets in JavaScript.

Working with data in Web browsers can be tricky - fortunately the IndexedDB standard has come forward to help developers organize and store data. On mobile platforms, Phonegap allows the use of both IndexedDB and SQLite. Titanium, and open-source native platform for mobile based on JavaScript, also has a host of options for storing application and user data. We'll look at utilizing IndexedDB in Web Browsers, Phonegap and Titanium. We'll also see how to leverage SQLite in Phonegap and Titanium. This is a code-heavy session and all the code will be in JavaScript.

Books

Visual Developer Java Database Programming with JDBC, 2nd Edition: The Essentials for Developing Databases for Internet and Intranet Applications

by Pratik Patel and Karl Moss

Java Database Programming with JDBC by Pratik Patel and Karl Moss is an updated edition of the authors' guide to the Java Database Connectivity (JDBC) standard for database programming under Java. While the original edition was perhaps geared more to those developers who needed to write their own JDBC database drivers, a fairly arduous task, this new edition provides more background information on database connectivity issues in Java and so will be even more useful to the casual or intermediate programmer. After a general introduction to JDBC and Structured Query Language (SQL), useful even to beginning programmers, the authors start by building a simple database-aware applet. New chapters on "servlets," Java components that run on the server-side and manage database operations, as well as a general discussion of middleware technologies are particularly good. Database access for JavaBean components (from Sun Microsystems JDK 1.1) is also discussed, including working code for two database-aware beans. This book also includes a quick introduction to the Java language (which will only be helpful if you already know C/C++), a detailed reference for the JDBC API, and a working example of a text-based JDBC driver. Though this book is still oriented toward the JDBC driver developer, the authors now provide enough general discussion of JDBC architectural issues to make it worthwhile to any programmer who needs to ramp up on what JDBC is and what capabilities it offers.

Java Database Programming with JDBC: Discover the Essentials for Developing Databases for Internet and Intranet Applications

by Pratik Patel and Karl Moss

Java Database Programming with JDBC by Pratik Patel and Karl Moss is an updated edition of the authors' guide to the Java Database Connectivity (JDBC) standard for database programming under Java. While the original edition was perhaps geared more to those developers who needed to write their own JDBC database drivers, a fairly arduous task, this new edition provides more background information on database connectivity issues in Java and so will be even more useful to the casual or intermediate programmer. After a general introduction to JDBC and Structured Query Language (SQL), useful even to beginning programmers, the authors start by building a simple database-aware applet. New chapters on "servlets," Java components that run on the server-side and manage database operations, as well as a general discussion of middleware technologies are particularly good. Database access for JavaBean components (from Sun Microsystems JDK 1.1) is also discussed, including working code for two database-aware beans. This book also includes a quick introduction to the Java language (which will only be helpful if you already know C/C++), a detailed reference for the JDBC API, and a working example of a text-based JDBC driver. Though this book is still oriented toward the JDBC driver developer, the authors now provide enough general discussion of JDBC architectural issues to make it worthwhile to any programmer who needs to ramp up on what JDBC is and what capabilities it offers.

Java Programming for the Internet: A Guide to Creating Dynamic, Interactive Internet Applications

by Pratik R. Patel, Alan D. Hudson, and Donald A. Ball

Enables readers to master the Java programming language for internet applications while expanding the scope of online development, and the accompanying CD contains powerful sample applets and a copy of Netscape Navigator. Original. (Intermediate).