Articles (occasional rants) and tutorials about open source, BSD and GNU/Linux system administration, and programming - the pragmatic way.
- Upgrading to FreeBSD 14 - how to fix a broken BIOS bootcode
Published on 2023-11-22 | Modified on 2023-11-27
- Are Passkeys really the beginning of the end of passwords? I certainly hope not!
Published on 2023-11-09
- The proper design process in web development
Published on 2023-11-04 | Modified on 2023-11-09
- The main differences between OpenBSD, FreeBSD, NetBSD and DragonFly BSD
Published on 2023-10-30
- We have used too many levels of abstractions and now the future looks bleak
Published on 2023-10-21 | Modified on 2023-11-06
- Bethesda's Starfield is a disgrace to game development and a slap in the face to gamers
Published on 2023-09-12 | Modified on 2023-10-19
- Tips on how to structure your home directory
Published on 2023-09-04 | Modified on 2023-09-07
- One of the most basic requirements for success is also one of the most difficult to get right
Published on 2023-05-25
- Two simple ways to version control your MariaDB schema changes
Published on 2023-01-21 | Modified on 2023-01-22
- When you use open source software you are not entitled to anything!
Published on 2022-11-10
- The heavy responsibility of the package maintainer
Published on 2022-11-05
- Is criticizing tech on political grounds valid?
Published on 2022-11-02
- Will the ranting on this website ever stop?
Published on 2022-10-31
- My choice of operating system
Published on 2022-10-26 | Modified on 2023-10-25
- Understanding Unix filesystem timestamps
Published on 2022-10-25
- Void Linux root on an encrypted ZFS mirror with syslinux MBR and ZFSBootMenu
Published on 2022-10-23 | Modified on 2022-10-25
- How to replace a failed hard drive in a GELI encrypted ZFS root mirror installation on FreeBSD
Published on 2022-10-18
- Drive failure and IO errors? ZFS to the rescue!
Published on 2022-09-29
- Poor mans mind mapping tool with just the terminal
Published on 2022-09-15 | Modified on 2022-09-15
- Why you should avoid the news media and what to do instead
Published on 2022-08-24
- Do you feel overwhelmed trying to stay up to date with the latest tech news?
Published on 2022-08-24 | Modified on 2023-10-21
- "Zero trust" is being hijacked by the big corporate hype machine
Published on 2022-08-12
- No, you cannot trust third party code without reading it first
Published on 2022-08-11 | Modified on 2022-11-03
- The flaws of distro hopping and asking other people about their OS of choice
Published on 2022-04-11 | Modified on 2022-11-05
- Don't use Reddit for Linux or BSD related questions
Published on 2022-04-08 | Modified on 2022-04-08
- Linux distributions long term support might not be what you think it is
Published on 2022-04-01
- The delusions of Debian
Published on 2022-03-30 | Modified on 2023-10-24
- How security is handled by package maintainers
Published on 2022-03-29 | Modified on 2023-10-24
- Questions about which operating system is more secure or the fastest make no sense
Published on 2022-03-18
- Advice to business owners and managers, don't use the modern way of web development
Published on 2022-01-13 | Modified on 2023-10-19
- Is the madness ever going to end?
Published on 2022-01-11 | Modified on 2022-01-23
- My 70 year old mother has been using Linux on the desktop for the past 21 years
Published on 2022-01-07 | Modified on 2023-10-25
- No, your website is not a web app even if you call it so
Published on 2021-12-29
- So-called modern web developers are the culprits
Published on 2021-12-17 | Modified on 2023-10-27
- Using a framework can make you stupid!
Published on 2021-11-13
- How to write software that will keep working for decades without problems
Published on 2021-11-08
- There is no such thing as privacy on the Internet
Published on 2021-09-08 | Modified on 2023-10-29
- Use the right tool for the job
Published on 2021-09-05 | Modified on 2021-09-07
- A simple Git workflow - using main as the development branch
Published on 2021-09-02
- Having a solid backup strategy and why you should not rely on fancy tools for backup
Published on 2021-07-27 | Modified on 2023-10-24
- How to do encrypted incremental backups and snapshots with GNU Tar and GnuPG
Published on 2021-07-24 | Modified on 2021-07-29
- Using GitHub Copilot will turn you into a bad programmer
Published on 2021-07-21 | Modified on 2021-07-23
- How to stay sane in today's world of tech
Published on 2021-07-07 | Modified on 2023-10-24
- Stop submitting to social conformity and use your brain instead
Published on 2021-04-28 | Modified on 2023-10-27
- Are you a TLS master?
Published on 2021-04-21 | Modified on 2021-04-21
- SQLite the only database you will ever need in most cases
Published on 2021-04-14 | Modified on 2023-02-16
- Don't be afraid to code it yourself
Published on 2021-04-02
- Straight forward problem solving mentality
Published on 2021-04-01
- Stop being frantic about code testing
Published on 2021-03-31 | Modified on 2021-04-01
- How do I know if I really need object-oriented programming?
Published on 2021-03-30
- Procedural programming in PHP
Published on 2021-03-30 | Modified on 2023-11-03
- How to test procedural functions with PHPUnit
Published on 2021-03-30 | Modified on 2021-03-31
- No more object-oriented programming with PHP
Published on 2021-03-27
- JavaScript malware infested nightmare
Published on 2021-03-01 | Modified on 2021-03-02
- Code has to be simplified until it becomes absolutely correct
Published on 2021-02-16
- This is how you keep your dignity and not sell your soul
Published on 2021-02-11
- Are you trusting open source blindly? Then you're in for a world of hurt!
Published on 2021-02-10 | Modified on 2023-10-19
- Real full disk encryption using GRUB on Artix Linux for BIOS and UEFI
Published on 2021-02-10 | Modified on 2022-07-18
- Some of the problems with the GPL
Published on 2021-02-02 | Modified on 2023-10-28
- The terminal, the console and the shell - what are they?
Published on 2021-01-13 | Modified on 2023-10-29
- The Social Dilemma
Published on 2020-11-08 | Modified on 2023-10-28
- OpenBSD Router Guide
Published on 2020-11-05
- Important open source projects should not use GitHub
Published on 2020-10-23 | Modified on 2022-09-01
- Choose your browser carefully
Published on 2020-10-20 | Modified on 2023-10-19
- Come full circle - back to HTML
Published on 2020-10-18 | Modified on 2023-10-20
- Technical reasons to choose FreeBSD over GNU/Linux
Published on 2020-04-11 | Modified on 2023-10-27
- Vim - I hate to love you
Published on 2020-04-07 | Modified on 2023-10-29
- Turning suckless into suckmore
Published on 2020-03-23 | Modified on 2020-03-25
- How you can manage the i3 window manager on multiple computers
Published on 2020-03-21
- Migrating ZFS from Linux to FreeBSD
Published on 2020-02-11
- Some of the great GNU/Linux distributions
Published on 2020-02-09 | Modified on 2022-11-01
- Choosing between OpenBSD and FreeBSD
Published on 2020-02-07 | Modified on 2023-10-20
- How to setup FreeBSD with a riced desktop - part 3 - i3
Published on 2020-01-24 | Modified on 2022-04-14
- How to setup FreeBSD with a riced desktop - part 2 - Xfce
Published on 2020-01-23 | Modified on 2022-04-14
- How to setup FreeBSD with a riced desktop - part 1 - Basic setup
Published on 2020-01-22 | Modified on 2022-04-14
- Why you should migrate everything from Linux to BSD - part 2
Published on 2020-01-21 | Modified on 2023-10-30
- FreeBSD is an amazing operating system
Published on 2020-01-20 | Modified on 2023-10-23
- Why you should migrate everything from Linux to BSD
Published on 2020-01-18 | Modified on 2023-10-30
- Job interviews in tech gone haywire
Published on 2019-12-25 | Modified on 2020-04-13
- When the modern approach is nothing but hype
Published on 2019-11-07 | Modified on 2019-12-22
- My favorite note-taking method
Published on 2019-11-03
- Go (Golang) - understanding the object oriented features with structs, methods, and interfaces
Published on 2019-11-02 | Modified on 2023-11-03
- Go (Golang) - Errors and panics
Published on 2019-07-16 | Modified on 2019-07-17
- Go (Golang) - Logging that matters
Published on 2019-07-14
- Stop pushing JavaScript!
Published on 2019-07-02 | Modified on 2019-09-19
- When abstractions, design patterns, and design principles lead to spaghetti code
Published on 2019-05-26
- Battle testing ZFS, Btrfs and mdadm+dm-integrity
Published on 2019-05-05 | Modified on 2020-01-23
- Installing Arch Linux with ZFS on a USB stick
Published on 2019-03-28 | Modified on 2022-10-23
- Remuxing ISO, DVD, or Bluray using cat and ffmpeg on Linux
Published on 2018-12-05
- Reviving Cubox with Arch Linux ARM
Published on 2018-11-11
- The real motivation behind systemd
Published on 2018-05-01 | Modified on 2023-10-28
- Void Linux - a great and unique Linux distribution
Published on 2018-03-30 | Modified on 2023-10-30
- Real full disk encryption using GRUB on Void Linux for BIOS
Published on 2018-03-30 | Modified on 2022-07-18
- Package management in OpenBSD
Published on 2018-03-29 | Modified on 2021-01-15
- OpenBSD is fantastic
Published on 2018-03-13 | Modified on 2023-10-26
- Arch Linux mail server tutorial - part 3 - Get DNS right, it's important!
Published on 2017-12-29 | Modified on 2021-07-20
- Arch Linux mail server tutorial - part 2 - OpenSMTPD, Dovecot, DKIMproxy, and Let's Encrypt
Published on 2017-12-28 | Modified on 2021-08-11
- Arch Linux mail server tutorial - part 1 - What is email?
Published on 2017-12-27 | Modified on 2021-07-19
- Stay away from Cloudflare
Published on 2017-12-20
- Make the current commit the initial commit in a Git repository
Published on 2017-12-10 | Modified on 2018-11-12
- The typical discussions about BSD vs Linux
Published on 2017-10-15
- Real full disk encryption using GRUB on Debian GNU/Linux for BIOS
Published on 2017-06-23 | Modified on 2021-08-30
- Real full disk encryption using GRUB on Arch Linux for BIOS and UEFI
Published on 2017-05-30 | Modified on 2022-07-18
- How to split your DNS requests when using a VPN
Published on 2016-11-14 | Modified on 2019-04-02
- Programming languages and programming paradigms
Published on 2016-01-02 | Modified on 2021-01-26
- Bummer PHP
Published on 2015-12-20 | Modified on 2023-10-19
- Composer and Packagist - a bad implementation!
Published on 2015-12-10 | Modified on 2016-08-07
- To framework or not to framework?
Published on 2015-11-10
- No your API isn't REST, but don't worry, it really shouldn't be!
Published on 2015-11-01 | Modified on 2023-10-25
- Design Patterns Can Be Very Evil
Published on 2015-03-15
- Procedural Programming vs Object-Oriented Programming
Published on 2015-02-28 | Modified on 2023-10-26
- Web application with a single entry point
Published on 2015-01-01
- Keeping your home in Git, the right way
Published on 2014-12-17 | Modified on 2021-04-08
- Trying out Arch Linux again
Published on 2013-10-16
- PSR-0 is not a solution it is a bypass!
Published on 2013-04-23
- Most PHP Frameworks are not for programmers
Published on 2013-04-17
- When template engines for PHP get in the way
Published on 2013-03-26
- Be careful when using docking stations
Published on 2013-02-04
- An alternative way to play YouTube videos without using Flash
Published on 2012-12-15 | Modified on 2016-07-26
- How to Create a New and Empty Branch in Git
Published on 2012-01-18
- How to set your hostname and domain name correctly
Published on 2012-01-18
- GnuPG Tutorial
Published on 2012-01-18 | Modified on 2018-09-27
- Enforce strong passwords in Debian
Published on 2011-03-17
- Unloading of modules at boot time in Debian
Published on 2011-02-12
- Benchmark 4 - Notes About Caching and Benchmarking
Published on 2010-12-17
- Benchmark 3 - The Alternative PHP Cache (APC)
Published on 2010-12-16
- Benchmark 2 - MySQL Cache
Published on 2010-12-15
- Benchmark 1 - Dynamic pages vs. static pages vs. Memcached
Published on 2010-12-14
- Social networking is a poor substitute to real human interaction
Published on 2010-11-18 | Modified on 2023-10-27
- The Book "Pro PHP Refactoring"
Published on 2010-11-05
- Code comments are good right? Well, not if there are too many!
Published on 2010-10-21
- Code Navigation, Design Patterns, and Too Many Functions
Published on 2010-10-12
- Git bare vs. non-bare repositories
Published on 2010-10-09
- What does GRUB see?
Published on 2010-09-07
- Windows XP nv4_disp infinite loop problem
Published on 2010-01-19
- For Debian - what package does that file belong to?
Published on 2010-01-12
- umount - device is busy
Published on 2010-01-12
- Simple CHM to PDF conversion on Linux and BSD
Published on 2010-01-07 | Modified on 2023-09-03
- Resume SFTP transfer with rsync
Published on 2009-12-15
- Passwords from the attackers point of view
Published on 2009-10-21 | Modified on 2023-10-26
- Localized version in the console? No thanks!
Published on 2009-10-20
- How to convert a man page into PS, PDF or DVI
Published on 2009-10-15
- Mercurial branching, main and stable, a possible workflow
Published on 2009-10-14
- PHP include path problems
Published on 2009-09-15
- Why I do not like derived Linux distributions
Published on 2009-08-13
- Mount an OpenBSD slice from Linux
Published on 2009-08-04
- Finding and removing duplicate files with fdupes
Published on 2009-08-01
- Mozilla Firefox Keywords Shortcuts
Published on 2009-08-01
- Encrypting and decrypting files using GnuPG, OpenSSL or Mcrypt
Published on 2009-04-01 | Modified on 2016-07-26
- CD or DVD Boot problems on MAC
Published on 2009-03-15
- Cache your DNS requests using Bind
Published on 2009-03-15
- Remove -- MARK -- from the message log
Published on 2009-03-15
- Keeping the system time precise using NTP
Published on 2009-03-15 | Modified on 2016-07-26
- Resume SFTP transfer with PuTTY
Published on 2009-03-14
- PHP Security
Published on 2008-11-28 | Modified on 2015-04-05
- Trying out Arch Linux
Published on 2008-11-04 | Modified on 2009-08-17
- Ubuntu as in Debian?
Published on 2008-11-03
- Using EncFS to encrypt some of your files
Published on 2008-11-02 | Modified on 2016-05-23
- Choosing a new backup solution, Duplicity, rdiff-backup or Rsnapshot
Published on 2008-10-30 | Modified on 2012-02-10
- Speed down your CPU
Published on 2008-08-12
- Pointers in C
Published on 2007-12-26
- Programming in C, Cpp, and Ada
Published on 2007-12-25
- Choosing a good book on programming
Published on 2007-12-14 | Modified on 2016-04-02
- Revision control
Published on 2007-11-17 | Modified on 2010-10-10
- Wrong default encoding on the Apache webserver
Published on 2007-08-22
- Who is listening on my ports
Published on 2007-01-13 | Modified on 2020-01-25
- diff and patch
Published on 2006-05-22