My year in Amazon

Well, it was actually just 11 months, but it makes more sense to round it up. This happened a bit over two years ago, which in software developer time feels very far away in the past, so I think it makes sense to talk about it. On 2022 I got an offer to work on Amazon in a sort of unexpected way. They actually contacted me two years before, but at that time I just started a job and didn’t want to move so early. But they came back asking, and I… Read More

Adventures in Vibe Coding

Recently, I’ve been playing around with GenAI tools. Yes, I know I’m late at this point, but these days coding is not as big a part of my day-to-day as it used to (though I still do it regularly), and I have never been too interested in autocomplete tools, which has been the way most of the GenAI for programming has been labelled. The integration also with my regular workflow is not as straightforward. Most of the tools are more based on an IDE, most of what I’ve seen has been mainly… Read More

Insights from ShipItCon 2024

Another year, another ShipItCon! I’ve talked already on the previous instances of the conference. To keep things short, it’s an annual conference based in Dublin that works around the idea of releasing software. Because it’s very open-ended topic that can be approached from lots of angles, and it’s something different from the more stereotypical “conference around a technology”, the talks are quite varied. The organisation always finds good speakers that talk about interesting concepts, from very different points of view, making it quite broad in scope. It’s full of, as the MC… Read More

macOS, Apple’s core

These days mark the 20th anniversary of Mac OS X, later renamed as macOS. Really the underlaying tech is the same, but the naming allows them to move past 10.X into other unexplored territories. There’s a lot of talk these days about Macs, specially after the introduction of Apple Silicon, which certainly is an exciting move. There was some years where there was debate over the tech world on whether Apple should drop the Macs and focus on iPads or iPhones. Because the old Personal Computer paradigm is dead, right? Nonsense. While… Read More

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!

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!

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

ffind v0.8 released

Good news everyone! The new version of find (0.8) is available in GitHub and PyPi. This version includes performance improvements, man page and fuzzy search support. Enjoy!