Notes about ShipItCon 2017

Disclaimer: I know personally and worked with a good portion of the conference organizers and talkers. I label them with an asterisk*. The ShipItCon finally took place last Friday. I think it’s quite impressive, given the short amount of time since announcing it and being the first edition, that was so well organized. The venue was very good (and fairly unusual for a tech conference), and all the usual things that are easy to take as granted (food, space, projector, sound, etc) work like clockwork. Kudos to the organizers. The conference was… Read More

ffind v1.2.0 released!

The new version of ffind v1.2.0 is available in GitHub and PyPi. This version includes the ability to configure defaults by environment variables and to force case insensitivity in searches. You can upgrade with     pip install ffind –upgrade This will be the latest version to support Python 2.6. Happy searching!

A Django project template for a RESTful Application using Docker

I used what I learn and some decisions to create a template for new projects. Part of software development is mainly plumbing. Laying bricks together and connecting parts so the important bits of software can be accessing. That’s a pretty important part of the work, but it can be quite tedious and frustrating. This is somehow a very personal work. I am using my own opinionated ideas for it, but I’ll explain the thought process behind them. Part of the idea is to add to the discussion on how a containerised Django… Read More

Compendium of Wondrous Links vol XI

It has been a while since the last time. More food for though! Python Python 3 upgrade strategy. The time has come to take migrating to python 3 seriously. Another addition to Python-to-c++ compilers, in a similar way to Cython: Pythran. I tested it with code from my recent post $7.11 in four prices and the Decimal type, revisited and it worked quite well, though it’s arguably a very simple test. Speed was quite good, better than Cython, actually. Powering the Python PyPI. These people deserve a lot of credit. PyPI is really important… Read More

$7.11 in four prices and the Decimal type, revisited

I happen to take a look to this old post in this blog. The post is 7 years old, but still presents an interesting problem. “A mathematician purchased four items in a grocery store. He noticed that when he added the prices of the four items, the sum came to $7.11, and when he multiplied the prices of the four items, the product came to $7.11.” I wanted to check my old solutions again, with the things that I learn in the last years. At that time, I was still a newbie in… Read More

ffind v1.0.2 released!

The new version of ffind (1.0.2) is available in GitHub and PyPi. This version includes the ability to execute python modules and scripts directly and some other minor improvements. Happy developing!

Happy 25th Anniversary, Python

25 years ago, on 20th February 1991, Python 0.9.0 was released publicly… I absolutely love it and use it everyday, and it seems to be as successful as ever… For another great 25 years! Cheers!  

Do not spawn processes on users requests

I’ve been playing recently an online game that has recently launched, that uses the following idea. When a user starts a match, it spawns a process in the server that acts as the opponent, generating the actions against the user. The game had a rough launch, with a lot of problems due it being played by a lot of people. And, IMHO, a lot of the problems can be traced to that idea. I see it’s a seductive one. If a user generates an interaction with the service that takes time (for example, a match for… Read More

All you need is cache

What is cache More than a formal definition, I think that the best way of thinking about cache is an result from an operation (data) that gets saved (cached) for future use. The cache value should be identifiable with a key that is reasonably small. This normally is the call name and the parameters, in some sort of hashed way. A proper cache has the following three properties: The result is always replicable. The value can be scrapped without remorse. Obtaining the result from cache is faster than generate it. The same result will be used… Read More

Gorgon: A simple task multiplier analysis tool (e.g. loadtesting)

Load testing is something very important in my job. I spend a decent amount of time checking how performant are some systems. There are some good tools out there (I’ve used Tsung extensively, and ab is brilliant for small checks), but I found that it’s difficult to create flows, where you produce several requests in succession and the input depends on the returned values of previous calls. Also, normally load test tools are focused in HTTP requests, which is fine most of the time, but sometimes is limiting. So, I got the idea… Read More