SanDisk portable SSD strange problem

I brought a SanDisk portable SSD last year, named SanDisk Extreme Pro Portable (E80). It can be used on many computers without problem. But when connecting to a Windows on NUC11PAHi7, it can only be started with USB-A to C cable. While using USB C-C cable, this device is marked as cannot be started.

Last week, I try to connect this device to my Raspberry Pi 4 (8G), it cannot be recognized at all. I contact the service support and get a replacement. The new device looks the same as the old one, with the same name, but the model number is changed to E81. The new one can be detected and mounted on Raspberry Pi 4 but when I write large files into it, IO exception is thrown always.

Here is the log from dmesg:

[ 82.174619] usb 2-2: USB disconnect, device number 2
[ 86.214549] usb 2-2: new SuperSpeed Gen 1 USB device number 3 using xhci_hcd
[ 86.235518] usb 2-2: New USB device found, idVendor=0781, idProduct=55af, bcdDevice=10.84
[ 86.235534] usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 86.235546] usb 2-2: Product: Extreme Pro 55AF
[ 86.235556] usb 2-2: Manufacturer: SanDisk
[ 86.235567] usb 2-2: SerialNumber: <Removed By Me>
[ 86.246327] scsi host0: uas
[ 87.451423] scsi 0:0:0:0: Direct-Access SanDisk Extreme Pro 55AF 1084 PQ: 0 ANSI: 6
[ 87.452523] scsi 0:0:0:1: Enclosure SanDisk SES Device 1084 PQ: 0 ANSI: 6
[ 87.453670] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 87.454934] sd 0:0:0:0: [sda] 3906963617 512-byte logical blocks: (2.00 TB/1.82 TiB)
[ 87.454971] scsi 0:0:0:1: Attached scsi generic sg1 type 13
[ 87.455110] sd 0:0:0:0: [sda] Write Protect is off
[ 87.455125] sd 0:0:0:0: [sda] Mode Sense: 37 00 10 00
[ 87.455454] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
[ 87.456143] sd 0:0:0:0: [sda] Optimal transfer size 2097152 bytes
[ 87.476901] sda: sda1
[ 87.478994] sd 0:0:0:0: [sda] Attached SCSI disk
[ 87.489999] scsi 0:0:0:1: Failed to get diagnostic page 0x1
[ 87.495768] scsi 0:0:0:1: Failed to bind enclosure -19
[ 87.501102] ses 0:0:0:1: Attached Enclosure device
[ 118.602926] exfat: module is from the staging directory, the quality is unknown, you have been warned.
[ 118.606363] exFAT: Version 1.3.0
[ 118.607475] [EXFAT] trying to mount...
[ 118.737713] [EXFAT] mounted successfully
[ 257.485781] usb 2-2: USB disconnect, device number 3
[ 257.487191] blk_update_request: I/O error, dev sda, sector 2048 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
[ 257.497889] Buffer I/O error on dev sda1, logical block 0, lost async page write
[ 257.505495] blk_update_request: I/O error, dev sda, sector 34816 op 0x1:(WRITE) flags 0x800 phys_seg 2 prio class 0
[ 257.516111] Buffer I/O error on dev sda1, logical block 32768, lost async page write
[ 257.523988] Buffer I/O error on dev sda1, logical block 32769, lost async page write
[ 257.531876] blk_update_request: I/O error, dev sda, sector 36864 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
[ 257.542483] Buffer I/O error on dev sda1, logical block 34816, lost async page write
[ 259.414440] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 259.653823] sd 0:0:0:0: [sda] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
[ 259.954174] usb 2-2: new SuperSpeed Gen 1 USB device number 4 using xhci_hcd
[ 259.975162] usb 2-2: New USB device found, idVendor=0781, idProduct=55af, bcdDevice=10.84
[ 259.975179] usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 259.975190] usb 2-2: Product: Extreme Pro 55AF
[ 259.975200] usb 2-2: Manufacturer: SanDisk
[ 259.975211] usb 2-2: SerialNumber: <Removed By Me>
[ 259.984054] scsi host1: uas
[ 262.170728] scsi 1:0:0:0: Direct-Access SanDisk Extreme Pro 55AF 1084 PQ: 0 ANSI: 6
[ 262.171845] scsi 1:0:0:1: Enclosure SanDisk SES Device 1084 PQ: 0 ANSI: 6
[ 262.173027] sd 1:0:0:0: Attached scsi generic sg0 type 0
[ 262.173449] ses 1:0:0:1: Attached Enclosure device
[ 262.174092] ses 1:0:0:1: Attached scsi generic sg1 type 13
[ 262.174542] ses 1:0:0:1: Failed to get diagnostic page 0x1
[ 262.176656] sd 1:0:0:0: [sdb] 3906963617 512-byte logical blocks: (2.00 TB/1.82 TiB)
[ 262.180401] sd 1:0:0:0: [sdb] Write Protect is off
[ 262.180412] sd 1:0:0:0: [sdb] Mode Sense: 37 00 10 00
[ 262.180485] ses 1:0:0:1: Failed to bind enclosure -19
[ 262.185106] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA
[ 262.186292] sd 1:0:0:0: [sdb] Optimal transfer size 2097152 bytes
[ 262.216969] sdb: sdb1
[ 262.219280] sd 1:0:0:0: [sdb] Attached SCSI disk
[ 263.425802] usb 2-2: USB disconnect, device number 4
[ 263.428047] sd 1:0:0:0: [sdb] Synchronizing SCSI cache
[ 263.665835] sd 1:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
[ 263.994479] usb 2-2: new SuperSpeed Gen 1 USB device number 5 using xhci_hcd
[ 264.015056] usb 2-2: New USB device found, idVendor=0781, idProduct=55af, bcdDevice=10.84
[ 264.015069] usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 264.015078] usb 2-2: Product: Extreme Pro 55AF
[ 264.015086] usb 2-2: Manufacturer: SanDisk
[ 264.015095] usb 2-2: SerialNumber: 323130333757343030363638
[ 264.023743] scsi host1: uas
[ 265.437813] usb 2-2: USB disconnect, device number 5
[ 265.438360] xhci_hcd 0000:01:00.0: WARNING: Host System Error

Site moved back to Linux, again.

That’s the second time, lol. People fails in the same way huh?

I have used Azure Web Apps (on IIS) to host this website for more than 1 year and it turns out it is not good enough to run WordPress.

In the last year, the site was running in a very low speed. You may not observe it due to cache plugin, but I have to face it when publishing anything. The response time is around 20-60 secs for every process, proven by the chart displayed on the portal of Azure.

I also tried to use the Linux version of WordPress published officially using Azure Web Apps (on Nginx I guess). It’s faster, but still not fast enough, and the most critical is that’s not stable. Due to something unknown, it keep rolling config file back to the last version.

Finally, I decided to move all sites back to Nginx on Linux server without any SaaS solution. If you are facing this problem or want to host WordPress on Azure, you should consider to use a Linux server yourself instead of those official packages.

On more thing, there is another site powered by ShortUrl on the same web app, which need more time to move due to ShortUrl is built on DotNet Framework and is not able to run on Linux. My friend and I are rebuilt this program on DotNet Core 3 and it will be published on Github later.

Latest Chrome Dev version crashed on macOS Catalina DP 5

Hi.

I’m using Chrome from developer channel for a long time on my macOS.
Since August 14th, 2019, after an auto upgrade of the Chrome, it cannot be launched again. When starts, it shows a empty window with only 3 common color dots at the top left corner and then halt.

Tried rebooting and reinstalling, the problem cannot be fixed.

Currently, I turned it back to the stable channel, which works well.

Sorry that I cannot provide the version number of the affected version, which I cannot get without start it.

Update: In DP6 (19A536g), Chrome Dev version is working well now.

MSDN Magazine

It says MSDN Magazine is ended.

Here is the MSDN Magazine collection. All files are mainly downloaded from official site.

The issues listed below are replaced by the versions from emails due to reason specified.

  • 2018 Jan version: Wrong link to 2017 Jan.
  • 2018 Connect(); Missing link
  • 2019 July: 404 link
  • 2019 October: Not published yet.
  • 2019 November: Not published yet.

All I want, is write a lock…

Today, I need to use an instance of synced version of HashSet in C#, aka, ConcurrentHashSet<T> in tech language.

First, I dig some in GitHub and NuGet. I found 2 solutions contains this solution, as they described. One has the exact name of ConcurrentHashSet, but it’s not implemented the ISet<T>. Another is a big set which contains this class with the name, which is written using ConcurrentDictionary<T>, with no ISet<T> implemented either.

Hmm, it seem that if I really need ISet<T> support, I have to do it myself. Let me create class inherited HashSet<T> to write some overridden methods and properties with lock… Wait a minute, only 3 methods from Object is allowed for overriding? Wtf.

If I cannot stand on the shoulders of HashSet<T>, let me dig the HashSet<T> first. Luckily, Microsoft released the source code of the entire dotNet framework. HashSet<T> is included as well. All I need to copy the whole code into mine and… Uhh? What’s the license of the file?

By asking a lawyer friend, I’m told that I MAY have right to use this code in my program but I’m NOT GRANTED to publish the ConcurrentHashSet<T> I wrote separately. That maybe the reason why I failed in the first step — Microsoft didn’t finish their job and don’t allow anyone to fix it for them.