Java User Groups
Have you wanted to do something with asynchronous I/O? I did. After doing some work with Node.js, I wanted to find a way to get some of the goodness of its programming model for Java.
The Acteur project is the result - a framework for building scalable, asynchronous web applications using Netty + Guice - was the result. The programming model is a little unusual - you treat constructors as...
on Apr 7, 2013
This is the first of what I hope will become a series of interviews with members of the Java community. By calling them "lightning interviews," I mean that they'll be brief and to the point, "short takes" focused on a specific topic that's relevant to the broader Java/JVM community -- the interview equivalent of Lightning Talks.
I'm hoping that by making the interviews brief (three questions...
on Apr 7, 2013
A Case Study: Simple Event Sourcing
by Michael Fogus and Chris Housen, author of The Joy of Clojure, Second Edition
Event sourcing is an interesting architecture model that defines system state solely in terms of system events. In this article, based on chapter 14 of The Joy of Clojure, Second Edition, the authors lead you through a case study that dives into event sourcing.
Imagine a system...
on Mar 25, 2013
One of the biggest challenges facing us during the creation of our first Java application
was learning to develop with the Java programming language.
We were concerned about how well our team of developers would learn and adapt to Java.
Since Java was an object-oriented programming language, we had object-oriented concepts to learn as well.
Our first Java training class was titled, "Developing...
on Mar 24, 2013
by Marcus Hammarberg and Joakim Sunden, author of Kanban in Action
Kanban is an approach to software development based on the principles of lean. It has quickly been picked up by many businesses around the world. You can pick it up too! This article, based on chapter 2 of Kanban in Action, defines kanban, introduces kanban principles, and gets you started using kanban.
on Mar 21, 2013
Ember.js Core Features
by Joachim Haagen Skeie, author of Ember.js in Action
on Mar 18, 2013
Building a Java Web Application with Gradle
by Benjamin Muschko, author of Gradle in Action
Gradle provides a build-by-convention approach for certain problem domains like Java projects by introducing pre-defined project layouts with sensible defaults. In this article, based on chapter 3 of Gradle in Action, author Benjamin Muschko explains how to apply the Java, War and Jetty plugins to build...
on Mar 18, 2013
Assembling a team of Java developers can be a challenging task.
Getting the right people together requires a combination of luck, skill, and plenty of patience.
When someone new joins your team, they could also be new to your company.
Over the years, we have conducted many job interviews of Java developer candidates wishing to join our team and company.
Our Java job interview format is simple and...
on Mar 16, 2013
Egypt is frequently in the news these days, and some of the reasons surely are not comforting. But on Friday and Saturday, March 8-9, there was a lot to be happy about at the Cairo International Conference Center. There, the Egyptian Java User Group was hosting the Java Developers Conference (JDC), which, from looking at the related tweets (search for #jdc2013 or view @egjdc), came off as...
on Mar 10, 2013
Our team of Java developers consists of people with various backgrounds and skill levels.
Everyone has a role and is assigned tasks based on that role.
Team members are expected to know basic programming concepts, core Java and core J2EE.
In addition; database access, web-browser, client/server concepts are required as well.
It didn't take long for our team to realize there was a lot more to know...
on Mar 10, 2013
I am back with more stories about our adventures in the world of Java.
From the distant past to recent events. I hope to entertain, enlighten, and encourage.
So hold on to your hats.
For software developers in IT, there are times when you find yourself present at the birth of a major application.
Normally these are dream assignments. But consider the following additional factors.
on Mar 4, 2013
Multimethods in Clojure
by Amit Rathore, author of Clojure in Action, Second Edition
Clojure multimethods support not only multiple dispatch but much more. Indeed, once you look past multiple dispatch, a commonly asked question is whether a language can dispatch on things other than the types of values. With Clojure’s multimethods, methods can be made to dispatch based on any arbitrary rule....
on Feb 20, 2013
Node in a Nutshell
by Alex Young and Marc Harter, authors of Node.js in Practice
We live in a world of highly connected multicore servers, where web applications are expected to scale from dozens of users to millions. New demands are being placed on developers by the real-time nature of the modern web. Developers are looking for fresh solutions to solve scalability issues—whether it’s to take...
on Feb 18, 2013
Spatial reference system: What is it?
by Regina O. Obe and Leo S. Hsu, authors of PostGIS in Action, Second Edition
The topic of spatial reference systems (SRS) is one of the more abstruse in GIS to understand. This is mainly due to the loose way in which people use the term spatial reference system and secondly to its unglamorous nature compared to other areas of GIS. If GIS is Disneyland,...
on Feb 13, 2013
Akka and Camel
by Claus Ibsen and Jonathan Anstey, authors of Camel in Action
Akka comes with a Camel integration module that allows Akka actors to interact with communication partners over a great variety of protocols and APIs. In this article, based on appendix E of Camel in Action, contributing author Martin Krasser presents selected Akka-Camel integration features by example.
Akka aims to...
on Feb 13, 2013
by Michael Fogus and Chris Housen, authors of The Joy of Clojure
In many cases, Clojure's compiler will be able to highly optimize idiomatic Clojure source code. But there are times when the form of your functions, especially in interoperability scenarios, will prove to be ambiguous or even outright counter to compiler optimizations. In this article, based on chapter 12...
on Jan 30, 2013
by Chris Buckett, author of Dart in Action
Overloading happens when you provide a new implementation customized to your particular class, which allows you to overload the common operators such as > (greater than) and < (less than). In this article, based on chapter 8 of Dart in Action, author Chris Buckett explains how this function helps you create truly self-...
on Jan 11, 2013
on Feb 7, 2013
Tuesday at Jfokus 2013 started in a large auditorium filled with more than 1500 Jfokus attendees, who heard Jfokus founder Mattias Karlsson launch the conference in an introduction that included an appearance by Stephen Chin, who had spent the previous night sailing the icy Baltic Ocean on the Vaadin Cruise from Finland. The conversation also introduced a new Java Champion, JRuby's Charles...
on Feb 5, 2013
After days work with my Raspberry PI, and a silly stuff happen here (for days i cannot install the .img to my SD Card, because the white button in my SD Extender in write protected mode).. Yes, now working well.. I tought I got the unworking Raspberry PI.. hahaha.
Now I am working with Java on ARM anyway.
But I got Zero JVM for ARM... (Still working to install in my wheezy environment, there is a...
on Jan 12, 2013