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.
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.
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.
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
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.
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'
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.
- Video – Why Program by Hand in Five Days what You Can Spend Five Years of Your Life Automating? – 2011
- Video – The Quest for the One True Parser – 2015
- Video – ANTLR v4 with Terence Parr – 2013
- Book – The Definitive ANTLR 4 Reference – 2013
- Book – Language Implementation Patterns – 2009
- 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