How to install Blender on CentOS 7

I’ve been trying to build Blender from source on CentOS for many years, but never had any luck making it work. There was always one package missing, or something else that needed to be configured. Depressed and resentful, I gave up and never got a chance to try Blender on CentOS.

Recently, the Blender Devs have started releasing a pre-compiled version of Blender for CentOS for download. This should work on RHEL and Fedora just as well. Huzzah!

With a fresh installation of CentOS looking at me from my old Samsung Q330 laptop, I thought I’d try it out. It works great! Here’s what I had to do to make it work, step by step.

Continue reading How to install Blender on CentOS 7

How to revert a yum update on CentOS

Every so often, a yum update brings unexpected results with it, like services no longer working due to spurious error messages that don’t tell you what’s actually wrong. This only very rarely happens though, and we may need to revert to the state of our system before such an update took place.

Thankfully, yum has a nice feature that helps us do this, namely yum history.

The command will bring up the latest 20 transactions by default, be those installs, updates or removals. There’s a transaction ID at the very front of each line, with which we can tell yum to undo said transaction. In my case, transaction 86 didn’t work out so well, so let’s undo whatever has happened there (in my case, a combination of installs, updates and overwrites).

Let’s revert those changes with yum history undo 86

The familiar text output comes up, eventually showing a list of packages that will be affected. Confirm those changes with y and let yum do it’s job.

After a few moments, our system has been restored to a state from before the update occurred, hopefully back into a running state.

There’s another interesting option called yum history rollback (ID). This will let us go back more than one step in our list, restoring the changes made by multiple transactions. Vivke’s article has more information on this.

How to create a read-only channel in Discord

Some of the simplest things to do often turn out to be the hardest ones – only because we have no idea how to do them properly. One of those tasks is setting up a simple read-only channel on Discord.

What I mean by that is a channel that you and perhaps an admin can post in (like a welcome or rules channel), readable by everybody, nut you don’t want anyone to be able to leave reactions or post messages in it. I’m fairly new to Discord, and while many features appear very intuitive, this one neither of us could work out for the longest time. Looks like I’ve finally found out how to do this, so let me share it with you before I forget.

Continue reading How to create a read-only channel in Discord

How to switch from JFIF to JPEG on Drag-and-Drop in Windows 10

I’ve recently noticed that when I drag an image out of Firefox, it saves itself as a JFIF image on Windows 10. Choosing to save the same image via the right-click context menu will save it as JPEG image as expected.

This perplexed me, so I did some research and found a fix that would let me save images with a .jpg extension when dragged out of a web browser. I did this by associating the correct file format in Registry Editor.

Let me show you how it works in this article.

What is JFIF again?

JFIF is apparently the JPEG File Interchange Format. Apparently it’s been around since 1991, but I’ve only heard of it in the summer of 2019. It just goes to show that you always learn something new. This Wikipedia article has a little more information about the format.

As to why on earth Windows is setup for this by default, or why Firefox is saving images with this format when dragging them out into a folder, or since when images are in fact stored as this format is anybody’s guess.

How do we make this “normal” again?

In Windows 10, search for “reg” at the bottom left corner until you find the Registry Editor. Open it.

This is a slightly intimidating database tool that associates many Windows-internal values with its settings and behaviour towards other apps, but don’t be discouraged by that. At the top left corner you’ll find the following menu. Open the first item on this list, namely HKEY_CLASSES_ROOT. It’ll open an amazingly long list of scary things.

Of course there’s no way to search through these 900 million entries, that would be too easy. However, they’re alphabetically ordered, which does help us out a little bit. I guess this tool is not exactly designed to be used by humans. Scroll down to the MIME folder and open it.

We’ll find another folder called Database, under which there’s one called Content Type. Open the latter to find yet another long list of scary things. This one will list all so-called MIME Content Types, which lets Windows determine with what extension it should save a file of a particular type.

Find the entry for image/jpeg and take a look at its contents by clicking on it. Notice that – shockingly – the Extension field is set to .jfif. This would explain why Windows keeps saving JPEG files with the .jfif extension. Who authorised that?!

It stands to reason that if we simply change this value from .jfif to .jpg, all our dragged-out images would henceforth be saved as regular JPEG images. Let’s double-click the word Extension (under Name) and change .jfif to .jpg then press return. That’s all we need to do.

Your entry should look like this:

Now you may close the Registry Editor and drag as many JPEG images out of your browser as you like. No restart is necessary.

The macOS Installation couldn’t be completed. Now what?

My MacBook Pro (2011) recently developed an issue after I had tried upgrading it to the latest version of High Sierra. Some security patch came along, and after bugging me for several weeks, I finally gave in and installed it.

Sadly, after macOS tried to restart I got a message like this:

I tried restarting several times, but without luck. The message varies slightly at times, often accompanied by an error log and a more explicit message that something went wrong, but not with simple solutions on how to rectify the situation.

What worked for me to a certain extent was to start macOS with the ALT key held down, which would give me a selection of the boot drive. There are usually two drives: the “boot partition” and the “regular drive”. Clicking the latter will boot macOS without applying the update, and everything went fine again. Booting into the former would try to apply the updates, but since it failed every time, I either had to remove this behaviour or fix the underlying problem.

I looked into it and found these tips on how to proceed:

Boot with SHIFT (Safe Mode)

According to Apple’s Support Website, Safe mode can be initiated by holding down the SHIFT key while booting. This will take absolutely forever, during which time your Mac will do the following:

  • Verifies your startup disk and attempts to repair directory issues, if needed
  • Loads only required kernel extensions
  • Prevents startup items and login items from opening automatically
  • Disables user-installed fonts 
  • Deletes font caches, kernel cache, and other system cache files

On large drives, this does take a while. Mine is a 500GB SSD and it took my MacBook Pro several hours to do this. Sadly, without fixing the problem mentioned above.

Boot with CMD+R

Another nifty trick is to bring up the Disk Repair Tool. Start your Mac and hold down CMD+R until you see the Apple Logo. At that point you can let go of those keys. This will launch something called macOS Utilities. Note that your trackpad may behave slightly differently that you’re used to (for example, tap to click will be disabled), that’s just because none of your configuration preferences have been loaded. It’s all default, and booted from another portion of your hard drive.

Once everything has loaded, select Disk Utility. Run the First Aid option and see what happens. This will attempt to repair your disk by looking through every sector and fix any mishaps that may have been caused by files not closing properly. It will either tell you that everything is fine, or that it detected issues and how fixable they were.

Check Incompatible Login Items

Another item on the agenda to check is what login items are selected. Those are processes that start after your Mac has booted into macOS. Examples include cloud service sync services like Dropbox or Creative Cloud, or things like Discord and Spotify. I’m a big believer of starting those myself if and when I need them, but over-eager installers like to sneak them in there sometimes. Some of those items may not be compatible anymore after a software update and hence interfere with both the update and the new version of macOS.

To check what’s being started with your Mac, head over to System Preferences – Users & Groups – Current User – Login Items.

Click the little lock icon at the bottom left, then select what you dislike from the list and hit the minus button below the list. This will remove said login item and – hopefully – make your Mac start as it’s supposed to.

I’m still in the middle of my investigation and have a few more items to check, but I’ll report back with what worked well for me, and what else I find. Stay tuned 🙂

Redirecting a secure domain in Plesk

There are several ways to make two domains resolve to the same content in Plesk. The easiest option is to setup a Domain Alias. That way, domain1.com and domain2.com both serve the same content from the same subscription.

This worked great for non-SSL domains, but if you have a secured domain, the redirection will be detected by modern browsers and a certificate warning appears. Not what we want.

Another way to achieve the same thing is to create a separate subscription in Plesk, then change the Hosting Settings to Forwarding. This will result in a search engine friendly 301 redirect, but again we have that certificate issue to deal with. Since the redirected domain no longer has its own file structure, the Let’s Encrypt extension is unable to issue a separate certificate for the second domain. Not good either.

The solution, it appears, is a manual addition of a piece of code to the NGINX directives. This will only work if NGINX is enabled in your Plesk setup (it is by default as of Plesk Onyx). Let’s see how to do it.

Step by Step Instructions

Create a new subscription for the domain you’d like to redirect. In our example, let’s use new-domain.com as the current domain that has a subscription, but you’ve got another domain you want to redirect to the above. Let’s call that one old-domain.com. This domain needs its own subscription in Plesk. Don’t worry about adding any content there.

Once setup, head over to Websites and Domains is the subscription and select Apache and NGINX Settings.

Towards the bottom of this ever so slightly intimidating list we’ll find an empty field into which we can add our own code, under Additional NGINX Directives.

We’ll add the following to this box, replacing old-domain.com with the domain you’d like to redirect to. In essence, this is telling NGINX to use the location in brackets for the top level location of our current domain. Here’s a cut-and-paste friendly version:

And that’s it! Now your new domain will redirect to the old domain, while retaining all SSL properties. There’s no need for a new certificate either, and search engines will make a note when the bot comes crawling the next time. Furthermore, all deep links will be retained that way too.

Thanks to Nikita Nikushkin from Plesk for bringing this to my attention.

Screensharing and Video Calls in Discord

We had a blast last night trying to setup our first screensharing/conference call through Discord. We’re so used to Skype and FaceTime that these habits have made it a little difficult for us to grab the concept of getting started with Discord calls.

Before we forget how it works, I thought I’d better take some notes. Here’s how we made it happen.

Continue reading Screensharing and Video Calls in Discord

List of randomly generated Mixer User Names

When users first sign up on Mixer.com, they’re assigned a totally random user name. It is anyone’s guess how these are generated, but it certainly adds a little mystery and machine-generated individuality to new users. Some of these names are quite funny, so I thought I’d compile a list of the ones we’ve come across.

I’ve removed the random number at the end, which leads me to believe it’s probably a finite list of names to which a unique identifier is added. If you’re interested to see what your random name was, it may still be part of your channel name.

Here’s what we’ve seen so far in 2019:

  • KuerbisGebhard
  • SidedMovie
  • LeftCarnival
  • RuggedWolf
  • RestoredHail
  • JuratoryCord
  • ChasedLeopard
  • SlowedZebra
  • ArielHealer
  • MissionTrack
  • SapphireGamer
  • CellularCorn
  • UselessList

The last one is my favourite! I’ve compiled instructions on how to change your user name here.

Have you come cross any other funny random combinations on Mixer? Leave them in the comment below for us all to enjoy 🙂

Roles and Permissions in Discord

We just started using that Discord thing everyone is talking about. It’s really easy to setup your own server, but with such great powers come great responsibilities.

We wanted to run a private invitation-only server and see how it would work for our team, but an obvious caveat was that everyone who had joined could send invitations to others willy nilly. It was not really obvious for me to fix this, until I did some digging. Here’s how to remove the default invitation setting from @everyone, and a brief explanations for new Discord Server Owners.

Continue reading Roles and Permissions in Discord