Technical

Upgrading the Prysm Eth2 client from binaries

The tl;dr for this is: yes, you can just upgrade Prysm by stopping your services, copying the new binaries and then restarting your services.

I had to do this recently as the Altair fork required all clients to be running V2.

Unfortunately, the official docs on upgrading only provide instructions based on three different ways of installing: Prysm.sh, Docker and Bazel. I did not set up Prysm via any of these routes. As I mentioned in my original article, I followed Somer Esat’s instructions, which involved simply downloading binaries and copying them to /usr/local/bin.

Setting up an Eth2 Node on DigitalOcean with Prysm and Ubuntu

Recently, I set up an Eth2 node with a friend. Eth2 refers to a series of upgrades planned to make Ethereum more scalable, secure and sustainable. The main part of this upgrade is a move to the beacon chain which operates on Proof-of-Stake (PoS), as opposed to the Proof-of-Work (PoW) consensus used by Bitcoin, amongst others.

As you have likely already heard, Bitcoin’s Proof-of-Work consensus currently consumes more energy than all of Argentina, which is one of the many reasons for newer cryptocurrencies considering the less energy-intensive Proof-of-Stake mechanism. Here’s a good FAQ on Proof-of-Stake, if you want to learn more.

Hello Hugo, farewell Middleman

Previously, I had been using Middleman to power my personal website. I had also been using Ghost to run a separate blog which has now been merged into this one as of October 2021.

Middleman wasn’t the fastest but it was written in Ruby. Thus, I reasoned that I could modify it as I pleased when I needed to. Of course, that time never came and each time I returned to the blog after a few months absence something else seemed broken or slow. I didn’t want this kind of maintenance for an application that mostly generated HTML from Markdown files.

Using a reverse proxy to integrate WordPress into Rails

Sometimes you need to get two separate applications to play nicely together under the same domain.

If one of these applications is especially greedy with regards to the routes/URLs it wants to control, then it can become a tricky project. Using subdomains can often help, as the subdomain can explicitly address the other application. However, if you need content from both applications under the same domain, and you don’t have access to or the desire to fumble with the routing (e.g. you use Heroku) then a different approach might be required.