MoSKito Hackathon in Kiev – a report

The first MoSKito Hackathon this year took place in Kiev on June 17th. This is the report.

How do you define a software developer, or, as we used to call ourselves in the dark ages, a programmer? Right, we are the ones with pizza:

Programmer-Organism

 

We always have enough caffeine in the office, so we only needed to order some pizza and give people something to do. The first part went smoothly, half an hour after we started, caravans of pizza-deliverers started to arrive at our doorsteps:

PizzaResults

Although, eating pizza wasn’t the only reason to come together this warm evening in Kiev (even during the soccer WM). We wanted to code some cool features, besides everyday’s routine with customer projects. And so we kicked off our

Hackathon

This hackathon we had some feature requests from the users of MoSKito around the world. In case you don’t know yet, recently there have been MoSKito installations in South Korea, Australia, Argentina and even Kenia. With the growing user base, the demand for features and support is also growing, so we had a lot stuff to pick from. We choose to focus on three topics:

  • Support for SQL Statements in Journeys
  • Customizeable (Mail) Threshold Alerts
  • SMS Alerts

We split up in three teams, each consisting of people who actually never or almost never worked together previously, which was a nice side effect in terms of socializing.

We have achieved decent results in all of the areas, which is very cool 😉 But let’s go step by step.

SQL Statements in Journeys

The moskito-sql integration package has been around for a while, but never used often, for whatever reasons, and so it was not always up-to-date in terms of capabilities compared with other integration packages, like spring, aop or cdi. The main thing that was missing was the visibility of the SQL statement in a journey. Of course, it is extremely useful to see which SQL statements are triggered by particular parts of code as the result of a user’s request. We’ve achieved this by altering the existing moskito-sql AOP library, and enabling the aspect to record the data in the journey. Whenever you have an SQL code executed during a running journey, you will be able to see it:

FirstSQLInJourney

Customizable Email Templates

Another thing we wanted to enhance were the notification emails.

Notification emails, sent on threshold alert, were plain text previously, and though they did the job well, people wanted to be able to create fancier and maybe more management-readable notifications.

Now it is possible to create not only the plain-text notifications, but also the html ones.

SMS Notification

One thing people keep asking about is sms alerting. Not many people check their mails at 3 o’clock in the morning, but most would look for an incoming sms. And the sms team delivered:

FirstSMS

All of the above and some more cool and new features are available immediately in the 2.5.1-SNAPSHOT and the nightly build.

Below you will find some photo-impressions of the hackathon. In general, it was a great success because it allowed people who would never find time to dive into the project to actually put their hands on the code.

But before I let the pictures talk, I would like to thank two companies, for their support, first il Molino for providing the best pizza in Kiev, and second, and more important JetBrains for providing us OpenSource Licenses for Intellij IDEA, obviously the best Java IDE in the World.

Impressions

The work begins:

pano

Discussions start:

WorkWorkWork

This is how a typical MoSKito developer working place looks like, at least 4 Monitors and Intellij:

TheWorkingPlaceOfAMoskitoDeveloper

Presentation of the results:

SQLJourneyOnScreen

First SMS is sent

PresentationOfResults2

Look at my SQL Trace:

PresentationOfResults

And of course we finish with the same item we started! PIZZA!

Pizza

It’s done…. 3 hours later in a PUB nearby… Time for Coffee & Cognac 😉

EarnedEvening


 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

*