notifications – How to disable ‘Slowly Charging’ message

I am looking to disable this intrusive message that pops up. You can not proceed to do anything on the phone until you acknowledge it.
To be clear, I am not looking for ‘tips’ to increase charging efficiency. The phone has a battery pack case – there is no increasing the rate, but due to the fact the battery is attached to the phone, the rate is more than sufficient.
The phone is a Verizon LG G7 – rooted.
I have tried changing the priority levels of the System UI to no affect.
Any ideas?

performance – Why is my external hard drive uploading so slowly on USB 3.0?

I have approximately 1.5 TB of data which I need to back-up on an external hard drive. I am using a brand new 2 TB Seagate OneTouch HDD portable storage device with a USB 3.0 cable.

Currently, the expected transfer time is over 45 hours and climbing.

Maybe my math is wrong but 1.5 TB at 600 MBps using a USB 3.0 cable should only take about 45 minutes, right? Even if I was just using a USB 2.0 cable with 60 MBps, it still shouldn’t take much more than 7 hours.

What’s the issue here and is there some solution?

7 – What would the next step in debugging a site that loads very slowly be?

I’m having a problem for a site to be very slow (10s page load). I’m trying to figure out what to problem could be but I’m out of ideas so hopefully you can help me with my next step. What I did:

  • Cache is enabled (core and views)
  • I’m using Redis caching
  • Database is optimized
  • Hosting has 4 cores and 6GB Memory

To find out what the problem could be I used Devel to show the queries. And it doesn’t show anything near 10s loading time.

I also comment out all the code that is on my html page, so no content or views are loaded and I still have a loading time of 10 seconds.

If you need additional information please let me know.

What could my next step be?

unity – Why the object is not rotating slowly?

At the top

public float secondsToRotate;
private float secondsSoFar = 0.0f;

Then in the Update

private Update()
{
  secondsSoFar += Time.deltaTime;
  float t = secondsSoFar / secondsToRotate;
  Vector3 lerpPoint = Vector3.Lerp(transform.position, -transform.position, t);
  transform.rotation = Quaternion.LookRotation(lerpPoint);
}

but instead of slowly smooth rotating it’s just waiting X seconds then rotate too fast like rotating at once.
I wanted it to rotate slowly smooth. for example, if I set the secondsToRotate to 5 so the rotation will take 5 seconds.

unity – How can I make the player(transform) to rotate once each time the player exist the collider and to rotate him slowly smooth?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerSpaceshipAreaColliding : MonoBehaviour
{
    private float timeElapsed = 0;
    private float lerpDuration = 3;
    private float startValue = 1;
    private float endValue = 0;
    private float valueToLerp = 0;
    private Animator playerAnimator;
    private bool exitSpaceShipSurroundingArea = false;

    // Start is called before the first frame update
    void Start()
    {
        playerAnimator = GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {
        if (exitSpaceShipSurroundingArea)
        {
            SlowDown();

            if (playerAnimator.GetFloat("Forward") == 0)
            {
                transform.rotation = Quaternion.Inverse(transform.rotation);
            }
        }
    }

    private void OnTriggerEnter(Collider other)
    {
        if (other.name == "CrashLandedShipUpDown")
        {
            exitSpaceShipSurroundingArea = false;
            Debug.Log("Entered Spaceship Area !");
        }
    }

    private void OnTriggerExit(Collider other)
    {
        if (other.name == "CrashLandedShipUpDown")
        {
            exitSpaceShipSurroundingArea = true;
            Debug.Log("Exited Spaceship Area !");
        }
    }

    private void SlowDown()
    {
        if (timeElapsed < lerpDuration)
        {
            valueToLerp = Mathf.Lerp(startValue, endValue, timeElapsed / lerpDuration);
            playerAnimator.SetFloat("Forward", valueToLerp);
            timeElapsed += Time.deltaTime;
        }
        playerAnimator.SetFloat("Forward", valueToLerp);

        valueToLerp = 0;
    }
}

When the player exit the collider area he slow down then stop. at this point I want the player to start rotating and start moving back inside the colliding area.

The exit and the slow down are working but the rotation is not working and not sure how to make him start moving again slowly to max speed when entering back.

The main goal is to prevent the player to leave the marked colliding area with some slow down and rotation.

For the rotation I did :

transform.rotation = Quaternion.Inverse(transform.rotation);

but it keep rotating non stop and not slowly smooth like using Lerp.

The coliider area

MacBook charging extremely slowly, after using 3rd party USB-C charger

I have a 16″ 2019 MacBook Pro.

A few days ago, I didn’t have my MacBook charger on hand. After a quick internet research of whether or not it works, I borrowed my wife’s DELL XPS charger (USB-C, 130W I believe). My MacBook charged fine with it.

A few days later, I noticed that my MacBook is charging very slowly (with my Apple 96W charger). I reset the SMC, rebooted, tried a different wall outlet, installed all system upgrades. No luck. Charge speed is around 1% point every 20 minutes with all apps closed. When I run a computing intense task (having a lot of Google Chrome tabs open, or compiling code), the battery discharges.

I checked the battery status with coconutBattery, but things seem to look normal. The only thing that seems off is that charging wattage. I’d expect that to be somewhat close to my 96 watt maximum.

See the attached screen shot. Note that this is with all apps closed.

Are my issues due to my charger experiment a few days ago? Is this just coincidence and my Apple charger went bad?

coconutBattery

slowly changing dimension – Configure Type 2 SCD on existing tables in SQL Server

I’ve got two tables, FACILITIES and CONTRACTS. It’s a 1:M facility->contract. The tables have unique keys generated by the upstream system and are truncate-reload every night. Neither table has any primary key or foreign key/Unique key enforcement. Users typically join on the facility ID which exists on the contracts table.

I am trying to set up SCD Type 2 for these two tables and have created the appropriate and working code using the MERGE command and have tested it successfully. I know that I will need to set up new primary/foreign keys since Type 2 will cause the business key to be duplicated (what they are currently using as a unqiue identifier).

However, I’m unsure how to handle existing data. Both tables have several thousand rows, so I don’t know how to link existing contracts and facilities using the new PK/FK combos I set up. I know that going forward they will work fine, but not sure about now.

How do I link the existing data with the new PK/FK setup so the associations for the new keys are correct for SCD going forward?

Here’s how they look now:

FacilityID Facility_PK (the one I set up)
12345 1
23456 2
ContractID Contract_PK Facility ID Facility_FK
7890 1 12345 ???
4444 2 12345 ???
2345 3 23456 ???

unity – How can I make the transform to stop slowly smooth before the next waypoint?

You’re moving the object using Vector3.Lerp(). When you move with linear interpolation (lerp), the speed is constant. To add speed up at the beginning or slow down at the end, you’d need to use easing.

Ironically the source you obtained this code from seems to have left a comment referencing easing but then forgotten to actually include the easing section.

There are many ways to implement easing. One way is to use easing functions. You can search the web to find free libraries of easing functions for Unity. You’d generally use them something like this:

var t = passedTime / duration;
var lerpFactor = EasingLibrary.EaseInOutCubic(t);
transform.position = Vector3.Lerp(currentPosition, currentWaypoint.position, lerpFactor);

Another solution is to use an Animation Curve. With this approach, you’d declare a curve field at the top of your script:

(SerializeField) private AnimationCurve easingCurve;

This will show a curve field in the Inspector. We’ll use this curve to define the interpolated motion of our GameObject. Start with something like this (note that the curve should start at (0,0) and end at (1,1):

Easing curve

Then we’ll use the curve in our movement coroutine:

do {
    var t = passedTime / duration;
    var lerpFactor = easingCurve.Evaluate(t); //use the curve to apply easing
    transform.position = Vector3.Lerp(currentPosition, currentWaypoint.position, lerpFactor);
    passedTime += Time.deltaTime;
    yield return null;
} while (passedTime <= duration);

Our curve defines a function which takes an input and returns an output. The “time” (x-axis) of the curve represents the input (in our case, a time from 0 – 1) and the “value” (y-axis) represents the corresponding output (in our case, how far the GameObject has moved between the start and end positions).

If the curve was a perfectly straight line from (0,0) to (1,1) the output would be linear (in fact, it would be exactly the same value as the input). However, this s-shaped curve will ease the motion in at the beginning and ease it out at the end. The flatter the curve is in a particular area, the slower our motion will be at that time.

If you find this confusing, try messing around with the shape of the curve and study how this affects the animation.


Easing functions usually are easier to use. If there’s a specific style of easing that you want, you would just call the appropriate function. Animation curves take a little more work to set up but give you more control over the exact motion.

For a project which makes heavy use of easing, I’ll usually rely on an easing library and only use an animation curve if the easing functions don’t give me enough fine control. If I only need to use easing in one or two places, I’ll usually just use an animation curve rather than adding an easing library to the project.

macos – How can I figure out what’s slowly eating my HD space?

I’ve had a very similar issue, and so I decided to compile several methods for solving it. So, following, there are those options and some of them I got from the answers already provided here. I understand this is a little bit offtopic from the question, but it’s in tune with the answers. This has many parts and those are all softwares I could try myself somehow.

It’s generally a good idea to pay close attention for using the sudo options below so the software can have access to every file, which will likely include some big hidden ones.


Here’s a brief list of apps for checking the disk usage:

  • GrandPerspective is only graphical, using the Treemap, it can measure files by logical or physical methods before scanning, show/hide package contents and change color scheme on the fly. It also is able to save the scanned data for archiving or comparing multiple windows.

  • Disk Inventory X also uses the Treemap graphical scheme but along side a list view of folders and files. The grahpics isn’t as good as GrandPerspective neither the list as good as OmniDiskSweeper, but it does a good job mixing both. It has a Finder plugin and the most options between the 3 on preferences. It’s the most complex, but not all complete.

  • OmniDiskSweeper is non-graphical and very similar to Finder’s column view. You choose the folder or disk to analyse, it will order them by disk usage after taking its time to calculate. You can then just delete (move to trash) anything listed.

So each one has its advantages and highlights, I’m still not sure if there’s one that comes on top. They’re all free.


There is also a different approach, of apps for scanning specific expected places and files for space usage in non-optimal ways. They basically gather some known things about the system that can be bloating your disk all in one nice interface so you can see and decide what to delete.

  • CleanMyMac lists caches, logs, language files, universal binaries, development “junk”, extensions and applications. It scans through the files and also uses some knowledge base it has. Great interface, simple to use. CleanMyMac has a free trial which will only clean up to 500 MB.

  • XSlimmer is very specific. It remove “unnecessary” code from “fat” binaries and Strip out unneeded languages, as it says on the website. Universal Binaries, that is, use a lot of space for storing files to run in several different architectures and languages. So, this strips all of them to shrink to only your computer needs. XSlimmer is currently discontinued.


Another approach is looking for duplicate files. There are many commercial options, some may be better than the listed below, I haven’t tried them all. Anyway, I’m listing my choice of apps considering which ones I was able to try.

  • TidyUp is a very well known app in this subject. You can specify where to scan for what kind of duplicates. It offers basic and advanced modes, several different strategies and criterias.

  • MrClean is a free tool that just scans for folders for duplicates and trash them. Very simplistic but efficient if you’re sure on what you’re doing.

  • Chipmunk scans duplicates and let you choose which ones you want to trash. It offers a node-view of folders and you can select to “delete all files in a folder that have duplicates elsewhere, or vice versa” as well as hand-picking. It may take very long to scan all files, but it does a very decent job after that.

  • DupeCheck “drop a file on it and it will use your Spotlight index to see if you have a potential duplicate somewhere.” That’s about this nice open source app. Not a great tool for space cleaning at once, but over time it helps you keep your space clean.

  • DuplicateFileSearcher from the website: “is a free powerful software utility that will help you to find and delete duplicate files on your computer. It can also be used to calculate MD5 and SHA hashes. The software runs in Windows, Linux, Solaris and MacOS.“. Enough said.


Next I’ll briefly discuss on a similar approach by quoting relevant parts about two other things that can be done to look for missing disk space, without installing anything new, just using the command line (the Terminal).

This (long but good) one is from MacFixIt forums (go there for more options and details):

In most cases, there really are files occupying part of the volume, but the files are invisible in normal use of the Finder.

Using the Finder’s Go to Folder feature (in the Go menu), look at the sizes of the contents of these folders, by pasting in these pathnames:

/private/var/vm 
/private/var/log 
/Volumes 

The /private/var/vm directory contains the swapfiles used by virtual memory. New ones are made as more data is swapped from RAM to the hard drive. The entire process of creating them begins at each reboot or restart; do not attempt to remove them yourself. Check the total size of all the swapfiles, right after you boot, and as the disk fills up. In Panther, the first two swapfiles are 64 MB, then each new one is twice the size of the preceeding one (128 MB, 256 MB, 512 MB, 1 GB) up to a maximum size of 1 GB. In Tiger, the first two swapfiles are 64 MB, the next one is 128 MB, and any additional swapfiles are 256 MB.

If you do not run the daily, weekly, and monthly maintenance scripts (either by using a utility, or by running the commands sudo periodic daily, sudo periodic weekly, and sudo periodic monthly in Terminal), the logs on the startup volume can become too large. If an error is occurring frequently and is being logged, you can have a very large file at /private/var/log/system.log.

The files in /Volumes should be aliases to your mounted volumes. Do not remove these aliases, because anything you do to them happens to the contents of the corresponding volumes. If you are not confident that you can explore this folder without mishap, before you begin, properly unmount any volume other than the startup volume, if the missing disk space problem affects only that volume. External FireWire drives can be disconnected after proper unmounting.

Sometimes, backup programs that cannot find an intended destination (or target) volume for a backup create a folder with the same name as the destination, and put the folder into the /Volumes directory. There are cases in which the entire startup volume has been backed up on itself, in a folder inside /Volumes. If the amount of missing space is about the size of your user folder, such a backup is likely to be the explanation. If you use Carbon Copy Cloner or another backup or cloning utility and have its preferences configured to create a backup on a schedule, and the intended destination volume is not mounted or is sleeping at the scheduled time, the backup is created in the /Volumes directory.

To check the size of the normally invisible /Volumes directory on the active startup volume, open a new Finder window. Select the startup volume in the list at the left, then choose column view (the one at the right of the three views). From the Finder’s Go menu, choose Go to Folder, and paste in:

/Volumes 

The /Volumes directory becomes visible in the Finder; find its size by selecting it and typing Command I. My /Volumes directory is reported to be 12K.

This other one is from Mac OS X Hints forums (not much more to see there):

You may want to run a du in terminal to see what is all going on. This could take a few minutes to run.

An example would be to open up terminal.app then run these commands:

sudo du -h -d 1 -c /

Input your password when it prompts for it then let it go, it will take a few minutes to run so be paitent.

du stands for Disk Usage. There’s also df. I like including the -x to the above command:

sudo du -cxhd 1 /

Adding to the command line option, you could use an automator service for opening any app. With this you will get different (and more complete) results on GUI.

Or, if you’re on a Power PC, using Rosetta or anything before Snow Leopard, you can mix any of the before mentioned apps with Pseudo. It’s a little app to open things as admin. Picture it like a GUI for sudo.


Finally, there’s a complete newbie guide on “The X Lab” that I just won’t quote here for it’s too long.