How to make a contact an SMS receiver for Android’s Share menu (specifically not using Direct Share)?

Using Android’s Direct Share, users can share content directly with contacts via SMS. It has its limitations and troublesome quirks, but it more or less works okay when an SMS app happens to support Direct Share.

But what about when an SMS app does not support Direct Share, like the popular open-source app QKSMS (https://f-droid.org/en/packages/com.moez.QKSMS/)?

How can you then set up a contact to be an SMS receiver that will appear in Android’s Share menu?

I found this very old question, but it does not exclude Direct Share, as it was not available when that question was written. Instead of editing that question (which would possibly change that author’s intent), I decided it to be more appropriate to ask a new question that specifically asks about the situation when an SMS app does not support Direct Share.

audio – Modify sound of a website in Chrome (Specifically Whatsapp Web running in Chrome –app box)

I have several Whatsapp Webs running in Chrome apps on Windows 10 (i.e. argument "C:Program Files (x86)GoogleChromeApplicationchrome.exe" --app=https://web.whatsapp.com (I can pick which with profile-directory argument)

However, they all play the same new sound when a message is received. How can I swap the new message sound of an individual instance for my own custom sound?

sql server – Why does my execution plan show a Clustered Index Scan is occurring when using an index hint that specifically uses a Nonclustered Index?

The Backstory:

I have a table with the following structure:

CREATE TABLE WideTable1
(
    BoringColumn1,
    BoringColumn2,
    CellPhoneNumberColumn Phone(VARCHAR(20)), -- User-defined types, see below
    PagerPhoneNumberColumn Phone(VARCHAR(20)), -- User-defined types, see below
    IsActive YN(CHAR(1)), -- User-defined types, see below
    BoringColumn3,
    ...
    BoringColumn350
)

The original query consuming this table was doing a few SQL functions on the CellPhoneNumberColumn and PagerPhoneNumber and then later using the output of those functions as predicates in another query. NULLIF(LTRIM(ISNULL(CellPhoneNumberColumn, PagerPhoneNumberColumn))) was one example of this.

The columns are also all user-defined types, in this case CellPhoneNumberColumn and PagerPhoneNumberColumn are defined as UDT Phone(VARCHAR(20)), so their underlying data type is VARCHAR(20). And IsActive is defined as YN(CHAR(1)) so it’s actually a CHAR(1).

Additionally to complicate things further, the collation of this table / database is Latin1_General_BIN.

Long story short, the original consuming query was running into Cardinality Estimate issues.
In an attempt to alleviate the issue, I created an index view on the above columns and SQL functions being applied to them with the following definition (*note I didn’t create this original logical, just trying to fix the performance of it):

CREATE VIEW PhoneNumbersNormalized WITH SCHEMABINDING AS

SELECT 
    NULLIF(LTRIM(ISNULL(CAST(CellPhoneNumberColumn AS VARCHAR(20)), CAST(PagerPhoneNumberColumn AS VARCHAR(20)))) AS Cell,
    SUM(CASE WHEN CAST(IsActive AS CHAR(1)) = 'Y'THEN 1 ELSE 0 END) AS IsActive 
FROM dbo.WideTable1
GROUP BY NULLIF(LTRIM(ISNULL(CAST(CellPhoneNumberColumn AS VARCHAR(20)), CAST(PagerPhoneNumberColumn AS VARCHAR(20)))) 

I also created the following indexes on the indexed view PhoneNumbersNormalized:

CREATE UNIQUE CLUSTERED INDEX IXV_PhoneNumbersNormalized_Cell ON dbo.PhoneNumbersNormalized(Cell)
CREATE NONCLUSTERED INDEX IXV_NC_PhoneNumbersNormalized_Cell_IsActive ON  dbo.PhoneNumbersNormalized(Cell, IsActive)

The Problem:
When I select from the indexed view PhoneNumbersNormalized with the Actual Execution Plan included, I noticed the execution plan specifcally mentions the original underlying table WideTable1 as where the data is coming from.

Furthermore if I select from indexed view PhoneNumbersNormalized with an indexed hint on the nonclustered index I created above IXV_NC_PhoneNumbersNormalized_PhoneNumber_IsActive the execution plan shows no mention of this nonclustered index being used, instead it says a clustered index scan is what it’s doing instead (note I obfuscated the original table name, it’s not actually called WideTable1 on my server):
Execution Plan

Pasted Execution Plan: https://www.brentozar.com/pastetheplan/?id=HJytxh2UP

Why is the execution plan always showing the original underlying table instead of the indexed view, and always using the clustered index on the underlying table even when my select query on the indexed view uses an index hint to force the use of the non-clustered index?

files – How do I exempt Administrators from a Filescreen made specifically to limit users? (Windows Server 2008 r2)

Using FSRM I’ve been able to block a certain file type from being generated (*.sync) from an application. However I’d like this limitation to only apply to users and not Administrators, they SHOULD have the ability to generate these files. How do I go about exempting Administrators? I’m on Windows Server 2008 R2 VM running on Azure (if that helps any).

What specifically is the extent of the UK’s membership/participation in the SIS, VIS, or other international information sharing networks?

In addition to the original questions, are any of the following specific events broadcasted?

  • Being assumed to be an illegal entrant…
  • Visa expiration and overstaying…
  • Visa refusal
  • Deportation/removal

What paid social advertising management tool (Facebook & Twitter specifically) is best for a campaign set up and reporting?

What paid social advertising management tool (Facebook & Twitter specifically) is best for a campaign set up and reporting?

france – How does UK quarantine work for visits specifically to see family?

I would like to see my parents who I haven’t seen since February. They live within an hour’s drive of Dover, I live within an hour’s drive of Calais.

With the current Covid restrictions, people arriving from France (plus other countries) must self-quarantine for two weeks while they are in the UK, but they are allowed to leave the UK again before the two weeks is up – going to the UK for a day trip is therefore technically possible.

Seeing as my trip would be for the day and the only time I would leave the car would be to sit in my parents’ back garden, am I breaking the quarantine restrictions? Is it even allowed? I have no other address to go to in the UK so can’t isolate somewhere else as there is nowhere else to isolate.

Is there any official guidance on this sort of situation? What is the British interpretation of quarantine in the current context? Can I visit my parents or does quarantine make this impossible?

testing – What do I call “unit tests” that are specifically developed during tinkering

Are these just throw-away code?

If these tests are not specifically designed for describing/asserting behavior of your application, in my opinion they should not be committed to the application repository. The cognitive overhead of developers figuring out what the tests are for and maintaining them would offset the minimal value they add. The test suite in its entirety should be descriptive of the behavior of the application, distinct from any module testing/learning exercises.

However, that does not mean that you necessarily have to throw them away (though I myself wouldn’t keep them for long). If you really want to keep the tests, but want to have them uncommitted, you could add a directory to your application repo and add that directory to your VCS exclusion list (e.g. .gitignore). That gets into your naming question; if I went that route, I would likely call this directory ignored, sandbox, test_debug or something like that, perhaps with a README explaining what the directory is for.

Better still, you could create a separate test repository (possibly a fork of your application repo) that makes clear the fact that these tests are just for getting familiar with the modules. That way you can keep the tests in VCS without having them directly associated with your real application and its test suite.

Is there a way of pulling off a report from M2 that shows stock against each SKU – specifically those with catalog view

I would like to pull off a report to show which SKU’s are in stock on Magento – specifically the main SKU’s not by size.

Is this possible?

Insight on HawkHost Plans – Specifically Purchasing the Plans

Got an email today about a spring savings event from HawkHost. Very good price. Memcached caught my eye. I thought I would add two services from HawkHost today. One would be Shared Hosting, the other would be Cloud Hosting. Whichever of our site needs redundancy could go on the Cloud Hosting.

I added both to my cart but I was confused, as there wasn’t anything different in my cart. The nomenclature was identical. Both were labeled Shared Hosting. I returned to the landing pages listed in the email. They are https://www.hawkhost.com/shared-web-hosting and https://www.hawkhost.com/cloud-hosting. I noticed that the Sign Up Now for the Shared Hosting Primary package is essentially the same link as the Cloud Hosting Primary link. This is what they are:

Primary option on Cloud Hosting:

Code:

https://my.hawkhost.com/cart.php?a=add&pid=113&promocode=spring2020r&billingcycle=biennially&configoption(24)=75

Primary option on Shared Hosting:
https://my.hawkhost.com/cart.php?a=add&pid=113&promocode=spring2020r&billingcycle=biennially

Notice how both of them have pid=113. Same product ID. The Cloud Hosting link at least has the &configoption parameter. Perhaps that is what lets HawkHost know you want to purchase Cloud Hosting instead of Shared Hosting. Cutting through the marketing lingo, you are letting HawkHost know you want to purchase the service that includes redundancy and fault-tolerance. Is the parameter all that is needed? Perhaps, but I found it odd that I was about to pay yet “Cloud Hosting” wasn’t mentioned anywhere, instead both things I added to my cart were labeled Shared Hosting.

Seeking reassurance that I was in fact adding two separate services, I opened a pre-sale ticket.

The reply to my ticket was two paragraphs. I have to admit, because of the first paragraph, I completely ignore the second paragraph. The first paragraph was explaining to me the differences between Shared Hosting and Cloud Hosting. I was annoyed (I know I shouldn’t have been) because that wasn’t something I was seeking clarification on. I know they are different, and I was aware of most of the differences. My annoyance stems from a decade of reporting bugs to companies such as broken SSL on their homepage, mixed https and http content on their homepage, missing knowledgebase redirects, etc.. only for the person replying to think I needed typical end-user assistance (try un-plugging it and plugging it in again) which is just a waste of time.

Anyway, I replied back letting them know I wasn’t looking for information about differences between the hosting options, rather I wanted confirmation that HawkHost was able to know which of those differences I wanted to purchase if both services had the same product ID.

They replied back and this is where I realized I missed the second paragraph earlier. Since Cloud Hosting is only provided in select locations, choosing your location at checkout is what determines if you get Cloud Hosting or not.

This was not what I expected. Cloud Hosting and Shared Hosting have their own landing pages on the HawkHost website – look at the site right now – and in the marketing email. To me, it is odd that in the cart and checkout process that they do not have their own first-class selections/distinctions, instead piggy-backing off the location you select.

Furthermore, I now realize you could set out to purchase Cloud Hosting after reading about it, but screw yourself up by choosing a location that doesn’t support Cloud Hosting. This would be easy to do to yourself since the locations aren’t labeled.

I didn’t find that very intuitive. If Tony or Brian want to clarify things, a quick win would be to append -Shared or -Cloud to the location drop-down on the cart page, “confproduct” section. Example: (New York City – Cloud) and (Toronto – Shared). I assume if you could easily give them their own product ID’s, you would have already. Something should probably be done though. Ordering is ambiguous, the order summary shows shared hosting no matter what.

Luckily, with prices between Shared Hosting and Cloud Hosting being the same, the worst a client can do is experience downtime when they realize that to their surprise, they didn’t purchase Cloud Hosting as intended because they unknowingly picked location that didn’t support it.

If any of this was incorrect, then the ticket I opened probably needs to be looked into as the information would be incorrect there too. I think the ticket was accurate, it was It is just odd that Shared Hosting and Cloud hosting are distinct in the navigation on the HawkHost website, yet pre-sales is trying to drill into my head how they are virtually identical.

tl;dr I am also in ecommerce.

Having the same product ID’s for two different products that get their own dedicated product pages on your website, would throw up a red flag to me. I just wanted clarification. But perhaps for future clients, they too may benefit from some improved labeling.

Epilogue: Getting two identical plans sans redundancy isn’t as interesting of a test as it could be, so ultimately I want to get Cloud Hosting and Semi-Dedicated hosting.