Configurable Docker containers for multiple environments

You already know about it: the latest hype is all about application containers and Docker. At Tryolabs we try to keep up to date with latest developments, so we have been using Docker extensively for quite some time; both for development as well as production systems. The idea is that we have all our applications containerized so they and their dependencies can coexist without affecting each other. For example, say your application A depends on version 1.

Elasticsearch Demo: SF crime analysis using significant terms

Significant terms aggregation is one of our favorite features in Elasticsearch. Initially included in the 1.1.0 release (March 2014), it is still an experimental feature. In contrast with other types of Elasticsearch aggregations, which generally do simple counts, sums, and other simple math operations, significant terms tries to find statistical anomalies in your data, or as they call it, finding the uncommonly common. There are plenty of excellent resources on what significant term aggregations does, and some practical examples on how to use it.

Optimizing Elasticsearch (part 1): Rescoring queries with multi-type fields

Sometimes you want to run complex real-time queries on hundreds of millions of documents, and you’ll quickly find out the limits of what your hardware can do. Some complex queries may involve indexing fields in multiples ways, by applying different analyzers. For example, you may want to index a field applying stemming with one analyzer, using the shingle token filter with another and indexing with the standard token filter. Luckily there is an easy way to do this in Elasticsearch using multi-type fields.

nvd3-tags: A tiny library for making charts from CSV data

In many of our projects, we’ve had the need of building tons of charts. We used to use jqPlot for chart creation, but then switched to NVD3, a library that takes D3, powers it down, and offers a simple interface to creating the basic types of charts. Not all apps are SPAs that render everything client-side and use the server solely as an API, however. For more traditional apps that use server-side templating, you basically have two options:

Elasticsearch Analyzers (or How I Learned to Stop Worrying and Love Custom Filters)

We at Tryolabs are big fans of Elasticsearch, so much we are even sponsoring the first ever Elasticon which is taking place in March in San Francisco. We are diving a little deeper in more interesting features and this time we are going to talk about Analyzers and how to do cool things with them. August 2018: Please note that this post was written for an older version of Elasticsearch.

Python + Elasticsearch. First steps.

Lately, here at Tryolabs, we started gaining interest in big data and search related platforms which are giving us excellent resources to create our complex web applications. One of them is Elasticsearch. Elastic{ON}15, the first ES conference is coming, and since nowadays we see a lot of interest in this technology, we are taking the opportunity to give an introduction and a simple example for Python developers out there that want to begin using it or give it a try.

Rust

I recently gave a talk about Rust at TryoLabs, the slides of which are available here. The presentation is meant as a broad introduction, and doesn’t cover methods, modules or concurrency. Rust is an incredible example of dogfooding: built by Mozilla so they could use it to build the Servo rendering engine, which will eventually become a part of Firefox. Rust’s main appeal is that it’s a safer C++: It brings elements from higher-level languages like a robust type system and metaprogramming (macros!

Introducing Metamon for kickstarting Django development

Here at Tryolabs we have had our fair share of developing complex Django based web projects. Starting a new project is always exciting, however, setting up a development environment is not. Complex projects need to be built on a neat base, so in order to isolate development environments for different projects, we use Vagrant so we can easily create and provision new virtual machines. These VMs, unfortunately have to be set up and configured.

TryoMeetup: Django Rest Framework

I was in charge of this week TryoMeetup and decided to make a presentation about Django REST Framework, a powerful and flexible toolkit that makes it easy to build Web APIs. This framework has some nice pros up its sleeve. It’s easy to use and customize giving it a gentle learning curve, has great documentation, it’s being actively developed and has easy-to-read sources. Unfortunately, working with relations can be a pain sometimes, and operations that change nested objects are under development.

TryoMeetup: Git of every day

As some you may know, every week we gather together with everyone in Tryolabs to learn something new related to machine learning, natural language processing, Python development, Django framework, agile development or new technologies in general. We call this TryoMeetup and it’s a great way to keep everyone up-to-date with latest developments in our industry, or learn more about things we do every day. This week I was in charge of presenting a brand new TryoMeetup and it was all about Git, a key piece of software that we use for version control and source code management.

Get in touch

Do you have a project in mind?
We'd love to e-meet you!