Today I’m happy to interview Vermaden, a nice polish IT guy who is known for his passion for the FreeBSD operating system. He is the author of beadm and automount, two projects that speak for themselves.
Can you introduce yourself to us?
Hi, my name is Slawek Wojtczak but you probably know me better by my login name – vermaden. I make living from typical architect/sysadmin IT job. In the operating systems field I find BSD systems – especially FreeBSD – most interesting to ‘waste’ my time on it – both personally and professionally. I also ‘track’ what is happening in other systems like Linux for example. I run FreeBSD on desktop/servers since about 2005 when I moved from Linux which did not satisfied my ‘computing’ needs. I liked FreeBSD very much so after reading documentation and many howto articles and blogs I decided to ‘give back’ something to the community, at least that I could do. I started with short simple HOWTO’s on BSDForums.org (now unfortunately dead), then at
DaemonForums.org (still active), and later at the official
FreeBSD Forums boards. Sometimes I wrote an article in the BSD Magazine. As I used FreeBSD I saw various areas where my shell scripting skills could be useful so I first started to work on
beadm tool in 2012 (to create/manage ZFS Boot Environments) and then on
automount in 2013 (to automatically mount removable devices on FreeBSD). I still develop/manage these tools today. Then in 2018 finally created
my blog with various UNIX related topics but FreeBSD related ones dominate there – especially the FreeBSD Desktop series I think.
You wrote on “runbsd.info” that “I always come to the conclusion that FreeBSD is the system that sucks least”. Can you tell us your FreeBSD history?
Yes, Roman Zolotarev asked me if I could write an entry for his ‘Tell Your BSD Story’ page, so I did along with reposting it on my blog as ‘My FreeBSD Story’ –
available here. I will try not to repeat myself 🙂 After moving from Windows to Linux I was not really satisfied what I found there first trying Slackware (with KDE3) and then Gentoo (with Fluxbox). It was very weird experience (and pleasant) feeleing to create everything in GUI from scratch with Fluxbox. The more I digged into Gentoo the more I read that lots/most of Gentoo features are based on FreeBSD solutions. So I started to gather information about FreeBSD and somewhere in 2005 I installed FreeBSD 5.4 on my computer. The beginnings were hard, like the earlier step with Gentoo but similarly like Gentoo the FreeBSD project came with a lot of great documentation and community. In 2007/2008 I also used Ubuntu for quite long (more then half a year) period of time instead of FreeBSD but that also led me far more away from Linux after (but not only) Pulseaudio experiences. Today I professionally build various solutions on FreeBSD and I also run FreeBSD on my laptops (as I do not longer own a typical ‘desktop’ computer). Currently after all that time Linux distributions even with builtin ZFS still does not offer such basic features as ZFS Boot Environments so I will definitely stick to FreeBSD for next couple of years.
What are the main advantages of using FreeBSD?
Its simple and yet very powerful modern UNIX system. I would even dare to say that its the last UNIX system that is modern and is relevant when compared to Linux. As much as I like various Solaris/Illumos solutions or AIX features their days I am afraid are more or less numbered. FreeBSD has a lot very unique features. For example its own OSS sound drivers with low latency in kernel mixing of 256 channels. It has lots of storage features such as GEOM framework which I also described in the FreeBSD Enterprise Storage presentation – https://is.gd/bsdstg – available here. Most of FreeBSD configuration can be done by 3 files which are /etc/rc.conf for services, /etc/sysctl.conf for runtime parameters and /boot/loader.conf for boot only options. The pkg(8) and the FreeBSD Ports system ‘tandem’ has great possibilities for third party software selection which means that if some packages does not have needed option enabled/compiled you can just rebuild it from FreeBSD Ports and you have package with this feature enabled with dependencies covered automatically. Thanks to beadm(8) – and later its rewrite in C – the bectl(8) tool – FreeBSD offers ZFS Boot Environments which allows you to have bulletproof upgrades and changes to running system. No other system besides Illumos/Solaris does offer that out of the box. There are also nice ‘small’ features likt [CTRL-T] status in commands or ‘gstat -p’ and ‘top -m io’ commands that make UNIX admin life easier. I also love the FreeBSD base system separation from installed packages. It gives you freedom of running old unsupported FreeBSD 9.x and latest Firefox browser at the same time. I also value FreeBSD Jails containers (earlier named OS level virtualization) which is very convenient to use. FreeBSD is really complete OS solution that needs several Linux distributions to cover all its features IMHO.
What is(are) your hardware and which operating system(s) you keep installed?
When it comes to hardware I am huge fan(atic) of classic ThinkPads with 7-row keyboards. I mainly use FreeBSD on ThinkPad W520 as my ‘desktop’ system and also sometimes switch to X220 or T420s models. Every time I get to use a laptop with ‘modern’ island type keyboard I feel like I have two left crippled hands. My other hardware are Mini ITX motherboard low power based systems, mostly for storage purposes. I described them in detail in the ‘Silent Fanless FreeBSD Server’ articles on my blog. If I would need a gaming rig in the future it would also be based on a Mini ITX motherboard. Building typical ‘tower’ PC is a huge waste of space. I run FreeBSD on all these laptops and ‘servers’ but I keep one small Linux system for my TV entertainment system. I have Odroid C2 system with LibreELEC Linux distribution just to run KODI on my TV … but I am very not satisfied with it as it needs reboot almost two times a day. I should migrate it to CoreELEC or something different but digging more into this topic now (and wasting time) makes me just type reboot(8) again and still use LibreELEC for the moment. I previously used KODI on one of these Mini ITX boxes that run FreeBSD but after migrating from 35W Intel Celeron G1610T on FCLGA1155 socket to 6W Intel Celeron N3150 motherboard FreeBSD was not able to show anything on HDMI output – thus it forced the migration to other solution (Odroid C2 with LibreELEC). I keep a spare VM with Windows 7 if it will be needed but I do not remember the last time I used it.
You have a series called “FreeBSD Desktop” on your blog, which is superb by the way. What do you think about the way FreeBSD deals with the desktop? Do you think they should also concentrate on improving the desktop user experience?
Thank you. I think it really depends what are your needs and what is your definition of so called desktop. If you would like to use Skype or Teams for teleconferences, play latest ‘AAA’ video games, you are used to listen Spotify over Bluetooth speaker or watch Netflix then FreeBSD is horrible on the desktop because most of these things will not work. On Linux some of these tasks would be easier to achieve but still harder then on Windows or macOS. On the other side if you just need to browse the Internet with Firefox/Chrome, do typical tasks in LibreOffice suite, draw with GIMP/Inkscape or render with Blender, watch YouTube/Vimeo or local audio/video files, play older Windows games using WINE or import and develop your family photos from your camera then FreeBSD is more then enough. There are people who still use AMIGA or Apple II computers for daily tasks and they work very well and predictable for them. On the contrary Linux gets all the new features related to desktop a lot faster, think Nvidia Optimus support, graphics drivers. For example AMD Energy Driver just landed in Linux kernel but it would take some time for it to get to FreeBSD. In the ‘ancient’ past I also used various Windows systems for many years and Mac OS X on Macbook for more then a year. While they offer a lot out of the box you really need to ‘fit’ in these defaults to feel at home. It always bothered me that I need to make things the operating system wants me to do instead of my own way, and customizing a lot of these things cost money as often these tools for Windows or macOS are mostly more or less paid. For example on FreeBSD I have CAPS LOCK key disabled because I do not use it and I often enabled it incidentally. On Windows it would require some third party Freeware or Shareware at least. On the brighter side FreeBSD is very simple, stable and predictable system. Solutions and commands are improved and not rewritten entirely every few years like in Linux. FreeBSD project and FreeBSD Foundation already does a lot to improve its desktop experience. For example FreeBSD Foundation has chosen Lenovo ThinkPad X1 Carbon 7th Generation to evaluate existing state of its hardware support and implement missing hardware support where possible. There are ongoing works in the WiFi 802.11ac field in which FreeBSD currently lacks to other operating systems. The FreeBSD FUSE implementation recently has been updated and reworked. GhostBSD and NomadBSD distributions offer nice out of the box FreeBSD experience. FreeBSD is now closer then ever when it comes to desktop experience when compared to Linux.
When did you start contributing for open source projects?
I really needed to Google that out 🙂 Seems that I started by posting my themes first for Fluxbox and later for Openbox window managers somewhere in 2006 and 2007. My first HOWTO that I was able to track dates to 2008 and it was about CCACHE on FreeBSD. The ‘biggest’ contributions came later when I wrote first version of beadm(8) in 2012 and first version of automount(8) in 2013. I also made many HOWTOs till today and also filled tons of BUG reports for FreeBSD system. My latest lsblk(1) tool tries to implement listing disks on FreeBSD the way the lsblk(8) on Linux works. Its of course a lot simpler then the Linux version but the basic feature is there. In the meantime I also developed and shared tons of handy shell scripts for many occasions.
On your blog you say you are a sysadmin. What do you do for a living?
As its said on the blog, exactly that. I started as sysadmin on local Internet network provider where I worked mostly with Debian Linux systems and also backups. Later moved to energy related company and continued to work as sysadmin, got to know the enterprise solutions like highly available storage arrays or storage virtualizers like IBM SVC. I also got to know enterprise class UNIX systems such as Solaris, HP-UX or AIX. One of my main responsibilities was also taking care about the backup system – the IBM TSM at the time. As years passed I moved slightly up the ladder and now I am architect that works on larger scope and broad spectrum. I was also able implement various solutions on FreeBSD when it was better suited for the task then Linux or Windows – for example as cheap storage platform with ZFS.
What was the work project that made you most proud (as a sysadmin)?
Its probably the cheap high density storage that I was able to implement on TYAN FA100 servers. It uses FreeBSD with ZFS to provide large amount of cheap storage and serve it as iSCSI and/or NFS/SAMBA network filesystems. You can read more about it on
my blog – to not waste space here. I also really liked distributed storage using Minio on FreeBSD for S3 protocol based storage. The Nextcloud instances based on ‘my’ FreeBSD setup also serve well – this is one of the examples where FreeBSD Ports infrastructure really shines. You can pick any version of PHP, PostgreSQL, Nextcloud and Redis, type ‘make install clean’ and everything needed along with dependencies get automatically fetched, compiled and installed as packages … and when needed you type ‘postmaster -a’ to update it all. Besides the NetBSD’s pkgsrc and FreeBSD’s influenced Gentoo Portage I do not know anything similar in the Linux world. And if you are ‘tied’ to typical enterprise distributions like Red Hat Linux the packages in their repositories gets old really quickly. Maybe not work related but I also like the ‘final’ effect/state of the FreeBSD desktop I created by assembling all these tools and configs. It really saves me a lot of time and effort now.
Do you have a new open source project in mind?
I have lots of ideas in my mind, many are FreeBSD related. I once came to a scientific research that concluded that if you say a lot about something you plan to do then the more you talk about it the less the chance that you would actually do it, so I will keep these ideas to myself to make sure I will do at least some of them in the future.
What other leisure activities do you enjoy doing?
Lots of things actually. I really like playing volleyball and I play it 2-3 times a week 2 hours each ‘session’. I also started running about a year ago at short distances (5-12 kilometers) but I am not interested in half or full marathons. I really like ‘action’ activities like racing gokarts or ‘fighting’ in laser games arenas but I rarelly have time (and companions) to play them often. Probably because I really liked Counter-Strike 1.5/1.6 and rally/racing games in the past 🙂 I still occasionally play games that work on FreeBSD using wine(1) or other type of ‘translation layer’ like AMIGA games using fs-uea(1) or DOS games using dosbox(1). These games are for example all of the classic Black Isle games like Fallout 1 and 2 or Baldur’s Gate and Planescape Torment games. From the ‘action’ type I sometimes beat my records in old school Colin McRae Rally 2.0 game. I also really loved Sensible Software games like Sensible World of Soccer or Cannon Fodder. I really do enjoy valuable (I really overuse that word) movies and serials. For example Mr. Robot and Vikings were great. I also liked Expanse, Chernobyl and Black Mirror a lot. There are so many great movies that I would not even start to name them here 🙂 I also really like metal music, from classic heavy metal Iron Maiden or Judas Priest thru something harder like In Flames to for example Polish black metal bands like Mgla or Furia. Last but not least I also enjoy books. Especially the ones that explain a topic in very detail, in a way that it can affect me to actually change something in my life or to act differently. What to do in your life to make that life better, healthier in all possible aspects. For example book ‘How We Sleep’ by Mathew Walker changed a lot the way I looked on sleeping. From the person that used to say ‘I will sleep in the grave …’ I now value sleep very much and very rarely sleep less then 7-8 hours of uninterrupted sleep, often resigning from more ‘active’ leisure activities just to sleep well. I also like ‘less-typical’ books like for example ‘Subtle Art of Not Giving a Fuck’ by Mark Manson.