Showing posts from 2020

My Weekly Bodyweight Fitness Training Program (September 2020 Update)

Hello, (You can skip the text and go straight to the program below.)Goal
My goal is to do 1 strict pull-up. I am currently doing pull-ups by starting almost with my arms straight, but it is not strict form, since the arms are almost (but not fully) straight. So that's the goal. At least, I am not doing the swing pull-ups that CrossFit people do (kipping pullups or butterfly pull-ups).
I started my training with this goal in mind on 2020-07-16 with the target date 2020-09-17. I got this idea of the pull-ups goal when I saw the older Jujimufu on YouTube. I was watching Jujimufu on in the early 2000s when he was less of a bodybuilder. He is a legend.
I think that I will reach the 1 reps of a perfect strict-form pull-up around 2020-10-15. My program is pure bodyweight fitness training. I like it that way. It's fun and simple.
Push Pull Legs (PPL)
During July and August 2020, I was basically training every 2 days with pull and push exercises and no legs exercises. Ev…

Adding ZVOL VIRTIO disks to a guest running on a host with the FreeBSD BHYVE hypervisor

On atlantis.domain (my FreeBSD BHYVE hypervisor host), I use these commands:

Install FreeBSD on a 10G disk.

vm create -s 10G guestname

vm install FreeBSD-12.1-RELEASE-amd64-memstick.img

vm console guestname

Add 8 30GB zvol-based disks

vm add -d disk -t zvol -s 30G guestname
vm add -d disk -t zvol -s 30G guestname
vm add -d disk -t zvol -s 30G guestname
vm add -d disk -t zvol -s 30G guestname
vm add -d disk -t zvol -s 30G guestname
vm add -d disk -t zvol -s 30G guestname
vm add -d disk -t zvol -s 30G guestname
vm add -d disk -t zvol -s 30G guestname

You will need to do

vm poweroff guestname
vm start guestname
because the guest does not seem to see the 8 30GB without power cycling. (rebooting won't work)


If you want the boot disk (the one create by "vm create") to be a zvol, you must edit the template:

root@atlantis:~ # zfs snapshot tank/vm-bhyve@2020-06-11-2145

root@atlantis:~ # mount -t zfs tank/vm-bhyve@2020-06-11-2145 /tank/vm-bhyve@2020-06-11-2145

root@atlantis:~ # vim /tank/vm-bhyv…

Changing the capacity of each VDEV in a ZPOOL without losing data and no downtime with ZFS

Before we start, let's define some acronyms.

FreeBSD: FreeBerkeley Software Distribution
ZFS: Zettabyte File System
VDEV: Virtual DEVice
GEOM: disk GEOMetry


I have been tinkering with FreeBSD, ZFS, GEOM, BHYVE, and other interesting technologies.


Let's experiment on how to change the capacity of each VDEV of a ZPOOL without losing data and no downtime with ZFS.

To do so, you need a set of disks that are bigger.
Example, if the ZPOOL has 2 mirror VDEVs with 2 10GB disks each (total: 4 10GB disks), and you want to upgrade to 20 GB disks, than you need 4 20GB disks for the upgrade.

Figure 1: Live upgrade of disks in a ZPOOL

ZPOOL tank                           ZPOOL tank
    VDEV mirror-0                        VDEV mirror-0
        DEV /dev/vtbd1                    DEV/dev/vtbd9
        DEV /dev/vtbd2    --->         DEV/dev/vtbd10
    VDEV mirror-1                       VDEV mirror-1
        DEV /dev/vtb…

A new beginning in computational geometry

It has certainly been a while since the last post was published on this blog.

At the beginning of year 2019, I somehow started to reflect on my career, where I was, and where I wanted to go in my journey. At the end of 2019, I decided to look for new opportunities, after spending more than 4 years doing software development in bioinformatics at Gydle.

I was mainly looking for a new job where the computational aspect that I liked would still be a thing. I wanted also a sizable team, in order to be in an environment with social interactions. I wanted a workplace that values great software development tools and best practices. Finally, I wanted something that was not totally disconnected from what I did so far in life. That thing I did so far in life is the frontier between biology and computer science.

On 13 January 2020, I started to work for Bodycad. Bodycad aims at "The Pursuit of Orthopaedic Perfection". In a nut shell, Bodycad designs and manufactures personalized patient…