• Apache Solr

    Wednesday June, 11, 2014 11:00 PM

    The Apache Solr framework is an open source search platform written in Java.  This software stack is capable of quickly finding relevant information from your enterprise content sources (e.g. web sites, file shares, RDBMS repositories, email and social media) using simple keywords and filter queries.

    As Java developers, we are in an excellent position to harness the power of Apache Solr and build useful search-based applications.  This presentation will be divided into two parts.  The first part will introduce you to its most popular features including: full-text search, relevancy matching, hit highlighting, faceting, spell checking, rich document (e.g. MS Office, PDF) processing, and geospatial search. In addition, we will discuss the importance of a good extract, transform and load (ETL) process to the index population phase and review some best practices around the development of search-based applications.  The second part of the presentation will drill down into several of the features and provide a more in-depth discussion of how to properly implement them in order to enhance the search experience of your users.

  • Several Short Talks

    Wednesday May, 07, 2014 11:00 PM

    The upcoming NEJUG meeting on May 8 will sport a collection of 30 minute talks on a range of topics, as described below. This is a departure from our regular one Lightning Talk (about 10 minutes) plus a Main Presentation (of about 90 minutes). The evening's schedule is set up to cover a wide range of relevant and interesting topics for our members and we expect this format to become a regular once- or twice-a-year occurance.

     

    The first two talks, regarding Java 8, are set up to compliment each other, first with a broad overview and then with a focused review of the new time/date API. After the break, we will follow up on last month's CORS Lightning Talk with a more in-depth presentation, and then finish up with an advance discussion of how the functional language mechanism of monads can be applied to Java (including how Java significantly limits how much of the monad concept can be "imported").

     

    Java 8 - Six Months into the New World (by Kyle) - In March 2014, Java 8 was released to the world after more than 3 year of development. A number of exciting new features were added to the language and a few notable changes were made to the JVM that every Java developer will want to be aware of. In this presentation I'll guide you through what's new and will provide brief demonstrations of how Java 8 will enable you to write cleaner code that your colleagues and future self will appreciate.

     

    Java 8 - The New Date and Time API (by Sualeh) - We will briefly go over what is wrong in the current Java date and time support. Then we will clarify date and time concepts, and show how the new Java 8 Date and Time API makes working with dates and times much better.

     

    CORS (by Mahesh) - With  ever increasing demand for rich, distributed and dynamic content  by Web Applications, W3C concepts like CORS (Cross Origin Resource Sharing)  and Web Sockets are enabling such dynamic content access/delivery possible by applications.  Right off the shelf, most application servers and API do not provide necessary HTTP Filters for enabling CORS communications.  In this session we will look at  real world applications for CORS and how to enable CORS for your Java Enterprise Servers  for allowing  business applications/data/API accessible using CORS requests by Web Browsers.

     

    Monads in Java (by Morgan) - After explaining what monads are, this talk will explore what parts can be implemented within the Java language and how even that limited use can simplify several types of coding problems.

  • Software Architecture Patterns

    Wednesday April, 09, 2014 11:00 PM

    Just as developers use design patterns in software development, architects use well-defined architecture patterns to get a head start on defining the characteristics and shape of the architecture for a system. During this presentation I will explore some of the more common architecture patterns and use concrete real-world examples to demonstrate how the patterns work. I will also go over the pros and cons of each pattern and discuss how requirements and operational aspects can drive which patterns to use. Using the right architecture pattern for your system is critical, because as we all know, once in place the architecture is very hard to change. The architecture patterns I will cover in this presentation will include the layered architecture pattern, event-driven architecture pattern (EDA), pipes and filters architecture pattern, microkernel architecture pattern, service-oriented architecture pattern 9SOA), and finally the space-based architecture pattern.

  • The Future of Real-time Big Data: Distributed In-Memory Data Grids

    Wednesday March, 12, 2014 11:00 PM

    High-velocity data stream computing means real-time tracking, aggregating and analyzing rapidly changing data streams originating from different sources and using disparate formats. This presentation (1)  describes several key business use cases and the requirements they introduce, (2) identifies distributed, in-memory data grids as the most flexible technology to satisfy these requirements, (3)  provides a vendor-neutral, detailed comparative analysis of several enabling technologies and platforms/software stacks built on top of them, and (4)  introduces and discusses the concept of Unified Big Data Processing.

  • Taming Text

    Wednesday January, 08, 2014 11:00 PM

    There is so much text in our lives, we are practically drowning in it. Fortunately, there are innovative tools and techniques for managing unstructured information that can throw the smart developer a much-needed lifeline. In this talk, based on the outline of the book Taming Text,  you will receive an introduction to a variety of Java-based open source tools that aide in the development of search and NLP applications. 

     

    In this presentation, you will be introduced to useful techniques like full-text search, proper name recognition, clustering, tagging, information extraction, and summarization. We wll explore real use cases as you systematically absorb the foundations upon which they are built. Discussed in a clear and concise style, avoiding jargon, we will explain the subject in terms understandable without a background in statistics or natural language processing. Examples are in Java, but the concepts can be applied in any language.

     

  • Apache Hadoop and Its Next Generation Compute Platform, YARN

    Wednesday November, 13, 2013 11:00 PM

    Apache Hadoop has become the defacto platform for big data processing. It composes mainly of two platforms (1) Hadoop Distirbuted File System - a distributed file system running on a cluster of commodity machines and (2) MapReduce - a programming model to perform large scale processing of data residing on HDFS. In this talk, I'll introduce Hadoop and its main components, what is in Hadoop that is revolutionizing data processing. I'll quickly explain how users write applications on top of Hadoop. I'll round it up with introductions to various Hadoop eco-system projects like Pig, Hive, HBase, etc.

     

    Secondly, Apache Hadoop MapReduce has undergone a revolution to emerge as Apache Hadoop YARN, a generic compute platform. This part of the talk will cover the details of Apache Hadoop YARN - architecture, applications and its real life usage. I'll conclude with how YARN is changing Hadoop to be a general purpose processing platform by enabling users to run batch, stream-processing, graph workloads, and more - all on same cluster resources.

     

  • Do you really get classloaders?

    Wednesday October, 09, 2013 11:00 PM

    Class loaders are at the core of the Java language. Java EE containers, OSGi, NetBeans modules, Tapestry 5, Grails and many others use class loaders heavily. Yet when something goes wrong, would you know how to solve it? In this session we will take a tour of the Java class loading mechanism, both from JVM and developer point of view. We will look at typical problems that you get with class loading and how to solve them. ClassNoDefError, IncompatibleClassChangeError, LinkageError and many others are symptoms of specific things going wrong that you can usually find and fix. For each problem we'll go through a hands on demo with a corresponding solution. Why is this important? Understanding the core of the JVM is critical to any Java developer so they understand how their java applications run and how that can differ in web application examples. This session will also help developers in the debugging of classpath issues and exceptions relating to classloader issues.

  • Top 10 Don’ts for Your Job Search

    Wednesday September, 11, 2013 11:00 PM

    Have you ever wondered if the way you were conducting your jobs search was in line with what experts would consider to be “Best Practices”? Have you committed a major Faux Par? There are lots of opinions about things you absolutely should do while conducting a job search but we would like to share the top 10 Don’ts. Three experts from WinterWyman have been asked to talk about the major No-No’s when searching for a change in your career. Their sage advice will run the gamut from the fairly obvious to things you probably would not have thought about. Following the top 10 Don’ts we will have a lively discussion about other job search practices and answer any questions you may have about to go about an effective job search.

     

  • HTML5/Java Best Practices for Developing Web Applications

    Wednesday August, 07, 2013 11:00 PM

    Most books, resources, and presentations tend to focus on a single technology or, at best, a single layer of web application development. In other words, most resources take a front-end (UI development) or back-end (server-side development) perspective. This is rightly so, since the entire spectrum of web application development is as wide and as deep as the Amazon river. It is, therefore, nearly impossible to maintain a key eye on all of the important technologies involved in the end-to-end delivery of a web application. It just so happens that I focus on just such a breadth-first perspective and would like to share a bit of what I have learned by taking a broad view of web application development. 

     

    Contents

    +++

    • HTML5
      • When to use Element, ID, Class
    • CSS3
      • Multi-column layouts and more
    • JavaScript
      • Hard like algebra
    • jQuery
      • Easy like Sunday morning
    • Java
      • Are you still using JSPs?
    • Spring MVC
      • Leverage JSON

  • Overview of the Android Application Framework

    Wednesday June, 12, 2013 11:00 PM

    This session will provide a high level basic overview of the Android Application Framework, its Intent messaging facility, and how simple TextToSpeech can be implemented by using an Intent to find and make use of app resource already installed on the phone. It is a condensed version of a portion of the speaker's Introduction to Android Application Framework and APIs continuing education class for IEEE Boston Section. Code snippets from a demo app will be shown. We will touch on the life cycle of an Activity, which is one of the four core application components of the Android Application Framework, and see how widgets can be laid out and instantiated for an Activity's UI screen. We will see how an Intent object is used to activate certain operations, and how to take advantage of the intent mechanism to implement TextToSpeech. The demo app is taken from "Learning Android" by Marko Gargenta and published by O'Reilly.