Tech geek. Life geek.

Author: David Yin (Page 1 of 171)

David is a blogger, geek, web developer. Founder of
He check David Yin's Blog everyday.

If you like his post, you can say thank you here

Update Samsung 970 EVO Plus NVMe M.2 SSD firemware

A few days ago, my desktop promoted that one firmware needs to be updated. It is a Samsung 970 EVO Plus NVMe M.2 SSD.  Almost nine months ago, I did a speed test on this SSD.

Now, after the update, I did the test again and see the difference.

First, the firmware update notice is on the Samsung Magician software.

Windows 10 notification

Update Samsung Firmware

So now the Firmware of My Samsung 970 EVO Plus NVMe 250GB SSD is updated from 1B2QEXM7 to 2B2QEXM7.

Drive Details of 970 EVO Plus

The first test is run on the old AS SSD Benchmark 1.8.5636.37293. All others are the same as before.

Continue reading

The must-have geeky tech gadgets of 2020

Thanks to modern technology and the continual stream of innovations that we’re exposed to, the world is pretty well equipped for the geek in all of us. What a time to be alive, right?

We’ve had the likes of virtual reality move into the mainstream, coupled with augmented reality games like Pokemon Go. Then there are the live dealer games at various casinos, who also offer creations like the Pharaoh slot available at MansionGroup, which has all sorts of new technology behind it. Chuck in introductions like satellite navigation systems for our cars and the never-ending improvements in our smartphones and it’s clear to see how far we’ve progressed. We’ve barely touched the surface there, too.


Gadgets are certainly another thing that is progressing year on year also. So, without further ado, we thought we’d go through a few of the standout gadgets of the year so far.


Zendure SuperTank USB-C portable charger


Do you travel around with your laptop and require a portable power bank? Look no further than the Zendure SuperTank USB-C portable charger. Measuring at 4.7- by 2.9- by 1.6-inches this little power box will have you sorted for hours, especially with its 27,000mAh battery. It can power up the likes of a 15-inch MacBook Pro and an iPhone XS, alongside other devices such as a fitness band or Bluetooth earphones. It also features a PD-enabled USB-C port and two USB-A ports, which is perfect for charging multiple devices. A neat little power bank, really.



Continue reading

Calibre 4.16 Release since Calibre 4.1

I am always keeping my Calibre desktop software updates.  And also I keep log the new features of Calibre here. I like Calibre because I have two Kindle and two Kobos.

New features for Calibre 4.16

  • Viewer/Edit book fuzzy search: Ignore soft hyphens and zero-width joiner characters when searching for text.
  • Tag browser: Allow adding/removing tags/authors/etc. to the currently selected book by right clicking on that tag and choosing “Apply to selected books”.
  • Kobo driver: Add support for updated firmware
  • Manage categories dialog: When editing a value with multiple values selected, change them all
  • Book list column header context menu: Add an entry to resize the column to fit its current contents.
  • Show completions when editing tags/authors/series etc in the Tag browser and Manage tags dialog.
  • Quickview: Double clicking an item now searches for it
  • Comments editor: Add an action to the context menu to smarten punctuation.
  • FB2 metadata: Add support for setting publisher and publish year

New features for Calibre 4.15

  • Viewer: Improve the interface for changing font sizes
  • Viewer: Add a keyboard shortcut (Ctrl+Alt+b) for adding a bookmark

New features for Calibre 4.14

  • Viewer: Add an option to have taps turn by screen fulls instead of pages, under Scrolling behavior
  • Viewer: Allow double clicking or long tapping on images to view then in a new window.
  • Edit Book: Add a new fuzzy search mode in which typographical quotes and various space types are matched by the plain equivalents
  • Content server: Add a new setting to allow un-authenticated users from specific IP addresses to make changes to the calibre library
  • Quick view: Double click in a column to show that column in the main book list

Continue reading

CDN compare: Azure vs Cloudfront vs BelugaCDN

It is a test of the speed from CDN Edge servers to the multi-locations. It is very important the signal for the real experience of the users.

Let me see how I implement the tests.

  • I created two endpoints on the Azure CDN, on Microsoft CDN and Akamai CDN.
  • I created a CloudFront distribution on Amazon CloudFront.
  • I created a CDN property on BelugaCDN.

All these four CDN settings pointed to a custom origin of one of my sites, which hosted on DigitalOcean.

The file I used for testing is a JPG file, an image file.

The testing tool is provided by KeyCDN performance tool.

I run at least two tests to make sure most of the testing server can get the JPG file from the cache of the Edge server(CDN), not back to the origin server.


Azure CDN: Standard Microsoft Tier

Standard Microsoft Tier CDN


The results are base on the 14 tests from different locations globally. I care about the TTFB much more than others.

What is TTFB

TTFB, which stands for time to first byte, is the amount of time it takes from when a client makes an HTTP request to it receiving its first byte of data from the web server. TTFB is an important aspect of website optimization since the faster the TTFB, the faster the requested resource can start being delivered to the browser.

The time to first byte is made up of three separate components.

  • The time needed to send the HTTP request
  • The time needed for the server to process the request
  • The time needed for the server to send back the first byte of the response to the client

What is a good TTFB?

The time to first byte can vary greatly depending on what sort of content you are serving (static vs dynamic), your server’s configuration, etc. Therefore determining what is a good TTFB number is difficult to answer and is variable based on your situation. However, on average anything with a TTFB under 100 ms is fantastic. Anything between 200-500 ms is standard, between 500 ms – 1 s is less than ideal and anything greater than 1 s should likely be investigated further.

As mentioned, it should be noted that these times are average benchmarks, however do not apply to all websites. Depending on the type of content and complexity of the application it may be completely unavoidable that the TTFB is greater than 1 second

Continue reading

PHP Benchmark of php 7.4.3 on a VPS

It is a performance test for PHP Benchmark on a VPS at a DigitalOcean droplet.
The server is located at San Francisco Datacenter 2.
Here is the system information:
Operating system Ubuntu Linux 20.04
Webmin version 1.941
Time on system Sun Apr 26 18:41:34 2020
Kernel and CPU Linux 5.4.0-26-generic on x86_64
Processor information Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz, 1 cores

The VPS has 1 CPU, 1GB RAM, 25GB Storage.

The php I installed on the VPS is just from the Ubuntu 20.04. It is php 7.4.3.

phpinfo of php v7.4.3

How To test the PHP benchmark.

I tested 7 times. So get rid of the highest one, and the lowest one. Get the average of the rest five scores.

|        PHP BENCHMARK SCRIPT        |
Start : 2020-04-26 18:36:58
Server :
PHP version : 7.4.3
Platform : Linux
test_math                 : 0.505 sec.
test_stringmanipulation   : 0.503 sec.
test_loops                : 0.223 sec.
test_ifelse               : 0.130 sec.
Total time:               : 1.361 sec.

The average results are 1.375sec.

Change Logs of the BIOS of B450M DS3H

I mentioned the upgrade of the motherboard BIOS, B450M DS3H rev1.0. But I forgot to describe the difference and changes.

1) There is no need to go into the BIOS settings to do anything. I just restart the computer to make the new BIOS work.

2) Change Logs


  1. Update AMD AGESA B
  2. Improve system boot time
  3. Improve RAID function compatibility
  4. Improve PCIe device compatibility


  1. Update AGESA ABBA
  2. Improve Destiny 2 gaming compatibility
  3. Correction of PCIe Gen4 being disabled when using a 3rd Gen Ryzen (Matisse) CPU due to this AGESA


  1. Update AGESA AB
  2. Improve M.2 SSD compatibility


  1. Update AGESA for next Gen. AMD Ryzen™ CPUs full support


  1. Improve USB device compatibility
  2. Improve Q-Flash compatibility


  1. Improve USB compatibility


  1. Update AGESA for Athlon 200-series (Raven2) APU and further new CPU support
  2. Improve USB compatibility


  1. Improve USB device compatibility

Continue reading

Upgrade B450M DS3H BIOS to latest F50

It is my desktop PC‘s motherboard. Gigabyte B450M DS3H. This post focus on its BIOS.

The original BIOS version shipped with the MB is F4. From my old post, you can see it.

Gigabyte B450M DS3H


Before I upgrade it today, it is already F42.

B450M DS3H F42B Bios

I can not remember when I upgraded it. So just forget it. I am going to show you how I upgrade the BIOS from F42b to F50.

Continue reading

Factors to Consider When Buying Gaming Chairs

Transitioning from an ordinary office chair to a dedicated gaming chair is an investment of a lifetime. It means that you’re not only focusing on your comfort, but also on your health. In the same way you assemble the best gaming components for the best experience, so should you invest in a chair that matches the gaming PC build.

The ideal gaming chair is determined by several factors, most importantly, user comfort and wellbeing in the long run. Chairs come in different modes focused on either height, width, and supported weight. With the variety of gaming and office chairs in the market, pick one that delivers utmost quality in terms of the above mentioned factors, without necessarily paying top dollar for your acquisition. So, what should you consider before buying that gaming chair?

Height – The height of a chair determines the ultimate level of comfort you will enjoy while sitting on the chair. The best height is where the user can comfortably place their feet on the floor without hanging, and his knees are near-level with the sitting space of the chair.

Modern chairs are designed to allow users to adjust to their convenient heights, therefore, it is important to establish that the adjusting capacity is well within your comfortable height before buying.

Comfort – Comfort when sitting is such a broad prospect. A chair that is not within the required height is considered an uncomfortable chair, but there are other elements of comfort that need to be checked as well.

Buy a chair that is made with high-density foam, and preferably of pure leather. Pure leather makes your chair soft and incredibly appealing in appearance.

Flexibility – When choosing a gaming chair, the level of flexibility is paramount. The chair should give you the freedom you desire to adjust it to the required levels. At times you will need to rest your arms on the armrest, or recline the chair to a sleeping angle whenever you need to relax. Ensure that you check out some of these factors before making the purchase.

Design – The first thing that strikes you in a gaming chair is the design. Design refers to the positioning of different aspects of the chair, for example, how armrests are placed, the curve at the back, and the size and shape of each element. Creativity permits that designers can introduce new designs to the market, but primarily, ensure that you pick a design that is as appealing as it is comfortable.

Back support – Given, most gamers spend a lot of their time in a sitting position, it is important that you invest in a chair that offers a health support for your back. There are numerous health issues associated with sitting uncomfortably for long hours, therefore, ensure that the acquisition you make addresses the comfort of your back even when sitting for long hours.

Cost – From a business point of view, the cost of your gaming chair should not overshadow your other gaming equipment. However, invest wisely in a durable chair that provides comfort and safety for the user in the long run. Durable and well-designed chairs may attract high costs, but luckily a chair is a one-off purchase.

« Older posts

© 2020 David Yin's Blog

Theme by Anders NorenUp ↑