NanoDano's blog

Creating Systemd Service Files

systemd is used in many mainstream Linux distributions like Arch Linux, CentOS, Debian/Ubuntu, RedHat/Fedora, openSuse, Slackware, CoreOS and more. It provides an easy way to manage and control services and a simple method of creating your own services. This will cover the process of creating and managing your own custom service.

You should copy your .service file to /etc/systemd/system. Do not symlink it. One, you can't run systemctl enable because you it will not follow a symlink. Two, it potentially opens up a security risk (e.g. a shell). For example, you run your service as a low privilege user but you are symlinking the .service file. Someone finds a flaw in your service where they are able to overwrite or modify files. They can turn that in to code execution by modifying the .service file that your low privilege user has access to and changing the command that is run (ExecStart). When the service is restarted the attackers command is run. This is also why you should not run the service as root.

Note that you can also put the files in /usr/lib/systemd/system/ but that should be reserved for system level packages. Anything in /etc/systemd/system will override it and that is where user changes should go.

How to Make Your Programming Resume Stand Out

As someone who has interviewed programmers and seen many resumes, I can share what I think makes people stand out from the crowd of resumes. I want to emphasize these are not requirements, only things that would grab my attention that most applicants did not have. This is based on my personal experiences. If you had just one of these things you stood out a little bit. If you had all of the you stood out a lot. Some of them may sound like common sense and be obvious, but even so, most people do not have or do these things.