Want to learn more about DSLs, parsers, interpreters, compilers and language design?

Docker as a Developer: How to Build an Environment You Can Trust

  Lately I have spent a lot of thoughts on building repeatable processes that can be trusted. I think that there lies the difference between being an happy hacker cracking out code for the fun of it and an happy hacker delivering something you can count on. What makes you a professional it is a […]

Continuos Integration on Linux and Windows: Travis and AppVeyor

  Recently I worked on improving the testing and the Continuos Integration (CI) configuration for a few open-source projects. In particular, I have spent some time on WorldEngine, a world generator written in Python, which uses a C++ extension named plate-tectonics. There have been several issues, the main two are: the deployment of the application […]

Mocking in Java: Why, Why Not and Also Those Awful Private Static Methods

  Unit tests: there are people out there surviving without, but in many cases you want to have this life insurance. Something to protect you from slipping an error, something to accompany your software also when you will have long forgotten it and someone else will have to figure out how to maintain that legacy […]

How to contribute to Libav (VLC): just got my first patch approved

How to Contribute to Libav (VLC)

I happened to have a few hours free and I was looking for some coding to do. I thought about VLC, the media player which I have enjoyed so much using over the years and I decided that I wanted to contribute in some way. To start helping in such a complex process there are […]

Portability: stories of what can go wrong when run your code on another machine

Things that Can Go Wrong when Running Code on Another Machine

In the last year I faced many surprises when running some well tested code on my dev-servers or my laptops. It is curious (and scaring) how code that has been widely used in production (sometimes for years) can still hide portability issues so that the first time you try that piece of software in slightly different conditions […]

Resurrect a C++ codebase and create a proper open-source project out of it

How to Resurrect a C++ Codebase and Make it Open-source

Our interests often are the sparkle to start a pet project. For example, I am interested in world generators and because of that I created Lands: an application which simulate different physical phenomena and produce as outputs different maps (for elevation, rivers, biomes, etc.). After many experiments I finally understood that a critical component of […]

My last day at TripAdvisor

What I Learned Working at TripAdvisor

Today is my last day at TripAdvisor, where I have been part of the personalization team. I have joined this office a few months after it was started. When I arrived there were less than ten engineers and I was the second of my team, with the first being sent over from the USA. We were […]

Getting started with Frege: Hello World and basic setup using Maven

Getting started with Frege

I spent a couple of hours playing with Frege (Haskell on the JVM) and not much documentation tutorials seems available. I am trying to help writing this simple Hello World tutorial. The code is available on Github: https://github.com/ftomassetti/frege-tutorial/tree/01_HelloWorld Update: Frege has some very useful documentation at http://www.frege-lang.org/doc/… where … represents the package, or module, name. […]

Exploring frege Haskell for the JVM

Exploring frege: Haskell for the JVM

Recently I played a lot with Clojure while building a civilizations simulator named civs. I really love building applications at the REPL and my Clojure code is much clearer and easier to read than the Java code I could have written for it but… when you need to refactor significantly your code it is going […]

Machine Learning: a nice introduction with TripAdvisor examples

Machine Learning: a nice introduction with TripAdvisor examples

This afternoon I attended a seminar from Prof. Padraig Cunningham. The seminar was organized by Gilt (thanks!). The seminar was about Machine Learning. First we discussed about linear and logistic regressions, while at the end we focused on recommenders. I really like the part about Weka: it is a nice tool to play with data […]

Course: Using ANTLR Like A Professional

ANTLR Course Image

A complete video course on parsing and ANTLR, that will teach you how to build parser for everything from programming languages to data formats.
Taught from professionals that build parsers for a living.

Strumenta – Consulting

If you need help designing and developing DSLs, languages, parsers, compilers, interpreters, and editors you can check the services page of the Consulting studio we founded: Strumenta. Strumenta Logo

Blog Categories