2015 in review

The WordPress.com stats helper monkeys prepared a 2015 annual report for this blog.

Here’s an excerpt:

A San Francisco cable car holds 60 people. This blog was viewed about 1,100 times in 2015. If it were a cable car, it would take about 18 trips to carry that many people.

Click here to see the complete report.


Mono on Linux and feeling good

Mono, mono

If you haven’t heard about Mono on Linux then it is time to fill this gap.
Mono is an open source platform that implements CLI specification and enables building and runnig C# applications on Linux, OS X, Windows which is fun.
This is the official description from the site

Mono, the open source development platform based on the .NET framework, allows developers to build cross-platform applications with improved developer productivity. Mono’s .NET implementation is based on the ECMA standards for C# and the Common Language Infrastructure.

Starting fast

In order to start playing with Mono fast there is a need to install three things.


  • You need to have Linux (Ubuntu) installed on you PC (vm). It is possible to work with Mono on Windows too.


  • You need to install mono on you system with these commands in the terminal
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list

sudo apt-get update

sudo apt-get install Mono-Complete


  • Now to be able to code and build C# projects there is a need to install cross-platform IDE for C#, F# and more, such as MonoDevelop.
sudo apt-get install monodevelop
  • After monodevelop package installation simply type in terminal ‘monodevelop‘ for IDE to startup.
  • To learn to use this IDE you may refer to this Xamarin Studio documentation.

 Mono, mono?

To create a simple project when IDE is up

  • Click on create New project under Solutions section
  • When new from will open select .NET under Other section
  • Then select Console Project and click Next



  • In the Configure your new project form name your project
  • Set project location
  • Click Create



  • That’s it you are all set up




  • Mono is good for you if you feel lonely without C# on Linux
  • Mono is open source and as such contribution is more than valued
  • Mono is great but it seems Stereo must have been even better

Java Code Geeks

Meet ANTLR v4


Change brings opportunities

Current post is affected by the fact that I started to work at Checkmarx company that specializes on static code analysis.

As it often happens starting new things brings unexpected opportunities and discoveries. One such discovery for me was ANTLR (ANother Tool for Language Recognition) that was written by professor Terence Parr.

The main purpose of the tool is to generate parsers based on provided grammar or as Terence Parr puts it at the ANTLR site

What is ANTLR?

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It’s widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees.

It is fun

From yesterday (12/8/2015) I’ve started to learn working with ANTLR v4 with the help of very detailed and down to earth The Definitive ANTLR 4 Reference book by Terence Parr.

If you’ll consider to read the book then you’d be better off by practicing with OS X or Linux since book’s examples are oriented to those operating systems. As David Ray puts it ‘who does still use Windows machines anyway?’

ANTLR v4 is fun to learn and practice especially if you previously had some experience with Java since the tool is written in Java itself.

Quick Start

OS X/ Linux (Ubuntu)

$ cd /usr/local/lib
$ sudo curl -O http://www.antlr.org/download/antlr-4.5.1-complete.jar
$ export CLASSPATH=".:/usr/local/lib/antlr-4.5.1-complete.jar:$CLASSPATH"
$ alias antlr4='java -jar /usr/local/lib/antlr-4.5.1-complete.jar'
$ alias grun='java org.antlr.v4.gui.TestRig'

Useful links

There are a couple of links that make you life more interesting and happier since Terence Parr, in my opinion, is not only a very insightful programmer but he’s also very entertaining lecturer.

Well, that’s it. Here come two talks that Terence gave in recent years that are related to parsers and ANTLR.

  1. Video – Why Program by Hand in Five Days what You Can Spend Five Years of Your Life Automating?  – 2011
  2. Video – The Quest for the One True Parser – 2015
  3. Video – ANTLR v4 with Terence Parr – 2013
  4. Book – The Definitive ANTLR 4 Reference – 2013
  5. Book – Language Implementation Patterns – 2009
  6. Thinks of contribution – ANTLR open source at GitHub.


  • Change keeps a surprise for your
  • ANTLR v4 is powerful and fun like never before
  • This post is a first part of a number of posts that I plan on the subject


Java Code Geeks

VS 2015 Installation Instructions


Why not to try Visual Studio Community 2015?

Try to follow these steps for low probability of success installation

  1. Download VS iso file from MS DreamSpark site
  2. Mount the image using instructions from How-To Geek, for instance those ones.
  3. Confirm Default installation.
  4. When you’ll find out that installation will be stuck use Your Uninstaller to get rid of VS 2015.
  5. When you’ll find out that removal process will be stuck (how funny) kill vs_community.exe *32 process in Windows Task Manager.
  6. Finally, remove VS 2015.

Now you have two options left

  1. Reinstall VS Community 2015 with Repair option and pray it will work this time.
  2. Switch to Java on IntelliJEclipse on Ubuntu (or Windows).


Java Code Geeks