The Investigatory Powers Bill

What Is It? The Investigatory Powers Bill is a UK bill that will: Place a new legal obligation on companies to assist in these operations to bypass encryption. [4] force internet companies to store their users' browsing data for a year.[1]. This information will be available for access by…

Read this article

Slim3 - Use Middleware to Check User Is Logged In

One of the most common tasks I have to perform in developing web applications is check that the user is logged in and redirect them to the login page if they are not. Also, there are certain routes, such as /login, and /register that should not incur a redirect because…

Read this article

Firefox 50 - Tab Cycling

I prefer the ctrl-tab keyboard shortcut to cycle through the most recently used tabs in order of history, rather than to just cycle right/left through the list like chrome does. This makes the browser act more like most other applications such as Sublime, Notepad++, and Netbeans. In the past,…

Read this article

Using the CLI to Set Custom Keyboard Shortcuts

Manually configuring your keyboard shortcuts through the GUI is easy enough, but its tedious for those who have a lot of shortcuts and change computers frequently. As with all things Linux, there is a way to do it through the CLI, and thus can be executed as a script. Below…

Read this article

Ubuntu 16.04 - Install LibreOffice 5.2.x

To install a much more recent version of LibreOffice on Ubuntu 16.04 simply execute the command below: curl -s https://scripts.programster.org/scripts/22?output=raw | bash ... or copy, paste, and execute the following script manually. sudo add-apt-repository ppa:libreoffice/ppa && sudo apt update sudo apt remove libreoffice-gtk…

Read this article

Debian 8 - Setting up PHP For Aerospike

This tutorial will show you what you need to need to do in order to start interfacing with an Aerospike database with PHP scripts. If you haven't done so already, install PHP and composer. sudo apt-get install php5-cli # Install composer curl -s https://scripts.programster.org/scripts/21?output=raw…

Read this article

Debian 8 - Install Aerospike

Aerospike is yet another NoSQL key-value store which offers a "community edition" available under the GNU Affero General Public License version 3 (AGPLv3). Its key selling point is its high performance on an architechture that it is optimized for flash storage (e.g. your SSD or NVME drive) and can…

Read this article

MySQL - History Tables

Keeping a history of your data can be immensely useful, such as for reverting silly mistakes, or for auditing purposes. This tutorial will show you a really simple way to achieve this in a generic manner that can be applied to any table. You will be able to see what…

Read this article

Ansible - Run A Local Script On Remote Server

Let's imagine you have a script to set up your servers from scratch. In this case, let's call it setup.sh and for now, it will just be a BASH script that updates a debian/ubuntu server and installs git. This will work with any type of script, it doesn't…

Read this article

The Ansible Hosts File

The hosts file categorizes servers into groups for our playbooks. For example, it may be useful to create a group for all of the apt based servers (ubuntu/debian etc), called apt-servers for a playbook that wishes to update apt-based servers. A server can belong to any number of groups…

Read this article