Ray Tsang works at Google as Google Cloud Advocate. He tours the world speaking at conferences, JUGs, and other developer events speaking about the stuff that happens inside Google Cloud and related projects. He’s quite fond of gRPC, a technology that allows bi-directional streaming using a binary protocol. He’s also the author of JDeferred, a Java library that provides an implementation of the Promise concept, making it quite easy to write asynchronous applications. We talk about these topics, particularly on the differences between JDK8’s CompletableFuture and JDeferred’s Promise; on this regard, I recently wrote an article titled JDeferred: Simple Handling Read More
Rickard Öberg, Java Champion hailing from Sweden now residing in Malaysia, has been involved with Java since the early days. He’s known for his work on the original JBoss and his contributions to Neo4J, nowadays he spends his time building systems using Event Sourcing. In this interview Rickard shares some of the benefits that might make you consider using Event Sourcing as an architecture design. The noise heard on the background is the cicadas close to the beach, it was pretty hot outside that day at JCrete!
Sebastian Daschner is a fellow Java Champion seriously involved with the JCP, JavaEE and other topics. We touch on the subject of J2EE != JavaEE, containers, Open Source, naming (one of the 3 hardest problem in IT, the other being cache invalidation ;-). Sebastian travels around the world sharing knowledge and his experiences with Java developers, often times with Stephen Chin (Nighthacking). Together with Steve he started a brand new unconference in Japan named JOnsen.
Simone Bordet has been involved with the Jetty project since the turn of the millennium. In this interview he explains the origins of Jetty as the first Open Source project in the Java space (and still going strong!). Jetty has spearheaded many features and advancements in the web space and Java by being the first project to implement SPDY, HTTP/2, provide the foundation to AsyncHttp based on Servlets, and more. Simone also shares some tips to get started with Open Source and grow a community.
Simon Maple, Director of Developer Experience at ZeroTurnaround and founder of the Virtual JUG, explains what the vJUG is and its importance for the broad Java community. We also touch on the subject of vJUG24, the first online conference in the Java space, running for 24 hours non-stop. Be sure to mark October 25th on your calendar because vJUG24 will be jam packed with content!
On the last two posts of this series (JitPack, Travis & AppVeyor) I mentioned in passing another online service that is very popular and widely used: GitHub. The fact that I failed to mention this service before the introduction of the previous two goes to show how prevalent it is; you simply take it for granted because it’s there! There are of course other code hosting solutions in the wild, I started 11 years ago with SourceForge (with CSV no less, oh my!), such as BitBucket and GitLab however most of the online services we’ll continue to see on this Read More
What is JCrete? In short, the hottest Java unconference in the world! I caught up with Dr. Heinz Kabutz right before the Cretan dinner event on the second day. Heinz is one of the 3 masterminds behind the unconference. In this interview he shares insights on how JCrete came to be, what are some of the key ingredients to successfully run an event such as JCrete, what to expect when attending an Open Spaces event, and more.
Open Source projects have higher chances for success if their build instructions are clear and easily reproducible by anyone. It’s a very good idea to include a file that contains environment setup and clear build instructions to be followed. Even better would be to additionally configure a remote build mechanism that publicizes build status and results. This build mechanism can be used to Build and publish released binaries. Publish code coverage results and other quality gates. Build branches on demand, validating external contributions before merging (based on pull requests from GitHub for example). There are several options out there that Read More
Up until know we’ve discussed how to build projects using a couple of tools. Regardless of which one you pick you may need to deal with dependencies. The Java platform does not provide a specification for defining dependencies and their metadata and how to consume them, however the whole ecosystem has agreed on using JAR files as the binary packages and Apache Maven’s POM format as metadata. Often times you add a bit of configuration to your build file stating two things: the dependency coordinates used to locate the JAR file. the repository from where the metadata and the JAR Read More
In the past two entries we’ve seen how to get started with Apache Maven and Gradle. You may have noticed that getting any of these tools installed on your system requires the following steps: Download a binary distribution (usually packaged as a ZIP file) from the official download page. Unzip the distribution anywhere on your system. Configure environment variables. Get ready to go! You must perform these steps every single time a new version comes out if you want to keep your toolbox up to date. There’s bound to be a better way to execute these repetitive tasks. This is Read More