Welcome to GeekCap! This is the preview release of the GeekCap web site, so let me show you around a bit. This page is used for announcements (like this) and shows you what is new (below).

GeekCap is arranged into "Campuses", or communities if you like. Each campus presents a collection of three things for its topic area:

  • Articles: just as the name suggests, articles educate you about some topic. Articles may be hosted here at GeekCap or might be links to other sites (I have over 400 articles up on InformIT.com and I'll point you to them rather than rewrite them!)
  • Courses: courses are comprised of online classes, usually 20-30 minutes in length. The standard format is an MP4 video file that contains a slide presentation narriated by one of our instructors. Some classes are free and some cost education units, but we'll get into that later. You are free to pick and choose the classes that you want to take, courses are just a categorical grouping for you.
  • Learning Tracks: if there is a topic that you're interested in learning, then these learning tracks may help you do so. The purpose of a learning track is to take a subject, like Spring RESTful Web Services, and summarize a list of articles, books, web resouces, classes, and so forth into a plan that you can follow to learn that topic.

Feel free to look around - I'd recommend starting by exploring a campus that interests you, such as the Java Campus (mine), and see the articles, courses, and learning tracks. I welcome your feedback at steve@geekcap.com.

Although I haven't been publishing much directly on GeekCap, I have been writing. There are links below to articles that I wrote about Vert.x, which has been called Node running in a JVM, about Akka and its use of the Actor model to develop highly-scalable concurrent code and about Storm, which provides Hadoop-like analysis but for live streaming data, for JavaWorld and then there are links to the three installments that I wrote about Hadoop for InformIT.com. The Hadoop article series walks you through installing and setting up a Hadoop environment, building the "Word Count" MapReduce application (the MapReduce equivalent to "Hello, World"), and thinking in MapReduce. The key to writing good Hadoop, and hence MapReduce, applications is learning to think about your problems in the MapReduce way. Part 3 in the series tries to show you just that!

On JavaWorld I am in the middle of a three part Spring series: Spring Data and Spring Integration have been published and Spring Batch is in editing.

Finally, I just published a three part article series on the Play Framework on InformIT.com. The Play Framework allows you to rapidly build highly scalable web applications so it is definitely worth a good look!

Best Regards,

Steven Haines


Devs are from Venus, Ops are from Mars, Pt. 1: Application Scalabilty (external link)

At any company that leverages technology there is invariably a disconnect between the development and operations teams (hence the rise of DevOps). Both are driven by the success of the business and have a role to play; but each team views its role, its success criteria and its goals differently based on the unique challenges each must face, particularly in a world increasingly defined in software. This is the first installment in an article series that attempts to bridge this developer / operation gap by presenting to operations the challenges that developers face and the help that we need from operations.

Integrating Play for Java and Akka (external link)

The Play Framework provides a web-centric approach to building web applications, but it also provides a mechanism for you to build highly scalable applications. By integrating Play with Akka you can offload all CPU-intensive processing to another process running on another server. You can integrate Play with Akka to truly realize highly scalable web application development.

Developing Scalable Web Applications with Play (external link)

You can build upon the foundational understanding of the Play Framework you built in Part 1 of this series, Introduction to Play 2 with Java, to build a real-world Play web application. We explore Play’s support for domain-driven development and use Play’s Scala Templates to build web pages. Now you can create and build a functional Play web application.

Introduction to Play 2 for Java (external link)

The Play Framework presents a new paradigm for developing web applications that is web-centric and not Java API-centric and yields a high degree of scalability. In this article Steven Haines describes Play’s benefits that you can use to set up a Play development environment. He then walks you through building your first Hello, Play application.

Open source Java projects: Spring Integration (external link)

Get an overview of Spring Integration's out-of-the-box event-driven messaging architecture, which you can use to coordinate messages, channels, adapters, and gateways. Then practice using ActiveMQ and JMS in a Spring Integration solution, followed by a short introduction to stitching together multiple application workflows for both lightweight and heavyweight payloads.


We haven't added any courses yet, but keep your eyes open, they will be coming soon!

Learning Tracks

We haven't added any learn tracks yet, but keep your eyes open, they will be coming soon!