What can Trump supporters possibly say to defend Trump after he ignored the report on Russia having bounties on US Troops?

1) The intelligence services get thousands of reports every day and they are not passed on to the president unless they are corroborated. You don’t want POTUS to be worrying about things that are probably not true.

2) We know the NYT report was not completely true because they claimed POTUS was briefed and both the White House and the Director of National Intelligence say otherwise. (Doesn’t President Trump get into lots of trouble when he is thought to be disbelieving of his intel agencies? Are we doing it now?)

3) Seeding false stories to known groups of people is a good way to catch any leakers. If that false story gets out then you are part way to tracking that pathway.

4) Leaking a story and blaming POTUS which will cause MSM outrage then point back to the real story which implicates someone else is a tricky smart move. It lets the MSM commit themselves and makes it harder for them to spin it or backtrack.

This could have been the original story. Note the date. <Iran is paying Taliban fighters $1,000 for each U.S. soldier they kill in Afghanistan> http://www.nbcnews.com/id/39014669/ns/world_news-s…

Kayleigh McEnany slaps down the New York Times over report of Russian bounties on US troops?

White House press secretary Kayleigh McEnany fired back at the New York Times over a bombshell report that Russia paid bounties to the Taliban to target and kill U.S. troops.

Critics of President Donald Trump pounced on the report to criticize him for either not knowing about the Russian scheme, or not doing anything about it.

The president addressed the controversy in a tweet on Sunday and denied the allegations.

“Intel just reported to me that they did not find this info credible, and therefore did not report it to me or @VP. Possibly another fabricated Russia Hoax, maybe by the Fake News @nytimesbooks, wanting to make Republicans look bad!!!” the president tweeted.

America loves Trump-  why do Democrats hate USA?

sharepoint online – Report of all lists/libraries and documents where a particular keyword in available

One of our monitoring tool is getting replaced by another tool.

So I need to generate a report all lists items/libraries and documents where the old tool name is referred and take action. I have to check this in both SharePoint Online and SharePoint 2013 on-prem farms.

Possible to get this report as excel in OOB or using PS script?

do press release distribution to 30 sites with google news and report with delivery for $125

do press release distribution to 30 sites with google news and report with delivery

Do you want to promote your Product/Services/Events/Book/Music/Kickstarter campaigns/Apps, etc? NewWayMedia is the only online Press Release distribution service that guarantees inclusion on 30+ news websites, including national, regional, local, trade and industry, and international news websites.

  • We target top news websites locally, nationally, and internationally.
  • We help create a powerful presence on the most happening news websites for your industry.
  • Our guaranteed inclusion features assure more eyeballs on the web.

Google news publication standard and distribute to around 30 news sites.

We offer the following:

  • Massive SEO distribution
  • You get to see the Copy of Press Release before the Distribution.
  • Fast Delivery
  • All LIVE LINKS guaranteed in PageRank 3-7 sites
  • All sites have High DA and High PA
  • Anchor Text Links Allowed

Complete service including:

Conceptualization: Helping you write the perfect media pitch with creative PR ideas.
Formatting: Correct formatting that will be accepted by major news partners.
Submission: Syndicated press release distribution with a high acceptance rate.

.

anonymous – Sought: Online solution to anonymously report complaints and get back to users

I’m looking into organising a conference, and I’d like to offer participants a means to report breaches to the code of conduct anonymously online. Specifically, the system should:

  • Allow to file a report anonymously
  • Allow for receivers of the complaint to get back to the authors
  • Only allow for authors with a token/password to file complaints to keep it within conference attendees. Alternatively be accessed with specific link only.
  • Ideally, emails / complaints should be hosted on 3rd party server to guarantee anonymity

I’m open to suggestions for non-commercial as well as commercial services, and also for tweaking a more generic system towards this end. Many thanks!

Why are unknown sites to which I don’t link listed in Google Search Console’s “Top linking sites” report?

Those are sites that link to your site, not sites to which you link. If you click on the circled question mark, you can see Google’s explanation:

Links from outside your property to your property. Values are trimmed to root domain and grouped. If the current property is listed here, it is because the subdomain of the host page has been omitted. For example, if the link is from www.example.com, the value shown here would be example.com.

You can see exactly which pages link to your site and which pages they link to.

  1. Clicking on the site. It will take you to the “Top target pages” where you can see which pages on your site get the link.
  2. Click on the page from your site. It will take you to the “Top linking pages” report which shows you which pages on the external site link to your page.

rest – report of all projects from Project center 2016 filtered by … Active Projects [Enterprise Custom Field]

How can I get all projects which are active…Where Project Status = active ?
How to read…. only active projects from project Center ?

1- http://url/.../ProjectData or 
2- http://.../_api/ProjectServer

You can type in a browser and find out what You can access. ProjectData is formed more friendly way (including custom fields)
Please suggest ?
Thanks

what is core web vitals report in search console?


what is core web vitals report in search console?

javascript – TypeScript model and API response data diff checker report

The problem

As a Front-end developer, I do not have control over the data that is returned from the Backend. I sometimes notice that the data shape and types I expect on the Front-end are different from the actual data inside the API response. I don’t want to manually look up these differences and I want to have some kind of report that points out these cases:

1. Missing Property – some properties that I expect are not found inside the response data

2. Unexpected Property – extra properties inside the response data that I don’t expect

3. Type Mismatch – the types on certain properties inside the response data are different from what I expect

4. Nullable Mismatch – I don’t expect the value on certain properties to be null

Based on this, I’m trying to create apiDiffCheckReport, that generates the mentioned report and checks whether res.data is safe to dump inside my typed users array. So I can simply do this after every API GET response:

const res = await axios.get("https://my.api.com/users") 
const (isResDataSafe, report) = apiDiffCheckReport(res.data) // <-- res.data is always type of <any>

if (isResDataSafe) {
  const users: User() = res.data // <-- here res.data is "type of <User()>" 
}

The solution

To be more specific, I have a TypeScript User model (this is how I expect the response data to look like):

models/User.ts

export interface Comment {
  id: number;
  body: string;
}

export interface User {
  id: number;
  createdAt?: string;
  newsLetter?: boolean;
  name: string;
  age: number;
  comments?: Comment();
}

and my API returns the following data after calling the /users endpoint:

API Response data

(
  {
    "id": "0", // <-- Should detect this as 3. Type Mismatch,
               //     because I expect a <number> here
    "createdAt": "2020-06-06T08:34:49.749Z",
    "newsLetter": true,
    "isPremium": false, // <-- Should detect this as 2. Unexpected Property, 
                        //     because I don't expect this property
    "name": "John",
    // <-- Should detect this as 1. Missing Property, 
    //     because I expect an `age` property here
    "comments": (
      {
        "id": null, // <-- Should detect this as 4. Nullable Mismatch, 
                    //     because I don't expect <null> here
    
        "subtitle": "my first comment" // <-- Should detect this as 2. Unexpected Property, 
                                       //     because I don't expect this property

        // <-- Should detect this as 1. Missing Property, 
        //     because I expect a `body` property here
      }
    )
  },
  {
    "id": "1",
    "createdAt": "2010-06-06T08:34:49.749Z",
    "newsLetter": false,
    "isPremium": false,
    "name": "Tom",
    "comments": (
      {
        "id": null,
        "subtitle": "my second comment"
      }
    )
  }
)

First, I flat (using npm flat) the API response data and my initialized expected User array. To my User array values I also hardcode the information whether the property is nullable or not like so:

data/UserDataManager.ts

const flatResData = flat(resData); 
const flatExpectedData = flat(initUserArr(resData.length));
const flatExpectedAllData = initAllUserArr(flatResData, flatExpectedData);

// console.log(flatResData)
// {
// 0.id: "0"
// 0.createdAt: "2020-06-06T08:34:49.749Z"
// 0.newsLetter: true
// 0.isPremium: false
// 0.name: "John"
// 0.comments.0.id: null
// 0.comments.0.subtitle: "my first comment"
// 1.id: "1"
// 1.createdAt: "2010-06-06T08:34:49.749Z"
// 1.newsLetter: false
// 1.isPremium: false
// 1.name: "Tom"
// 1.comments.0.id: null
// 1.comments.0.subtitle: "my second comment" }

// console.log(flatExpectedAllData)
// {
// 0.id: 1                     <-- not nullable
// 0.age: 1                    <-- not nullable
// 0.name: "1"                 <-- not nullable
// 0.createdAt: "0"            <-- nullable
// 0.newsLetter: false         <-- nullable
// 0.comments.0.id: 1              and so on...
// 0.comments.0.body: "1"
// 1.id: 1
// 1.age: 1
// 1.name: "1"
// 1.createdAt: "0"
// 1.newsLetter: false
// 1.comments.0.id: 1
// 1.comments.0.body: "1" }

Inside my apiDiffCheckReport, I’m handling each report’s case separately. To get the 1. Missing Properties and the 2. Unexpected Properties, I first look for all the matching keys (subKeys for arrays i.e. 0.comments) in both resDataKeys and flatExpectedKeys. After that I just simply filter out all the extra keys from the original array:

const matchingKeys = flatExpectedKeys.map(key => {
  let matchingKey = "";

  if (flatResKeys.includes(key)) {
    matchingKey = key;
  }

  const subKey = getSubKey(key);

  if (flatResKeys.includes(subKey)) {
    matchingKey = subKey;
  }

  return matchingKey;
});

// for 1. Missing Properties the `targetArr` is `flatExpectedKeys`. In other words, give me all the keys
// that were expected but were not found inside `flatResKeys`.

// for 2. Unexpected Properties the `targetArr` is `flatResKeys`. In other words, give me all the keys
// that arrived inside the API response but were not found inside `flatExpectedKeys`.

return targetArr.filter(key => !matchingKeys.includes(key));

Finally, In both cases, I simply remove the duplicates and make the keys more human-readable. As a result, I get something like this:

// console.log(extractUnexpectedKeys(flatExpectedKeys, flatResKeys))
//               ↓
return formatReportKeys(arrUnique(arrNoDigits(unexpectedKeys)));
 
// (".isPremium", ".comments().subtitle")

// console.log(extractMissingKeys(flatExpectedKeys, flatResKeys))
//               ↓
return formatReportKeys(arrUnique(arrNoDigits(missingKeys)));

// (".age", ".comments().body")

To get the 3. Type Mismatch report, I loop through the expected keys, check whether the key is also inside response keys, and then compare the two key-value types. I ignore the cases when the value is null and the property is nullable. That should not be a Type Mismatch, because I also expect null in that case:

const mismatchedTypes: any = ();

Object.keys(flatExpectedData).forEach(key => {
  if (Object.keys(flatResData).includes(key)) {
    const item = {
      key: key,
      expectedType: typeof flatExpectedData(key),
      foundType: typeof flatResData(key)
    };
    const isTypeMismatch = item.foundType !== item.expectedType;
    const isNullable =
      flatResData(key) === null &&
      (flatExpectedData(key) === 0 || 
        flatExpectedData(key) === "0" ||
        flatExpectedData(key) === false); // <-- this is where I make use of the User array 
                                          //     initialization, back in data/UserDataManager.ts, I'm 
                                          //     using the value to find out whether the property is 
                                          //     nullable  or not

    if (isTypeMismatch && !isNullable) {
      mismatchedTypes.push(item);
    }
  }
});

And finally the 4. Nullable Mismatch, I look for a mismatch through the values again:

const isTypeMismatch =
  typeof flatExpectedData(key) !== typeof flatResData(key);
const isNullableMismatch =
  flatResData(key) === null &&
  (flatExpectedData(key) !== 0 &&
    flatExpectedData(key) !== "0" &&
    flatExpectedData(key) !== false);
    
if (isTypeMismatch && isNullableMismatch) {
  mismatchedNullables.push(key);
}

This is what the final report looks like:

// 0: { case: 1, key: ".age" }
// 1: { case: 1, key: ".comments().body" }
// 2: { case: 3, key: ".id", expectedType: "number", foundType: "string" }
// 3: { case: 3, key: ".comments().id", expectedType: "number", foundType: "object" }
// 4: { case: 4, key: ".comments().id" }
// 5: { case: 2, key: ".isPremium" }
// 6: { case: 2, key: ".comments().subtitle" }

Before I jump into my TODOS, I would like some feedback on my current progress. Feel free to edit the code on sandbox, please ignore the generateHtmlReport, that’s just a quick way to visualize the final report.

Edit new

TODOS

  • handle nullable arrays (I’m only to identify primitive nullable types via values, but I don’t know how to handle arrays/objects)
  • more options inside apiDiffCheckReport, such as isStrict (allow warnings), isFull (all cases), etc.

June 2020 – Server Parts Pricing Report

This is the sixth installment of monthly server price reporting for 2020.

If you’ve been following along, we’ve been tracking changing parts prices for RAM, SSDs, Hard Drives, CPUs, and a couple of GPUs. Typically this is done monthly, and then shared with WHT and on our blog.

Currently, all listed prices are from ebay, for used hardware. I may start tracking more new hardware as well if there is a demand for it.

Prices as of 9th June, 2020

– or + indicates if the price has gone up or down since last month

Code:

Price Low* / Price High** / Part Name


SSDs

$80() / $125() / 480gb Intel DC S3500
$190() / $275() / 800gb Intel DC S3500
$250() / $290() / 1.6TB Intel DC S3500

$100() / $150() / 240gb Intel D3-S4610
$170() / $210() / 480gb Intel D3-S4610
$360(-) / $440(-) / 960gb Intel D3-S4610
$580(-) / $680(-) / 1.92tb Intel D3-S4610
$1130(+) / $1292() / 3.84tb Intel D3-S4610
 
Hard Drives

$40() / $50() / 3TB HGST SATA
$150(-) / $170(-) / 8TB HGST SATA
$168(+) / $230(+) / 10TB HGST SATA
$299() / $320() / 12TB HGST SATA

***********************

DDR3 RAM

$10() / $15() / 8GB DDR3 (a)
$12() / $27() / 8GB DDR3 (b)
$30(+) / $50(+) / 16GB DDR3 (a)
$25(-) / $50() / 16GB DDR3 (b)
$68() / $68() / 32GB DDR3 (c)


DDR4 RAM

$28() / $35() / 8GB DDR4 (d)
$35() / $80() / 8GB DDR4 (e)
$40() / $115() / 8GB DDR4 (f)
$50() / $80() / 16GB DDR4 (d)
$70() / $140() / 16GB DDR4 (e)
$95(-) / $195() / 16GB DDR4 (f)
$130(+) / $190() / 32GB DDR4 (d)
$100(-) / $145() / 32GB DDR4 (e)
$130(-) / $225() / 32GB DDR4 (f)

***********************

E5v2 CPUs

$80() / $115() / E5-2660v2
$150() / $225(+) / E5-2680v2
$189() / $240() / E5-2697v2

E5v3 CPUs

$72(-) / $150() / E5-2650v3
$95(+) / $110() / E5-2660v3
$99(-) / $112(-) / E5-2670v3
$99(-) / $136(-) / E5-2680v3
$159(-) / $189(-) / E5-2690v3
$299() / $380(+) / E5-2695v3
$450(-) / $715() / E5-2698v3
$750() / $999() / E5-2699v3


E5v4 CPUs

$340(-) / $595() / E5-2650v4
$750() / $1295() / E5-2660v4
$329() / $495(-) / E5-2680v4
$795(-) / $1095(-) / E5-2690v4
$1250(-) / $1650(-) / E5-2699v4

***********************

Graphics Cards

$425() / $475() / Nvidia GTX 1080Ti
$290() / $325() / Nvidia GTX 1080
$275() / $350() / AMD Vega 64

To compare to last month, here are the May 18th, 2020 prices:

Code:

Price Low* / Price High** / Part Name


SSDs

$80(-) / $125(-) / 480gb Intel DC S3500
$190(+) / $275() / 800gb Intel DC S3500
$250() / $290() / 1.6TB Intel DC S3500

$100() / $150() / 240gb Intel D3-S4610
$170() / $210() / 480gb Intel D3-S4610
$440(-) / $460(-) / 960gb Intel D3-S4610
$675() / $980(+) / 1.92tb Intel D3-S4610
$1080() / $1292(+) / 3.84tb Intel D3-S4610
 
Hard Drives

$40() / $50() / 3TB HGST SATA
$160() / $175() / 8TB HGST SATA
$134() / $220() / 10TB HGST SATA
$299() / $320() / 12TB HGST SATA

***********************

DDR3 RAM

$10() / $15() / 8GB DDR3 (a)
$12() / $27() / 8GB DDR3 (b)
$25() / $40() / 16GB DDR3 (a)
$30(+) / $50(+) / 16GB DDR3 (b)
$68() / $68() / 32GB DDR3 (c)


DDR4 RAM

$28(+) / $35() / 8GB DDR4 (d)
$35() / $80() / 8GB DDR4 (e)
$40() / $115() / 8GB DDR4 (f)
$50() / $80(+) / 16GB DDR4 (d)
$70(-) / $140() / 16GB DDR4 (e)
$95(-) / $195() / 16GB DDR4 (f)
$115() / $190() / 32GB DDR4 (d)
$122() / $145() / 32GB DDR4 (e)
$150() / $225() / 32GB DDR4 (f)

***********************

E5v2 CPUs

$80() / $115(-) / E5-2660v2
$150() / $210() / E5-2680v2
$189() / $240() / E5-2697v2

E5v3 CPUs

$90() / $150(-) / E5-2650v3
$80(-) / $110(-) / E5-2660v3
$112() / $127() / E5-2670v3
$136() / $150() / E5-2680v3
$174(-) / $199(-) / E5-2690v3
$299(-) / $350() / E5-2695v3
$699() / $715() / E5-2698v3
$750(+) / $999() / E5-2699v3


E5v4 CPUs

$427() / $595() / E5-2650v4
$750() / $1295() / E5-2660v4
$329(-) / $499() / E5-2680v4
$849() / $1245(-) / E5-2690v4
$1395() / $1800() / E5-2699v4

***********************

Graphics Cards

$425() / $475() / Nvidia GTX 1080Ti
$290() / $325() / Nvidia GTX 1080
$275() / $350() / AMD Vega 64


* Price Low — The lowest price to buy this part from a reputable seller in a moderate quantity, price as shipped to the US

** Price High — There is a reasonably large quantity of this part available from multiple reputable sellers for this price or lower, price as shipped to the US

*** Price for the lowest priced drive of this size, matching this model number or better in the same class. “Same class” would mean sata (S) or nvme (P), as applicable. “Better” means a higher model number than listed. Ranked from worst to best, Intel model numbers are 3500, 3510, 3600, 3610, 3700, 3710

(a) — 2Rx4 PC3L-10600R ECC REG

(b) — 2Rx4 PC3L-12800R ECC REG

(c) — 4Rx4 PC3L-12800L ECC REG LRDIMM

(d) DDR4 PC4-2133P ECC Registered

(e) DDR4 PC4-2400T ECC Registered

(f) DDR4 PC4-2666V ECC Registered

Some noteworthy changes from last month:

* This month we are still seeing a distinct lack of movement in parts pricing with most everything, though there has been some slight downward shift in the prices for CPUs.

* Graphics Cards have remained stable with no price fluctuations in several months.

* There has been improved availability in SSD’s and CPU’s this month, which may be helping with availability.

* Other than that, there doesn’t seem to be any noteworthy changes this month!

As before, let me know if you’ve got any feedback, how I can make this more useful, etc.