How to Use GitLab and GitHub Together

The Source Control Hosting Landscape GitHub has been the the most popular site for hosting open source software projects since 2008. It took the lead when SourceForge was slow to embrace newly-popular git source control system. GitHub is rivaled by Bitbucket, thriving on an enterprise-friendly pricing model and integration with other Atlassian tools. However, GitHub’s model of charging for privacy rather than headcount makes it a dominant open source social platform. [Read More]

Easy Database Manipulation with Groovy and Gradle

Groovy: The “Enterprise Hipster” Language Not everyone sees the Java programming language as sexy. However, the Java virtual machine is a dominant force everywhere, from the most conservative enterprise to the most whimsical startup. There are myriad alternative languages today that compile to Java bytecode. There are JVM-based versions of Python, Ruby, and multiple implementations of JavaScript. There are entirely new languages, such as Kotlin from JetBrains and Ceylon from RedHat. [Read More]

Hosted Continuous Integration Options for Java Projects

Recently I’ve noticed a lot of GitHub projects containing .travis.yml files, indicating that the owner uses the Travis continuous integration service to periodically build their project and run unit tests. Out of curiosity, I thought I might I try out some of the hosted offerings that are popular in the open source and startup communities. In my professional Java developer life, the industry standard for years now has been Jenkins (formerly Hudson prior to the fork). [Read More]

WAR files vs. Java apps with embedded servers

Most server-side Java applications (e.g. web or service-oriented) are intended to run within a container. The traditional way to package these apps for distribution is to bundle them as a WAR file. This is nothing more than a ZIP archive with a standard directory layout, containing all of libraries and application-level dependencies needed at runtime. This format is mostly interoperable, and can be deployed to whichever server container you like, Tomcat or Jetty, JBoss or GlassFish, etc. [Read More]

How to install Oracle’s Java on Ubuntu the easy way

Developers on Ubuntu are accustomed to seeing at least two flavors of Java. OpenJDK is an open-source build of the Java runtime and compiler. The Oracle JDK is built upon this, but adds some closed-source components. In theory, OpenJDK is the official reference implementation of Java 7, and should be perfectly fine for all your needs. In practice, it is still known for having issues with common app servers and frameworks. [Read More]