Vim File Type Configuration

Vim has been my primary text editor for more than 15 years, but even though I use it on a daily basis, my configuration hasn’t changed much over time. When I set up a new workstation, I stumbled upon the filetype plugin that I wasn’t aware of. Using this plugin, you can import different vim configuration files depending on the type of the file you’re editing.

Continue reading

Posted in productivity | Tagged , | Leave a comment

Keeping Your Server Secure With Unattended Upgrades

When operating servers, you’re responsible for keeping them up to date with the latest security fixes. Ubuntu comes with a mechanism that installs updates automatically so you don’t have to worry about it. Obviously, this is meant for personal servers operated by hobbyists where convenience is more important than availability. In a professional environment, you would test new packages first because seemingly innocent changes may break complex applications.

Continue reading

Posted in linux | Tagged , , , | 2 Comments

Living in the Future with IPv6

It’s not quite flying cars, but since yesterday I’m living in the future. IPv6 has arrived at my home network after I switched to a new VDSL contract. I had to activate it manually in my FritzBox home router though, but as far as I can tell, things are working fine. Now I’m able to use Google services and read Heise Online via IPv6!

Continue reading

Posted in linux | Tagged , , | Leave a comment

Installing Oracle’s JDK on Debian/Ubuntu

Due to licensing issues, Linux distributions don’t ship Oracle Java packages anymore. In many cases, that doesn’t matter since you can just use OpenJDK. But if you do need Oracle’s JDK, Debian packages are a bit more convenient than handling tarballs because they integrate nicely with the rest of the system. Fortunately, there’s a simple way of creating a Debian package from the official JDK using the java-package tool.

Continue reading

Posted in java | Tagged , , | Leave a comment

Managing Docker Container Updates

When running a Debian/Ubuntu-based server, it’s relatively easy to figure out whether updates need to be installed. Tools based on apt work very well in this regard and even offer advanced features like unattended updates. Not so with services running in Docker containers.

Continue reading

Posted in linux | Tagged , , | Leave a comment

Converting Images to ASCII Art

I’ve been playing with Docker a lot lately. Docker is a tool for creating lightweight virtual environments based on Linux containers. They are extremely useful for running services, but you can also use them for running one-off tasks that you don’t want to run on the host system directly. Since a container shares the host machine’s kernel, startup is instantaneous and there’s no extra memory footprint. Think of Linux containers as generalized chroot environments or as extremely lightweight virtual machines.

Continue reading

Posted in linux | Tagged , , | Leave a comment

Maven: Discovering Dependency Conflicts

Among other things, Maven’s dependency plugin displays the result of Maven’s dependency resolution mechanism. The output of the dependency:tree goal makes it easy to see where transitive dependencies come from. This week I discovered that recent versions of the plugin also support a verbose flag that lists conflicts and shows how Maven resolved them.

Continue reading

Posted in java | Tagged , , | Leave a comment