So I’ve came across an issue when working on a WordPress website where the “Add New Plugins” button wouldn’t show. I also couldn’t add any themes or update WordPress.
After much digging, I found out that there are two lines which need to be set to false in order for the website to behave.
Such swift solution to an annoying problem!
If you’re having another issue, this guide might not be for you.
The Solution
Go into your wp-config.php and locate the following lines:
For those wondering why I haven’t been posting articles, I’ve been pretty busy with other things in life so I didn’t have the time to write up articles.
I’m thinking of writing up more workflow/computing related stuff and less tutorials. I feel like there are tutorials for everything (unless it is something important and worth sharing).
PowerToys is a free and open-source application developed by Microsoft which is designed to bring a set of utilities for power users who want to improve their productivity and benefit from additional features. Whether you are a home-user, a developer or want to deploy certain features for an enterprise, this suite of useful utilities will be greatly appreciated by most.
PowerToys is a revival of the “PowerToys” project that was available on Windows 95.
This program will offer something for everyone, whether you are a keyboard-oriented user or someone after productivity, this software is for you.
Useful features that I use
Fancy Zones: If you have used any tiling window manager, you wold know how beneficial they are for your workflow. PowerToys comes with a tiling feature called “FancyZones” which allows you to position windows into various layouts. You can create custom layouts, whether it is for development, monitoring windows or graphics design, I found FancyZones to be super helpful.
Reassigning Keyboard Shortcuts: Keyboard shortcuts are one of those things that are hard to let go, especially if you have used it to move and manipulate windows around. I like to maximise my windows with Start + X and close them with Start + C.
Remapping Keys: Ever wonder why the caps-lock key is hardly ever used? I tend to think it’s meant to be remapped to something else. By default, you cannot map keys on Windows but with PowerToys you can. Over the years, I have made caps lock my escape key. I find it very convenient for many situations especially if you use text editors like VIM.
Colour Picker: Sometimes I just want to pick a colour from my desktop without having to install a colour picking tool. If you’re a keyboard driven person and you do any form of graphics design, you will appreciate this feature.
It automatically copies to the clipboard, it can be activated by pressing
Start + Shift + C
Notable mentions
Image Resizer: If you want to resize images without having to open a photo editing program like GIMP, you can use this built-in utility for quickly resizing images directly from the Windows File Explorer.
PowerToys Run: For ex-Mac users or those who want a different way to launch applications. This convenient utility can be triggered with Alt + Space and then you start typing. It is open-source and the functionality can be extended with plugins.
Reminds me of the macOS “Spotlight” feature. You can also run with administrator and even do quick maths calculations.
PowerRename: This is more convenient than I thought but I hardly do bulk-renaming. However for those who have many files in a folder and would like to bulk-rename things, this is the tool for you. Once PowerToys is installed, it is associates itself with Windows Explorer so you can simply select your files and perform bulk-renaming.
Things to note
I would recommend running PowerToys as administrator, especially if you plan to use custom keyboard shortcuts as some applications won’t respond to shortcuts if you don’t. As the app is under heavy-development, there are some bugs however they are quick to fix it and often each release comes with new or improved features.
Neat little Windows 10 progress bar notification!
Get it now!
If you want to try it out, download it from GitHub (scroll down to “Assets”) or you can read more on the repository home page.
Using SSH keys to login to servers and computers is a great way to add a layer of security as well as remove the hassle of typing your password. In this article I will show you how you can create your unique and password-proteced SSH key so you can login to your server without ever needing to enter passwords. Also, this means you can disable password login on your server and that will stop hackers from trying to brute-force their way into your server.
Let’s get cracking…
Alright, if you don’t have a .ssh directory created, make it and make sure you give access to only yourself.
mkdir -p ~/.ssh
chmod 700 ~/.ssh
cd ~/.ssh
Next thing is to create a RSA key. To do this, use the ssh-keygen command.
ssh-keygen -t rsa
It will ask you to enter a file to save the key into, just press enter.
For the next part, you can create a passphrase as an added layer of protection. I’d highly recommend you do this as if someone grabs your key, they’ll need a password to use it as well. Depending on the OS you’re using (Linux, Windows, macOS) and the SSH client, the behaviour will be different.
Once done, you want to use the ssh-copy-id command to copy the public part of your SSH key to the remote server you want to connect to. Here’s an example
Replace user with the username you use to connect to the server.
Replace server.com with your server address
If you use a specific port number, make sure to append -p <port_num> before the “[email protected]” parameter.
You’ll be prompted to enter your remote server password, enter it.
That’s it! You can now connect to your server without entering passwords, all you need is a username, hostname and maybe port number. If you want to simplify things further, you can create a SSH profile and all you have to type is ssh myserver to connect.
Some things to consider
Once you have a successful connection estabilished, you should backup your private and public keys. You don’t want to lose them when distro hopping 😉
Try using a different port number than 22 on your remote servers. Especially if you have a website, pick a random 4-5 digit port number.
If you can be bothered, disable root-login and only login with another user which has superuser access. This is the desired behaviour and adds another layer of protection as the root account cannot be used for loggin into the server.
After weeks of studying for the Juniper JNCIA-Junos exam and getting familiar with the OS, I got my first network certification!
What was the exam like?
I studied using the Juniper Genius online lessons and I would recommend them as they are very detailed and easy to understand. One thing I should have done was search for more practice tests as the Juniper practice tests did not cover everything. That said, the majority of the practice questions were very similar to the one on the actual exam.
I was fortunate enough to spend time on the Juniper virtual routers at my university. If you don’t have access to the routers, I believe there are virtual images which you can use with GNS3.
To summarize what’s on the test, I would highly recommend studying the following:
Junos OS fundamentals
Software architecture
Control and forwarding planes
RE and PFE
Exception traffic
User Interfaces (CLI mostly)
CLI functionality
CLI modes
CLI navigation
CLI help
Filtering output
Active versus candidate configuration
Reverting to previous configurations
Modifying, managing, and configuration files
Viewing, comparing and loading configuration files
J-Web (core and common functionality only)
Configuration Basics
Factory-default state
Initial configuration
User accounts
Login classes
User authentication methods
Interface types and properties
Configuration groups
Additional initial configuration elements such as NTP, SNMP and syslog
Configuration archival
Logging and tracing
Rescue configuration
Operational Monitoring and Maintenance
Show commands
Monitor commands
Interface statistics and errors
Network tools such as ping, traceroute, telnet, SSH, etc.
Junos OS installation and upgrades
Powering on and shutting down Junos devices
Root password recovery
Routing Fundamentals
Traffic forwarding concepts
Routing tables
Routing versus forwarding tables
Route preference
Routing instances
Static routing
Advantages of and use cases for dynamic routing protocols
90 minutes is given to complete the exam but if you’re well prepared, you should be able to finish it fairly quickly with plenty of time to spare. There are 65 questions on the exam and I would highly recommend going through the practice and voucher tests one-last-time as well as any other questions you find online as they will be fresh in your mind.
About Pearson Online Proctoring
From what I read online, many had a poor experience with the Pearson OnVUE Online Proctoring system however for me it went well. To take the test, you need some form of ID verification like a driver’s license. I would recommend clearing your desk and putting any pens, notebooks, books out of reach.
Since the proctoring software locks down your computer, I would recommend creating a local user account separate from your personal one to do the test. You’re basically going to give a 360 degree view of your room / testing environment before the exam but apart from that, they are going to look at you. I would prefer doing it at a testing venue but due to covid lockdowns, this was my only option.
What’s next?
I’m happy with my performance on the exam however I do have to work on my firewall policies. My next goal is to look at JNCIS-Junos and Microsoft Azure.
So I run an instance of Nextcloud on my VPS and it’s been very reliable until today where I ran into error 500. This tells me there is a configuration error on the server so I went digging. Looking at the logs, there appears to be not enough space on the system according to the “quota”. After further investigation, I found out that Linux actually has the ability to set quotas which is often used by system administrators.
Checking for quota
Because I don’t need this utility, I decided to disable this and the place you want to look is inside your file system table. To view it, simply run:
cat /etc/fstab
If you see quota, usrquota or grpquota, then you have quota enabled. To see if this is indeed the issue, assuming you’re already SSH’d into the server, simply type the command:
quotaoff -v /
You may have to replace “ / “ with the directory your server is installed on. E.g. “quotaoff -v /home”. If this solves your problem and Nextcloud can be accessed again, we can proceed to disable the quota functionality.
Disabling quota
To disable, simply open the /etc/fstab file in your text editor. nano comes preinstalled on most distributions so you can use that if you are unsure. Now you need to remove any mention of “quota” from the partition. This is generally found after the file system type (e.g. ext4, btrfs, zfs)
Hope this helps. As always, be sure to read your logs before you copy-paste commands as your problem can be different to the one in this article.
Standard Notes is a simple and private note taking app that is both cross-platform and fully open source. I made the plunge to try out Standard Notes Extended and so far I’m loving it! In this article I will show you how you can integrate the Standard Notes Linux AppImage so that you can launch it in pretty much any desktop environment.
Why Standard Notes?
This isn’t a promotional blog post or anything. You may know that in an earlier post, I made a video showing how you can use Epiphany to create a Notion web app. Notion is another note taking client but after discovering their privacy policy and the access they give to their employees (i.e. direct access to notes), it’s worried me a bit. I’ve known Standard Notes for quite some time now but it was a hard to swallow their subscription plan. That said, they do have a relatively sustainable plan where you can commit from 1 or 5 years and basically get a huge discount.
Standard Notes is designed around encryption and privacy. They have done security audits and reading their blog on how they encrypt, not to mention the entire system being 100% open-source, it’s something I can trust. It gives me the peace of mind and from a productivity standpoint, it’s quite a joy to use.
My Standard Notes note-taking setup!
Running AppImages
Standard Notes comes with an AppImage which is similar to a Flatpak or Snap where the application is basically sandboxed. Sandboxing is where an application has restricted access to system services, libraries and resources. For instance, the Discord Flatpak can’t see my running tasks and can only see my Downloads directory.
When you go to Standard Notes’ website and download the Linux app, you simply download it and launch it. If it doesn’t launch the first time, you may have to right-click on the executable and allow the executing the file as a program.
Nautilus file manager, make sure “Execute: Allow executing file as program” is checked.
Depending on your distribution and desktop environment, it may actually do the integration for you. Manjaro for instance allows AppImages to be installed and you can launch it from your application menu or whatever have you. On Fedora and I’m guessing a lot of other distros (specifically ones that use GNOME), you can’t just double-click and have it automatically installed into your system.
Integrating Standard Notes
Now we come to integrating Standard Notes into our system. You want to create a file inside the ~/.local/share/applications/ directory called standard-notes.desktop. The file name doesn’t matter but to keep it consistent, we’ll use that.
You want to put the downloaded AppImage file somewhere where you won’t move it around. I keep downloaded AppImages in ~/Downloads/software . I would also recommend that you rename the AppImage to something like standard-notes.AppImage
To edit the standard-notes.desktop file, you can either use a terminal text editor or whatever you have. Simply navigate or cd into the “~/.local/share/applications” directory and create that file. Then, paste the following contents:
Once done, save it and you should be able to launch Standard Notes from your start/app menu. If you’re on GNOME, simply press super or start (what do we call it these days? 😀 ) and type the name of the app.
There it is!
That’s it, happy editing. If you have any questions, feel free to drop a comment below. Hope this helps!
Bitwig Studio is a professional digital audio workstation (DAW) that happens to be cross-platform. Although it isn’t free, for those who want to use a Linux-friendly DAW with a predictable workflow (similar to Ableton), look no further. I’m not sponsored by Bitwig, I simply enjoy recording and making music with this wonderful program.
Bitwig Studio running on my Fedora system. Recording guitar and playing with effects.
They support Linux (specifically Ubuntu / Debian based distros that use .deb packages), Windows and MacOS. I found a script on GitHub that did the job for me when installing Bitwig on Fedora however it is no longer maintained so I decided to improve it and add some things.
Installation
If you’re on Fedora Workstation, you can simply run the command below and it will download the necessary packages and install Bitwig Studio for you. If you don’t have a license, you can use the demo which gives you access to everything but you can’t export your projects.
The way this script works is it first installs any dependencies that are missing (e.g. JACK, dpkg) and then fetches the latest version of Bitwig Studio from their website. It automatically scrapes the website for the latest version and downloads that. It also create a shortcut on your system so you can launch it.
I recently got into Notion.so and I must say, it’s a blast to use! Notion for those of you who don’t know is a personal notebook / todo list / journalling thing that is really handy for people who want to take digital notes. It’s cross-platform and has markdown support however they don’t officially support Linux. While there are 3rd party clients out there that make Notion into a web app so you can use it on your computer, I wanted to do it differently and take a cleaner approach.
Epiphany! That’s the name of GNOME’s flagship web browser. It’s a simple browser but it has one killer feature that can turn websites into web apps! The beauty of this is that you can do this for any website, whether you use social platforms like Instagram or Twitter, it’s a perfect way to integrate it with the rest of your system. Also, all web apps you create are sandboxed meaning they aren’t going to snoop or interfere with your browser (a win for privacy!)
Installing Epiphany (or GNOME Web)
Epiphany is the package name but GNOMEies like to refer to it as GNOME Web. This package should be basically on every distribution repository but if you’re anti-GNOME or something, you might want to look else where. You can install it through your software center / desired package manager or depending on your distro, you can try the command line method.
Basically, open the browser and go to notion.so and login. Once done, open the menu (top-right) and click on “Install Site as Web Application”.
We want to install it as a web-app.
You will then get a popup like shown below. Simply click “Create” or give it a different name.
Almost there…
That’s it! Now you can open your menu or if you’re on GNOME, just press Start / Super and type “notion”.
Here we go!
Once you run it, you’ll probably be prompted to log in and you’re good to go! Now you have a standalone Notion web app to use on your Linux machine! One downside is that it isn’t going to work offline but hey, now you can alt-tab into Notion instead of having it incorporated inside your browser.
If you’re looking to get started in Python development and are running Linux, I’d highly recommend you use Visual Studio Code. Not only does it give you a good platform to do debugging but you also benefit from endless extensions to tailor it to your workflow.
So you’re SSHing to your remote server and you noticed there were thousands of failed attempts to get into your server since your last login. What can you do about it? Well, you can use a SSH key and disable password login. You can also use a different port to make it a bit more difficult for hackers and script-kiddies to find the SSH port.
If you run this command, you can see all the failed attempts on your server including their IP addresses, the username they used, port number and when they tried it.