motherboard – Four-channel memory running two-channel setup

I have an ASRock x399 Fatal1ty Professional Gaming motherboard with AMD 2950x Threadripper and 4x32gb Corsair Vengence 3600mhz DDR4 (all of the same type / speed / etc.). When I go into the BIOS it says "Quad Channel Settings". However when I run CPU-Z it says dual channel.

I made sure to put the memory in the correct slots as the manual says. The manual says it will run in four channel configuration but I also checked with the aida64 tool and it also says dual channel. However, hwinfo says that there are 4 active memory channels. So I'm not exactly sure which one is correct. Are you doing some kind of dual channel dual setup? From what I can tell, my hardware should support four-channel memory. Any help will be greatly appreciated, thanks!

javascript – Cordova Android sqlite running an existing prepopulated database

My problem is very simple and it is killing me.

I want to use an external SQL manager like DB browser (SQLite) for example, to pre-populate a database.

Then I want to use cordova-sqlite-storage To open it.

something like this:

myDB = window.sqlitePlugin.openDatabase ({name: "myDB.db", location: & # 39; default & # 39;});

But I can't find where the & # 39; default & # 39; location is to start using the db that I put together.

I can't even find the place where it spawned the new database, I start to wonder if it just spawns that at runtime for the Android cache.

So how can I access a prepopulated sqlite database and where should I put the file on the system?

virtual machines: my Windows scheduled tasks are not running

I am looking in Task Scheduler on VM where I configured with daily database RMAN backup of Oracle database and closed the instance before its nightly automatic shutdown mode.
enter the image description here
But I don't know if those scheduled tasks work daily or not. I don't think it's automatically activated by the Windows programmer. I've been monitoring these scheduled tasks for the past 2 weeks, but haven't seen any backup and shutdown logs generated by those tasks. I configured it under NT / SYSTEM and administrator credentials. As a result, it keeps the databases from being crushed because the blue VM shuts down during off hours.

algorithms – rolling running numbers

I am numbering generated files with two digits 00-99 and I want to retain the last 50.
The algorithm should tell me the number of the current file I am about to save and which of the previous files to delete.

If I reduce it to a one digit toy version, this is how I want it to behave.

  1. As long as there are less than 5 files, we can only add files.
    This is represented in the first block below.
  2. Once there are 5 previous files, the oldest one will be deleted.
    This is trivial as long as we have not reached the maximum number, here 9. This is represented in the second block below.
  3. Once the highest numbers have been reached, the numbering should turn, and this is where things get tough. See the third block below.
__prev__    __curr__   __drop__  
     0         null
0              1         null
0 1            2         null
0 1 2          3         null
0 1 2 3        4         null

0 1 2 3 4      5          0 
1 2 3 4 5      6          1
2 3 4 5 6      7          2
3 4 5 6 7      8          3
4 5 6 7 8      9          4

5 6 7 8 9      0          5
6 7 8 9 0      1          6
7 8 9 0 1      2          7
8 9 0 1 2      3          8
9 0 1 2 3      4          9

Some pseudocode to illustrate my progress:

if length(prev) < 5
   curr = length(prev)
   drop = null


if 9 not in prev
   curr = (1+max(prev)) mod(10)
   drop = curr-5

if 9 in prev

... and this is where I am trapped. I have experimented by subtracting 10 from each item in prev.

I'm sure it's trivial and will hit me when I least expect it. I also have a lingering feeling. I will find an expression that generalizes both cases (with and without max in prev)


I followed the instructions at
* Compilation of Android Studio project is successful
* I created the API-KEY according to the instructions and filled it in AndroidManifest.xml

When I click on run application in Nexus 5 emulator on my PC, the emulator is open and running but DJI application installation fails with the following error:

04/01 20:54:58: Launch of & # 39; application & # 39; on Nexus 5X API 28 x86.
The installation was unsuccessful.
The application could not be installed: INSTALL_FAILED_MISSING_SHARED_LIBRARY
The installation failed due to: & # 39; null & # 39;

What am I missing?

javascript: why is my function running out when running with a larger dataset?

I'm working on a Code Kata

// There is a queue for the self-checkout tills at the supermarket. 
// Your task is write a function to calculate the total time 
// required for all the customers to check out!
// input
// customers: an array of positive integers representing the queue. 
//    Each integer represents a customer, and its value is the amount 
//    of time they require to check out.
// n: a positive integer, the number of checkout tills.

A common solution is

function queueTime(customers, n) {
  // create a new array to represent each till
  // start each till at 0 minutes
  const tills = new Array(n).fill(0);
  // loop through the customers
  for (let i = 0; i < customers.length; i++) {
    // find till with least minutes 
    const shortestTill = Math.min(...tills)
    // find index of shortest till
    const index = arr.indexOf(shortestTill)
    // increase shortest till mins with current customer
    arr(index) += customers(i);
  // return the longest till 
  return Math.max(...tills);

My first solution, albeit a longer one, seems to work, however timeout is running when I run it on a node with big data set. I'm sure there is probably some infinite loop or time complexity issue that I'm creating but can't identify.

Where in my code should I refactor to fix this problem?

function queueTime(customers, n) {
  // checking edge case
  if (customers.length === 0) return 0
  // initial time
  let time = 0
  // create a lookup to see if each till is open, where each
  //key is the till number and the val is the time needed for each to finish
  memo = {}
  for (let i = 1; i <= n; i++) {
    memo(i) = customers.shift()
  // not necessarily needed because I'm using returns in the while loop,
  // but the intention is to break the loop
  let completed = false
  // solving the problem was taking two different approaches so
  // this variable allows me to check which approach to use
  let moreTillsThanCustomers = false
  // len = memo.length
  let len = Object.keys(memo).length
  for (let i = 1; i <= len; i++) {
    // if any didn't have a customer to fill the spot, then moreTillsThanCustomers = true
    if (memo(i) === undefined) {
      moreTillsThanCustomers = true
  if (!moreTillsThanCustomers) {
    while (!completed) {
      let found = false
      // if there are any open spots and customers left, we 'found' a spot to fill and can break out of the loop
      for (let i = 1; i <= len; i++) {
        if (memo(i) === 'open') {
          if (customers.length) {
            memo(i) = customers.shift()
              found = true
      // if no spot was found, increase the time by one  and reduce all
      // till times by 1 or to 'open
      if (!found) {
        for (let i = 1; i <= len; i++) {
          if (memo(i) === 1) {
            memo(i) = 'open'
          } else {
      // if every value is 'open' and there are no customers left, we're done
      if (Object.values(memo).every(value => value === 'open')&& !customers.length) {
        completed = true
        return time
    // if there are more tills than customers
  } else {
    while (!completed) {
      // if a  memo is at 0, it's done, otherwise reduce it by one
      for (let i = 1; i <= len; i++) {
        if (memo(i) === 0) {
          memo(i) = undefined
        } else if (memo(i) !== undefined) {
      // if all are done, we're done
      if (Object.values(memo).every(value => value === undefined)) {
        completed = true
        return time
      //increase time
  return time

Wait times on the node

  queueTime((28, 9, 27, 37, 12, 33, 20, 31, 19, 18, 3, 8, 39, 40, 49), 5)

find the .cnf file used by the running mysql instance

I wanted to know the .cnf file read by my running mysql instance. I used to look at the ps command.

ps -ef | grep mysql

10801? Ssl 0:27 / usr / sbin / mysqld –defaults-file = / etc / mysql / my.cnf –basedir = / usr –datadir = / var / lib / mysql –pid-file = / var / run /mysqld/ –socket = / var / run / mysqld / mysqld.sock

But in redhat 7 and 8 I can't see a detailed output.

ps ax | grep mysqld

798? Sl 0:00 / usr / sbin / mysqld –daemonize –pid-file = / var / run / mysqld /

Is there a way to get details via the ps command or any other way to check which conf file is being used by my mysql instance?

Thanks in advance

"An error occurred while running discovery" when trying to patch sharepoint server 2013

There are a couple of things we could look for in this solution.

Solution 1:

This error generally occurs when Windows Installer cache files (C: Windows Installer) are missing / corrupted. To further isolate the problem, you can try running ROISCAN on the machine and see how many installer cache files are missing. If these cache files were manually removed during any maintenance, it would be very difficult to restore the files. However, if you have some other working environment (test / trial), you can copy the installer cache files and rename them according to the unique revision number of the associated registry keys. Fortunately, I was able to find a PowerShell script made by Ahmad Adel Gad here, which will do this task for you. You simply have to:

Download the script.

Copy the script to the destination machine.

Make sure the current local identity has read / write permission on the "C: Windows Installer" folder on the target machine and read permission on the source folder (if the source is a machine name, make sure have read permission on the local folder "C: Windows Installer" inside the source machine).

Run the script locally on the target machine with the following parameters as illustrated by the following examples.

. Restore-InstallerFiles.ps1 -SourceMachine "Machine1", "Machine2", "Machine3";

. Restore-InstallerFiles.ps1 -SourceFolder "D: InstallerFiles", "E: InstallerFiles", " MachineX D $ MSI Files";

. Restore-InstallerFiles.ps1 -SourceFolder "D: InstallerFiles", "E: InstallerFiles", "D: InstallerFiles2" -LogFile "D: Log.txt";

Source of the previous solution:

"An error occurred while running detection" Update for Sp2013 SP1

Solution 2

Try to download the patches one more time, there is a small chance that the downloaded files have become corrupted.

Here are some detailed steps to fix this problem:

An error occurred while running discovery when patching SharePoint servers

Solution 3

In general, if we go this way c: windows installer folder: we could see that this path could have been damaged or files are missing.

Copy the c: windows installer folder from another working SharePoint server to a local c: temp folder on your faulty server.

Follow the steps below:

Copy the above script into a file. I suggest using a text editor like Notepad ++ instead of a regular notepad. I tried copying the code in Notepad and got errors because Notepad reads certain characters as ASCII characters, so when you try to run it as a .vbs script it returns error: unknown characters. Or you can download it from me: OpUtil.txt. Open it, watch it if you like, but be sure to rename it as a .vbs file instead of a .txt. Also put this script in your c: temp folder for organization.

Open command prompt on your wrong server. Navigate to c: windows installer and run the following command:

runas / user: DOMAIN Admin_Account "cscript.exe c: temp OpUtil.vbs / RepairCache / srestorelocation = c: temp "

Open a PowerShell window and run Get-SPProduct -local to update the farm configuration database.

Run psconfig.exe to update everything and you should now be ready to install your updates.

The previous solution is:

An error occurred while running discovery.

nginx says it is not running, but the sites are working

I am really puzzled about what is going on here! Websites work fine, but I get:

root@admin:~# service nginx status
● nginx.service - LSB: Stop/start nginx
   Loaded: loaded (/etc/init.d/nginx; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2020-03-30 11:33:20 BST; 1min 36s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2782 ExecStart=/etc/init.d/nginx start (code=exited, status=1/FAILURE)

Mar 30 11:33:20 systemd(1): Stopped LSB: Stop/start nginx.
Mar 30 11:33:20 systemd(1): Starting LSB: Stop/start nginx...
Mar 30 11:33:20 systemd(1): nginx.service: Control process exited, code=exited status=1
Mar 30 11:33:20 systemd(1): Failed to start LSB: Stop/start nginx.
Mar 30 11:33:20 systemd(1): nginx.service: Unit entered failed state.
Mar 30 11:33:20 systemd(1): nginx.service: Failed with result 'exit-code'.

service nginx restart
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

What could cause this? It was working fine.

journalctl -xe sample:

Mar 30 11:36:51 systemd(1): nginx.service: Control process exited, code=exited status=1
Mar 30 11:36:51 systemd(1): Failed to start LSB: Stop/start nginx.
-- Subject: Unit nginx.service has failed
-- Defined-By: systemd
-- Support:
-- Unit nginx.service has failed.
-- The result is failed.
Mar 30 11:36:51 systemd(1): nginx.service: Unit entered failed state.
Mar 30 11:36:51 systemd(1): nginx.service: Failed with result 'exit-code'.
Mar 30 11:37:17 sshd(3451): refused connect from (
Mar 30 11:37:18 sshd(3452): refused connect from (
Mar 30 11:37:28 sshd(3453): refused connect from (
Mar 30 11:37:30 sshd(3454): refused connect from (
Mar 30 11:37:32 sshd(3455): refused connect from (
Mar 30 11:37:43 sshd(3462): refused connect from (
Mar 30 11:37:54 sshd(3464): refused connect from (
Mar 30 11:37:55 sshd(3467): refused connect from (

NetStat also looks good (on port 80)

root@admin:~# sudo netstat -tlnp | grep 80
tcp        0      0*               LISTEN      1065/nginx.conf
tcp        0      0  *               LISTEN      1215/vesta-nginx
tcp        0      0*               LISTEN      1065/nginx.conf
tcp6       0      0 :::80                   :::*                    LISTEN      1065/nginx.conf

android – UI code debugged, but not running

I have tried debugging this but it still doesn't work, could someone help me with this problem? Thanks, the code is listed below. I currently don't have access to the specific code I tested as it is on my other computer, but I know a problem is with the DP at the end of the code. Any help would be appreciated or pointing in the right direction!