Cloudlinux price increases?

Just had an email from cPanel about Cloudlinux pricing increases from Jan 2021 although not had anything with regards to this from CL direct… | Read the rest of

MySQL database backup is 0

I tried to backup a database many times, and the result is 0KB, however it contains almost 1.5GB, all databases backed up with success BUT one is not:

ls -l /home/backups/www/mysql/DataBases/
total 2227380
-rw-r--r-- 1 root root 2279704740 Nov 30 21:57 alfir.sql
-rw-r--r-- 1 root root      35607 Nov 30 21:57 auto.sql
-rw-r--r-- 1 root root     240622 Nov 30 21:58 bonneoccasionv2-16072018.sql
-rw-r--r-- 1 root root     240668 Nov 30 21:58 bonneoccasionv2_17072018.sql
-rw-r--r-- 1 root root     597044 Nov 30 21:57 bonneoccasionv2.sql
-rw-r--r-- 1 root root       1370 Nov 30 21:58 comp_bak.sql
-rw-r--r-- 1 root root          0 Nov 30 21:58 competitors.sql <== THIS ONE

Then I launched the repair, it is hanging, no response yet:

mysqlcheck -u root -p -r competitors

google sheets – Trying to automate sub driver schedule

Here is my sheet that I need help with,–WdYCNtFD-Ye409M/edit?usp=sharing, it’s editable if you would like to mess around with it.

I am trying to make it where when you click on any dropdown and select the driver that needs to be covered and it automatically adds their route time for that specific day and time of day from the “Route Times” sheet so the sub driver can have their schedules for the week. I just don’t know what the formula would be in the pre and post cells.

microsoft excel – Macro – “Save As” original Workbook name

Intended actions:

  1. Copy & Paste columns CA:CF from 123.csv to 123a.csv

Could anyone please assist with the “SaveAs” original workbook name with the appended “a”?


Sub Macro1()
' Macro1 Macro
' Keyboard Shortcut: Ctrl+d
    Application.CutCopyMode = False
    ChDir "A:testExported files"
    ActiveWorkbook.SaveAs Filename:= _
        "A:testExported files123.csv", FileFormat:=xlCSV, _
End Sub

regular expressions – What special characters need to be escaped in Nginx configuration files?

Several questions pertain to escaping specific symbols like { or $ in Nginx configuration files and server blocks, with an interesting discussion on why / is not escaped because it is not in fact a delimiter.

However, is there a complete list of symbols that need to be escaped when coding for Nginx blocks, or at least an explanation of when and when not to escape certain characters?

sensor – What interval between photos is recommended for shooting meteors?

I wish had more time to offer a proper response but I realize that we are currently at the peak and you need some information now.


When I do DSLR astrophotography with a camera lens (no telescope), I’m usually shooting using an f/2 lens (at f/2) ISO 800, and typically 1 minute exposures. But I’ll also shoot some shorter exposures (for HDR combination) and some of those exposures will be as short as 1-3 seconds depending on the subject.

That aside, since your 18-55mm lens is probably a variable f/3.5-5.6, I’m going to guess that your wide-open aperture is f/3.5 and that this is only available if you are at the 18mm focal length. Given these assumptions, I’ll assume you will plan to use 18mm f/3.5.

Your Nikon has a crop-factor of 1.5x. That means if you use the 500 rule, it’s

exposure-duration = 500 ÷ crop-factor ÷ focal-length

So for you that’s

500 ÷ 1.5 ÷ 18 = 18.5

You can’t accurately make an 18.5 second exposure so you’ll likely set your camera to a 15-second exposure. You should also cheat it up a bit to a 20 second exposure.

I normally find I get good sky exposure with 1 minute at f/2 and ISO 800 and I get away with this because I have a tracking head (I have a Losmandy StarLapse head — which is no longer sold. These days the Sky Watcher “Star Adventurer” head or the iOptron “Sky Guider Pro” head are the popular models.)

You’ll need to adjust ISO to compensate for your shower exposure duration… in this case, doubling the ISO to 1600 (from my 800) would compensate for going from a 30 second exposure to a 15 second exposure. But we also have to compensate for your f/3.5 focal ratio (vs. my f/2). This would get you to roughly ISO 5000.

My guess is that using ISO 5000, f/3.5, and 15 second exposure durations will probably be pretty close.


Make sure you understand the nuances of your interval timer.

I usually use a computer (via USB connection) to control my camera, but I do have a physical wired-remote with an internal timer and my camera has a built-in interval timer (via the menu system). They all work a bit differently.

When I use the physical interval timer, it assumes the camera is in Bulb mode. The interval timer is programed for

  1. The delay before activating (usually I set this to zero since I am not touching the camera to trigger the shutter)
  2. The number of frames I want to capture (e.g. 100)
  3. The duration of a single frame (e.g. 15 seconds … or 1 minute, etc.)
  4. The wait-time AFTER the shutter closed from the previous frame BEFORE beginning the next exposure.

The main message to the above description is that the “interval” in the case of this specific timer, is the time between the END of one exposure and the START of the next.

If I use the camera’s internal interval time (it’s not a Nikon so it’s likely not the same), the built-in timer is … not as smart.

  1. The number of frames
  2. The time interval between the START of exposures.

This timer doesn’t care about exposure duration. You have to work out the math on your own. E.g. if the exposure durations are 15 seconds and I set an interval of 15 seconds it’s probably that I’ll have dropped frames because the camera wont quite be done and ready for the start of the next exposure when the camera tries to trigger the shutter. So for this particular timer, I have to pad… e.g. suppose I set a 20 second interval. That would give the camera 15 seconds to take the shot and a 5 minute padded buffer time until the next shot begins to make sure the camera is ready (and sure I could probably cheat that down a couple of seconds shorter).

Other Resources

There is a decent article on on Meteor Shower photography. You can find it here:

lie groups – Why can the inner product be a criteria for the orthogonality of a matrix

I would like to verify if the matrix
$left( begin{array}{rr} a&b\c&d end{array}right)$ is a Lorentz transformation.

Lorentz Transformations are orthogonal together with the inner product $(x,y) = x_0y_0 -x_iy_i$ . If $a =0$ and $d=0$ then the Matrix is invertible and therefor orthogonal. My script now states that because $(Lx,Lx) leq 0$ for $x = left( begin{array}{r} 1\0 end{array}right)$ L is not a Lorentz transformation for the case that $a=0$.

I would like to understand why the inner product of the resulting vector with itself has to be greater $0$ to be orthogonal?

plupload – Workaround to upload AVIF files

Has anyone found a good way to upload AVIF images files through the WordPress media uploader?

I’ve seen variations of this code posted everywhere:

function allowed_mime_types( $mime_types ) {

  //AVIF Images
  $mime_types('avif') = 'image/avif';

  return $mime_types;

add_filter( 'upload_mimes', 'allowed_mime_types' );

But, when I use that I still get an error:

Sorry, this file type is not permitted for security reasons.

I confirmed that avif is added to the list of extensions in the plupload localized script vars, but still no joy. What am I missing?

certificates – Enrolling my device in an emm to install a root CA

My phone can’t be rooted but I want to MITM my own traffic. Is there any downside to enrolling my device as a managed enterprise device and installing a certificate through the program? It seems possible, but I have not come across this solution anywhere on the internet so I was wondering if there is a downside.

javascript – Can someone please help me with this pong game? The ball won’t appear



var canvas = document.getElementById(“canvas”);
var ctx = canvas.getContext(“2d”);
function paddle(x, y, width, height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
this.hasCollidedWith = function(ball) {
var paddleLeftWall = this.x;
var paddleRightWall = this.x + this.width;
var paddleTopWall = this.y;
var paddleBottomWall = this.y + this.height;
if(ball.x > paddleLeftWall
&& ball.x paddleTopWall
&& ball.y 480 ? 480 – this.height : nextY;
this.y = nextY;
var player = new paddle(5, 200, 25, 100);
var ai = new paddle(610, 200, 25, 100);
var ball = {
x: 320, y: 240, radius: 3, xSpeeed: 2, ySpeed: 0, reverseX: function() {
this.xSpeed *= -1;
resverseY: function() {
this.ySpeed *= -1;
reset: function() {
this.x = 320;
this.y = 240;
this.xSpeed = 2;
this.ySpeed = 0;
isBouncing: function() {
return ball.ySpeed != 0;
modifyXSpeedBy: function(modification) {
modification = this.xspeed 9 ? 9 : nextValue;
this.xSpeed = nextValue;
modifyYSpeedBy: function(modification) {
modification = this.ySpeed 480) {
if(ball.y = 480) {
var collideWithPlayer = player.hasCollidedWith(ball);
var collidedWithAi = ai.hasCollidedWith(ball);
if(collideWithPlayer || collidedWithAi) {
var speedUpValue = collideWithPlayer ? player.speedModifier : ai.speedModifier;
for(var keyCode in heldDown) {
var aiMiddle = ai.y + (ai.height / 2);
if(aiMiddle ball.y) {
function draw() {
ctx.fillStyle = “black”;
ctx.fillRect(0, 0, 640, 480);
function renderPaddle(paddle) {
ctx.fillStyle = “white”;
ctx.fillRect(paddle.x, paddle.y, paddle.width, paddle.height);
function renderBall(ball) {
ctx.arc(ball.x, ball.y, ball.radius, 0, 2 * Math.PI, false);
ctx.fillStyle = “white”;
var heldDown = {};
window.addEventListener(“keydown”, function(keyInfo) { heldDown(event.keyCode) =
true; }, false);
window.addEventListener(“keyup”, function(keyInfo) { delete heldDown(event.keyCode); }, false);

Bob is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.