View All Tags

Blog

  • Elixir releases with multi stage Docker builds

    If you’ve worked with Elixir for the last couple of years, you might be familiar with OTP releases, what they are and how to generate them using libraries or tools such as Distillery. Since Elixir version 1.9, releases are now part of the core language and in this post, we’ll explore how to create one inside a Docker container using multi-staged builds.

  • Simple distributed rate limiter with Elixir

    While developing Elixir web apps you’ll find there are some activities or requests that can be way more expensive than others, something like calling an external API, sending a password reset email, a CPU intensive task or any other that fits your business model.

  • AES GCM timed encryption with Elixir

    While developing elixir web apps sometimes we’ll find the necessity of generating encrypted tokens, these can be used in transactional emails (account confirmation, password resets, etc.) or for other purposes. While there are packages out there than can help us with this, I wanted to explore more in dept what are the bare options:

  • Server processes in Elixir

    Elixir is a functional programming language with built in concurrency based on the actor model, this creates an easy way to parallelize work as a side effect. The main unit for achieving concurrency are Elixir’s processes. These are not OS processes, they are lightweight units with separate contexts, they don’t share any memory, they run isolated from each other, which leads to fault tolerance: if a process crashes it shouldn’t affect other processes, our app or the whole system.

  • Bye Google?

    For years I’ve been an avid Google product’s user: Chrome as my main browser, for development & daily usage, 2 email accounts on Gmail, Google maps for traversing the city, Drive for file sharing, and so on. But I’m done! Why? I value my privacy.

  • Coding on the go

    This post is special, it was completely typed from my iPhone. It’s been about 2 years since I don’t have a laptop. Despite the fact I own a 27 inch 5k iMac (which is the perfect workstation for me) I have a lack of mobility, but this is over.

  • Configuring a Phoenix app with Vue.js & Webpack

    With the new project architecture proposed for Phoenix 1.3 there’s a lack of information on how to set a custom frontend. So, in this post I’ll set a Vue.js app for the front, served by webpack.

  • Run multiple Sinatra apps on a single server (CentOS 7)

    There’s a considerable lack of information about rack apps deployment other than Ruby on Rails, so I made this small tutorial for deploying Sinatra apps to CentOS 7 servers.

  • New Blog

    After some time with my tumblr profile as my main site, I decided to start a new blog, this because I want to share more specific content, such as my personal ideas, about my path as an entrepreneur on construction & technology fields, and why not? some of the knowledge I’ve acquired after a couple years on the web development boat.