Want to Succeed? You Need Project-Based Learning

If you’re trying to learn System Administration, Software Development, or any other complex technical skill, you’re probably going about it in the wrong way: lots of theory study, and very little practical work. In this article, I’ll show you the right way: a faster and more effective way to learn, backed by the latest scientific research on learning.

This is just how most Linux and programming courses are structured. After all, there’s a huge theoretical foundation that you need before you can become an effective professional in those highly technical fields. Why not start with lots of theory right away, to get it out of the way and enable students to understand the concepts which are built on top of those theoretical foundations? Wrong.

Read more

Want to keep your Eyes healthy? Use Redshift

If you’re spending a lot of time looking at a screen, you’ll probably want to turn down the blues, to give your eyes a chance: http://jonls.dk/redshift/.

To install, just use your operating system’s package manager (apt, pkg, pacman, etc.) to install redshift. On Ubuntu and Debian, this would be:

apt-get install redshift

Try a few of the following commands, and see which you like better (just run these in a terminal, and kill one before trying the other. It’ll take a few seconds to actually shift the colors on your screen; be patient):

Read more

The Best Introduction to ZFS…ever?

If you care about your data, you should care about filesystems (the operating system/software abstraction over your storage hardware). If you care about filesystems, you will end up at ZFS: the Zettabyte FileSystem.

It’s basically an incredible piece of technology that can do just about anything that you might need from a storage system: instant snapshots, cloning, “live streaming” of filesystem changes over SSH, bitrot/corruption prevention and fixing (with checksumming), plus all the mirroring and parity features you’d expect from RAID. And so, so, so, soooooooo much more.

Here’s the best way to get started: watch these two videos, in order, and then go play with a FreeBSD system:

Read more

New tutorialinux guide: Getting Started with Linux Containers (LXC)

A while back, I did a YouTube series on Linux Containers (LXC). If you are (or want to be) a sysadmin or software developer, you need to know about Linux Containers, and understand how to use them. I’ve just written a ~45-page guide to getting started with this useful skill — check it out here! For those of you that want more details (or a link to the original playlist), read on:

Read more

Today I Learned: Migrating from sqlite to Postgres is easy with Sequel

I spent some time migrating an application from sqlite3 to Postgres today, and wanted to write down a few notes for next time. Here they are!

Read more

Today I Learned: ZFS send/receive is Like rsync, but Developed by a Much More Evolved Species

If you use ZFS, you already know that it completely knocks the socks off of other filesystems. It prevents and corrects data corruption, gives you incredible flexibility, and basically gives you everything you could ever want from a filesystem. If you use OpenZFS on several systems already, you probably know about the ‘send’ and ‘receive’ commands to do incremental transfer of snapshots between systems.

Here’s a great video on ZFS send and receive, which goes much deeper than most videos into how send and receive are implemented, along with some clever ideas for use cases where send/receive can really save you a lot of time and pain.

Because being able to mimic $50,000 enterprise filesystem replication on your home NAS or your little ‘friends-and-family’ WordPress hosting server is pretty effing cool.

Read more

Sysadmin Links, February (jk March) 2016

It’s been a really long time since the last batch of sysadmin links, so it’s time to get started again. Lots of great stuff to share from the last few months.


HTTP Strict Transport Security

I’m excited for this post, because I get to introduce one of my best friends (and favorite coworkers) to the tutorialinux horde. I’ve been working with Christian in some form or another for several years now. We met while working at a startup in 2012, where he is the lead developer, and have worked on several projects since then. Although right now he gets paid mostly for programming work, he’s a longtime sysadmin and has been a huge influence on my growing taste for using FreeBSD systems in production.

You know those people who seem to have started in IT when they were still in diapers? That’s Christian. It’s my pleasure to welcome him as a contributor to tutorialinux. He’s got some fantastic stuff to share, and a huge amount of real-world experience to back up everything he teaches.

Lately, Christian and I have become a bit obsessed with encryption and HTTPS (going to far as to write a mini e-book about it, teaching people to set up TLS on their websites). Can you blame us? With the recent Internet security scares and the enormous push for TLS by organizations like Firefox, Tor, Google, Let’s Encrypt, and others, it’s definitely at the forefront of many system administrators’ and developers’ minds.

In these conversations about website security and HTTPS, you’ll often hear people talk about HTTP Strict Transport Security (HSTS for short). But what exactly is HTTP Strict Transport Security? How does it work? And how can you set it up in a few simple steps?

You’re about to find out.

Read more

32c3 Video: Analysis of Red Star, the North Korean OS

Did you know that Kim Jong Un, the glorious, fearless, and immaculately rotund leader of North Korea, loves Mac OS X (and possibly Madonna)? If not, you’ll want to check out this video about Red Star OS, the operating system which the North Korean government has put together for their citizens.

Read more

Protecting Your Website With HTTPS (SSL/TLS)

I’ve just released the first tutorialinux ebook. For those of you who want a sneak-peek, this post is basically a command-line-instructions only version of the practical content from the e-book. These instructions will get you a working configuration for serving HTTPS traffic to your website visitors.

Disclaimer: This post leaves out most of the background, theory, explanations, security and performance tuning, and additional considerations like backups, security, etc. All of this extra content is found in the e-book. If you want to support tutorialinux, buying the e-book is a great way to ensure that there’s a constant stream of new content coming out on YouTube and this website.

Okay, that being said, let’s get started!

If you’re a sysadmin, chances are that you feel strongly about the adoption of widespread encryption. Advertising companies, governments, and criminals are trying to track and record every move you and your website visitors make, every interest you show, and every thought you hint at. People are finally beginning to fight back by encrypting web traffic, even for pages that don’t absolutely require it, such as login or payment pages.

In this post, I’ll show you how.

Read more