"Power Java" book example code
This repository contains the source code for my book "Power Java."
The Leanpub web page for this book is at https://leanpub.com/powerjava
The source code for the examples can be found at https://github.com/mark-watson/power-java and are all released under the Apache 2 license. I have tried to only use existing librairies in the examples that are either Apache 2 or MIT style licensed.
There is a subdirectory for each chapter, each with its own maven pom.xml file.
This book consists of eight chapters that I believe show the power of the Java language to good effect:
- Network programming techniques for the Internet of Things (IoT)
- Natural Language Processing using OpenNLP including using existing models and creating your own models
- Machine learning using the Spark mllib library
- Anomaly Detection Machine Learning
- Deep Learning using Deeplearning4j
- Web Scraping
- Using rich semantic and linked data sources on the web to enrich the data models you use in your applications
- Java Strategies for Knowledge Management-Lite using Cloud Data Resources
The first chapter on IoT is a tutorial on network programming techniques for IoT development. I have also used these same techniques for multiplayer game development and distributed virtual reality systems, and also in the design and implementation of a world-wide nuclear test monitoring system. This chapter stands on its own and is not connected to any other material in this book.
The second chapter shows you how to use the OpenNLP library to train your own classifiers, tag parts of speech, and generally process English language text. Both this chapter and the next chapter on machine learning using the Spark mllib library use machine learning techniques.
The fourth chapter provides an example of anomaly detection using the University of Wisconsin cancer database. The fifth chapter is a short introduction to pulling plain text and semi-structured data from web sites.
The last two chapters are for information architects or developers who would like to develop information design and knowledge management skills. These chapters cover linked data (semantic web) and knowledge management techniques.
The source code for the examples can be found at https://github.com/mark-watson/power-java and are all released under the Apache 2 license. I have tried to use only existing libraries in the examples that are either Apache 2 or MIT style licensed. In general I prefer Free Software licenses like GPL, LGPL, and AGPL but for examples in a book where I expect readers to sometimes reuse entire example programs or at least small snippets of code, a license that allows use in commercial products makes more sense.
There is a subdirectory in this github repository for each chapter, each with its own maven pom.xml file to build and run the examples.
The five chapters are independent of each other so please feel free to skip around when reading and experimenting with the sample programs.
This book is available for purchase at https://leanpub.com/powerjava.
You might be interested in other books that I have self-published via leanpub:
- Practical Artificial Intelligence Programming With Java
- Loving Common Lisp, or the Savvy Programmer's Secret Weapon
My older books published by Springer-Verlag, McGraw-Hill, Morgan Kaufman, APress, Sybex, M&T Press, and J. Wiley are listed on the books page of my web site.