-
Fast development on NixOS
Read more »: Fast development on NixOSWe’ve been using NixOS for a few years, and it has proven to be a stable and reliable OS. More importantly, it’s declarative and reproducible, which is one of the main reasons we decided to migrate ~700 of our Ubuntu servers to NixOS. However, it has a few downsides, and one of the biggest ones…
-
NixCon Paris 2022
Read more »: NixCon Paris 2022After three years, we finally got a proper IRL NixCon. Since the Nix community is not the biggest one, it was nice to talk about Nix for three days (two at the conference and one at the sprint). We heard many interesting talks and answered a few important questions. So let’s start with the most…
-
Standing on the shoulders of giants
Read more »: Standing on the shoulders of giantsWhether we know it or not, we build things based on the work done before us. This is true in every aspect of life, and programming is no different. Every few weeks, we (at Niteo) have a developer session where we (developers at Niteo) talk about new things we learned, cool libraries/tools we discovered, etc.Last…
-
Deploying +100 servers with GitHub Actions
Read more »: Deploying +100 servers with GitHub ActionsLast year we decided to replace our Ubuntu servers with NixOS. We were still on Ubuntu 14.04, so we also had to upgrade all the services and tools, including PHP, MySQL, HAProxy, etc. As you can imagine, this was a lot of work, and you might be asking yourself, “why didn’t you just upgrade Ubuntu?”…
-
Concurrency in Go
Read more »: Concurrency in GoConcurrency in Go is an extensive topic, and we won’t cover all the things in this post. There are tons of articles and several books that cover concurrency in depth. The goal of this post is to cover topics between basic and advance. We’ll cover the usage of sync.WaitGroup and channels. Those two things combined…
-
Lowering H12 errors on Heroku
Read more »: Lowering H12 errors on HerokuThis post will briefly discuss H12 errors on Heroku, more commonly known as request timeouts, how we tackled them, and how we fixed them. Before we start, let’s establish some context. We have an app that’s a hub for ~600 servers. A few times per day, each server creates a request to the app, ensuring…
-
Reading Nix expressions
Read more »: Reading Nix expressionsThese are my notes from the Reading Nix expressions talk in NixCon 2019. Nix package language has a similar syntax to the “JSON meets functional language concepts”. E.g. you have Let-expressions which I would say is a functional concept (ref: https://en.wikipedia.org/wiki/Let_expression) – I first saw it in Elm and Haskell. An important thing to keep…
-
NixCon 2019
Read more »: NixCon 2019It’s been a few years since I’ve been to a smaller conference and I made the right choice to visit NixCon 2019. It was held in a really nice coworking space called Impact Hub in Brno. There were 2 tracks and about 180 people attending. Generally speaking, smaller conferences like this one will give you…
-
KubeCon 2019
Read more »: KubeCon 2019This was my first time at a KubeCon conference. This year it was held in Barcelona with over 7.5k attendees! The conference was held at Gran Via which is a huge place. It consists of 8 huge halls and 3 of them were used for KubeCon. It could take you up to 15 minutes of…