That app you love, part 1: Making a connection

I am going to show you how I took an everyday, off-the-shelf application and turned it into a cluster-ready juggernaut of persistent usefulness. Along the way, I’ll share the pitfalls that I hit in getting this all working so that you can chuckle at my misfortune and avoid having to make the same mistakes yourself.

This series will run every Tuesday and Thursday until we’ve accomplished our goals, so stay tuned in, subscribe, and thanks for reading!

Meet “That App You Love”

For this series, the app we’ll be deploying is the popular ZNC IRC bouncer. If your eyes have rolled back into your head at any part of that – “ZNC”, or “IRC” (or maybe “popular” if you are pretty sure IRC is not popular) – don’t let it turn you off to this tutorial. This series is called “That App You Love” because you can take these ideas and apply them to any number of applications to make them available in the cloud. I chose ZNC because:

  • I do, actually, love it (in a strictly platonic way)
  • Configuring it is extremely simple, which makes for a great sample application.
  • A ZNC deployment touches every important concept of containerization and the OpenShift Container Platform in one app.

So every time I say “ZNC”, just mentally switch it to “That App You Love”. As long as that app you love can run from a linux container on a Linux-based host, I think this blog series can be That Blog Series You Love. But hey, one step at a time, right?

Continue reading “That app you love, part 1: Making a connection”

Logging in Open vSwitch

Open vSwitch (OVS) is a virtual switch used in production from small to large scale deployments. It is designed to provide network automation along with support for a number of management interfaces and protocols.

However, the developer or the administrator might need to understand more of what is going on under the hoods and OVS does a good job providing a very good logging facility which is the subject of this article.

Editor’s note: Red Hat Knowledgebase – “What Red Hat products provide support for Open vSwitch?

Continue reading “Logging in Open vSwitch”

Survey: What do you care about internationalization and localization, anyway?

According to a survey conducted by Common Sense Advisory on 351 enterprise software buyers in Brazil, Russia, Japan, China, Sweden Germany France and Spain, respondents feel that 33 to 69% of this user cohort lack the language skills to use English-language software.


Then “desirability” indexes of combined factors of localized software, translated information, in-language technical support range from four out five in Sweden to nearly everyone in Germany, Russia and Spain to all buyers in Brazil, China, France and Japan. See Table 1 above.

So, localization matters. On how to achieve it to get your application translated or localized, there are multiple software internationalization practices exist, ranging from primitive way of using arrays and database to store the locale and translations, to utilizing mature libraries such as gettext, resourcebundle, ICU(International Components of Unicode) which handle date and time formats, numeric format, currency symbols, native text collation and translation management more efficiently.

Continue reading “Survey: What do you care about internationalization and localization, anyway?”

Development workflows with Fuse Integration Services (FIS)

Fuse Integration Services (FIS) is a great product bringing routing (Apache Camel), SOAP and Rest services (CXF) and messaging (JMS) to the modern age of containers and PaaS and all its goodies: encapsulation, immutability, scalability and self healing. OpenShift provides the PaaS infrastructure to FIS.

A developer may implement a module in isolation on his own machine, but it often makes sense, especially when we talk about integration services, to have the code being validated in a complex integrated environment — something that OpenShift is great at providing.

It is so easy to spawn an environment including frontend, backend and peer services that you may not want to wait for the integration test phase to see how your code performs and to identify where issues may happen. You want to see it right away, during your dev! This blog entry details a couple of workflows with their pros and cons for just doing that.

Continue reading “Development workflows with Fuse Integration Services (FIS)”


How this year’s Google Summer of Code ended up for JBoss and Vert.x

Google Summer of Code (GSoC) is a yearly effort run by Google to bring students and open source projects together. Open source projects apply to be mentoring organizations. Google selects some organizations where students then apply. A limited number of them is selected to work on the projects. Each selected student gets a stipend from Google.

This year Google has funded 1184 student projects for 178 organizations.

Among the selected organizations were JBoss community and Vert.x with a total of 13 (10+3) students out of 106 (80+26) proposals. I have written about the fact that JBoss community has been selected back in March.
In total 12 (9+3) students passed the evaluations at mid-term and the end of this years GSoC program.

The projects

The awesomeness of the program is that the student projects are as diverse as the projects in Red Hat JBoss and Vert.X communities. Below you will links to full project descriptions at the summer of code site, so I’ll only pick some examples.

One project was refining the existing Android client for the Hawkular monitoring system while another on the mobile side augmented the AeroGear Unified Push Server with support for the new WebPush protocol. Yet another one plugged the Drools rules engine into Minecraft so that the behavior of the world can actually be modified by those rules.

On the software development side there were projects around the Ceylon language to enhance documentation (processing) and to integrate with the TypeScript language. Another project addressed the issue of large test suites that it often takes long to actually get to the tests that are actually affected by code changes.

Two of the Vert.X projects dealt with getting Vert.X even quicker up and running by providing best-practice documents and blueprints for new applications and around the DevOps aspect with CI/CD and monitoring.  Last but not least there was a project to extend the Vert.X internal event bus over TCP to make it available to clients written in C, Rust or Python.

Detailed list of Vert.x student projects:

Detailed list of JBoss community student projects:

Further outcome

As Google Summer of Code is meant to introduce students to Open Source and to create a lasting engagement between project and student it is cool to know that almost all students want to continue contributing to their projects and the JBoss & Vert.X communities. This is a huge success for the program and the involved communities.

Google has published some more statistics to look at.