Atlassian Stash – new product, first experience

Stash Logo
On may 1st 2012, Atlassian released a new product called Stash. Stash is a Git repository manager. People that know Atlassian would say “Hey, isn’t it the same as FishEye?”. Well no, it’s not the same. FishEye is for looking at ALL of your source code, in any source repository. Stash is a repository manager for Git only. So how is it different then?

Continue reading

Techday Play framework

We’re holding another one of our monthly “Techday” events this week. We organize techdays because we like to stay sharp and have some fun in the process (Check out our previous blog post about why we do techdays).

This month’s techday is on thursday april 26th in our Avisi offices in Arnhem. This time about the Play framework. Want to join the fun?

Continue reading

Remote Apps for Atlassian OnDemand

Since Atlassian released their OnDemand platform, customers have been asking for more plugins to be made available there. Until now, only 7 plugins are offered on the new platform.

The current approach of in-VM plugins incurs a very high cost in development, QA, and support time. This is due to tight coupling and increased security and stability risks.

The Atlassian Remote Apps project aims to bring the benefit of third-party extensibility to OnDemand by dramatically lowering the costs and risks related to third-party code.

We investigated the possibilities to setup a remote app for enabling Numbered Headings for OnDemand. Here are our findings…

Continue reading

Exploring Kotlin, writing a simple spell checker

In my last blog I talked about exploring Kotlin, a JVM language in development by JetBrains. In this blog I’ll walk through a larger piece of Kotlin code.

Spell checker
The program we’re talking about is a simple spell checker. It reads a dictionary of words from a file (/usr/share/dict/words) into a set. Then it reads a sentence from stdin and checks if every word is in the dictionary. Finally it informs the user whether or not the sentence is spelled correctly, i.e. every word is known in the dictionary.

The spell checker is available on my GitHub. Take a moment to study the Java version, we’ll discuss the Kotlin version next. Continue reading

EJB 3.1: Concurrency Management and (Avoiding) Synchronization

At Avisi we use a custom built EJB 3 based application for scheduling and running (automated) regression tests. This involves a queue from which objects are taken. These objects contain metadata describing the tests to execute. I won’t go into detail as to why we aren’t using Apache ActiveMQ (or a similar library) for this purpose, but I can say that we didn’t need distributed test-executing minions at that time.

Continue reading

Building an information radiator: Part II – Front end development (HTML5 & CSS3)

In my previous post (Part I – Introduction) I gave an introduction to Walle, Avisi’s information radiator. After making some high-level design decisions we started focussing on developing the front-end. When we got the final version of the visual design, it appeared that HTML5, CSS3, jQuery and websockets could make it work. This post shows some highlights of the HTML5 and CSS3 features we used.

Continue reading