Building data products with Python

The following is a repository containing the code for a wine reviews and recommendations web application, in different stages as git tags. The idea is that you can follow the tutorials through the tags listed below, and learn the different concepts explained in them. We will use Python technologies such as Django, Pandas, or Scikit-learn. The tutorials also include instructions on how to deploy the web using a Koding account.

An OnLine Spectral Search ENgine using Python with Spark, Flask, and AngularJS

Our engine provides a RESTful-like API to perform on-line spectral search for proteomics spectral data. It is based on the SpectraST algorithm for spectral search and uses PRIDE Cluster spectral libraries. It also features an AngularJS web user interface.

Rapid Single-Page Application prototype with AngularJS & jsFiddle

Imagine we have just developed a brand new RESTful API, and we want to demostrate how easy is to use it and how quickly we can develop Single-Page Web applications. An elegant way of building a prototype aplication is by using AngularJS and jsFiddle.

About Java project and package organization

There is a heated debate about what is the most appropriate organization and naming convention of Java packages and projects and, by extension, software modules. The two approaches are ‘by abstraction layer’ (e.g. model, controller, view, etc) or ‘by feature’ (e.g. account). I find that, at least at an inside-tier level (e.g. application level), the later approach makes more sense. That is, a tier will be contained in a project (e.g. web-service or core) where packages are organized by features. Inside of these packages I reproduce the different abstraction layers in sub-packages if needed.

Dangers of inheritance in OO programming

Note: The following ideas are part of what is considered today good practices in the Java development community, and are very well explained in the book Effective Java (2nd Edition) by Joshua Bloch.

Enterprise Integration of QoS-aware systems

ServiceDDS is a framework for integrating independently developed real-time components into dynamic and decentralized distributed architectures.

Enterprise Integration vs Distributed Systems

Recently, as a part of my PhD defence, I had to discuss the concept of Enterprise Integration, and I decided that a good way of doing it was as a comparison with a more familiar concept, system distribution.