Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)AR
Posts 3
Comments 96
I benchmarked 6 different metal USB sticks
  • I agree of course, hence why I am only picking metal ones. I've lost USB sticks to broken clips and bodies.

    Why would they have thermal issues? If anything, they should dissipate heat better than plastic drives.

    Or is it that by thermal issues people mean that they get hot to the touch?

  • I benchmarked 6 different metal USB sticks
  • I remember having that problem with the original Kingston.

    Because I didn't manually copy large files, I couldn't say.

    If there's any you'd like me to test this for (except the Samsung Bar, because I've given it away) I can do so.

  • I benchmarked 6 different metal USB sticks
  • The sharp parts were on the side you plug into the computer, all the way around the lip but especially the corners.

    I used a large steel file, but a smaller diamond file would work too I'm sure.

    Simply rub the corners at a 45 degree angle with the file until it no longer hurts to touch. Go slowly and gently so you don't bend it.

  • I benchmarked 6 different metal USB sticks
  • Yeah I noticed on my app too. Using Markdown syntax but the table is quite wide so it's hard to fit on a mobile screen. I've found that rotating my phone to landscape helps, at least on my app.

  • I benchmarked 6 different metal USB sticks
  • When you boot from a USB, it's usually read-only, so I figured random writes wouldn't be super important.

    I'm hoping that flashing a new image is mostly sequential, but I might do a quick test with Rufus if you're interested.

  • I benchmarked 6 different metal USB sticks
  • For me I found that the lack of responsiveness when in the booted environment was problematic. I use stuff like GParted on Linux bootable USBs to manage partitions too.

    Writing a new image to the stick was also really slow.

    New sticks are £10 for 64GB, so I recommend giving one of the above a try and see if you get a better experience!

  • I benchmarked 6 different metal USB sticks

    Background

    I have had the same Kingston DataTraveller DTSE9 since around 2010, when I was still in school. I've carried it on my keychain for at least 12 years and it still works, its "the old reliable".

    That said, it's slow. Very slow. I use it mostly as a boot USB for Linux / Windows, so I need several sticks with decent random read speed, and decent write speed for when I update them.

    My criteria were:

    • All-metal construction for durability, including the keychain loop
    • Sits well on a keychain next to keys
    • Reasonable speed, including random reads.

    Testing method

    I evaluated the sticks in two ways.

    I ran CrystalDiskMark with 256 MiB (x5) configuration.

    I also measured the angle at which the USB stick sits on a keyring. I found that several of them could not sit perpendicular to a keyring it because of their geometry, which makes it difficult to comfortably use them next to keys.

    At the datum of 0 degrees, the key sits perpendicular to the keyring.

    Results

    The competitors

    Here are the 6 main competitors in this space I bought.

    All transfer units are in MB/s.

    | Product | Price (£) | Angle on keyring (0deg is best) | Sequential reads Q8T1 | Sequential reads Q1T1 | Random reads Q32T1 | Random reads Q1T1 | Sequential writes Q8T1 | Sequential writes Q1T1 | Random writes Q32T1 | Random writes Q1T1 | | --------------------------------- | ------------------ | ------------------------------- | --------------------- | --------------------- | ------------------ | ----------------- | ---------------------- | ---------------------- | ------------------- | ------------------ | | Corsair GTX 128GB | 65 (256GB version) | 0 | 470.214 | 429.330 | 157.436 | 19.390 | 436.990 | 414.201 | 166.829 | 38.937 | | Samsung Bar 64GB | 10 | 55 | 305.424 | 305.268 | 14.517 | 13.428 | 36.434 | 36.247 | 20.537 | 21.619 | | Kingston DTSE9G3 64GB | 11 | 0 | 246.705 | 244.496 | 13.756 | 13.028 | 100.236 | 110.054 | 0.484 | 0.474 | | Integral Arc 3 | 10 | 0 | 162.336 | 161.338 | 15.567 | 11.188 | 49.457 | 47.965 | 5.032 | 4.244 | | Kingston DataTraveller Micro 64GB | 11 | 0 | 247.000 | 245.247 | 13.788 | 12.961 | 100.932 | 101.292 | 0.496 | 0.470 | | Sandisk Ultra Luxe 64GB | 12 | 25 | 403.863 | 399.974 | 12.438 | 12.054 | 91.835 | 91.685 | 4.272 | 4.258 |

    Some additional notes:

    • The Samsung Bar had really sharp corners. You might need to file them down like I did.
    • Corsair GTX: the 128GB version is no longer available and the lowest capacity is 256GB. It's more of a portable SSD in the form of a USB stick, which makes it really fast, but it's bulkier than a normal USB stick, though not by much. Often it takes up more than one USB port because it's wide. It's still very good and I recommend it.

    Other devices

    Some related products I own but don't qualify for this comparison but are offered up here for context.

    Here's why they don't qualify.

    • Crucial P3 Plus: It's an NVME SSD. Can be made portable with a good enclosure, but too bulky for what I'm looking for.

    • Samsung 860 Evo: It's a SATA SSD, definitely not the right form factor.

    • Sandisk Ultra Curve: I bought this thinking it was made out of metal, but it was not. It's fairly flimsy plastic.

    • Kingston DTSE9 16GB: This is my old stick. The old reliable. No longer sold, but I've tested its successor.

    • Samsung SD Card: It's a 2016 MicroSD card connected to my PC via a MicroSD-SD adapter and a USB card reader. I included this as a meme.

    | Product | Sequential reads Q8T1 | Sequential reads Q1T1 | Random reads Q32T1 | Random reads Q1T1 | Sequential writes Q8T1 | Sequential writes Q1T1 | Random writes Q32T1 | Random writes Q1T1 | | ------------------------------------- | --------------------- | --------------------- | ------------------ | ----------------- | ---------------------- | ---------------------- | ------------------- | ------------------ | | Crucial P3 Plus M.2 NVME 2TB | 1598.227 | 1332.131 | 305.220 | 46.643 | 1560.989 | 1452.256 | 238.134 | 102.502 | | Samsung 860 Evo SATA 1TB | 564.446 | 539.913 | 272.631 | 43.322 | 536.440 | 518.168 | 238.752 | 101.313 | | Sandisk Ultra Curve | 160.091 | 158.859 | 9.271 | 9.043 | 58.680 | 60.377 | 2.902 | 3.209 | | Old Kingston DTSE9 16GB | 18.452 | 18.220 | 8.473 | 8.096 | 13.626 | 13.629 | 0.115 | 0.026 | | Samsung Memory Pro Plus Micro SD Card | 20.765 | 20.969 | 5.146 | 5.102 | 19.493 | 20.316 | 2.181 | 3.421 |

    Conclusion

    There are no clear winners in this fight.

    • The Corsair GTX is the fastest in all categories by a country mile, but has a larger form-factor than other entries and higher price. Very good, but not for everyone.
    • Samsung Bar has the fastest random writes, and decent performance in other metrics for its USB stick form factor, but sits awful on a keychain due to the angled hole.
    • The Integral Arc 3 has solid random performance, but worst sequential performance than the rest.
    • Sandisk Ultra Luxe gets the best overall balance of performance, but does not sit on the keychain super well.
    • The two Kingston's perform effectively the same, with the Micro being much more compact. That said, that can be a disadvantage on a keyring if there are adjacent items.
    • All competitors (bar the GTX) had similar random reads.

    For me, I'd say the right choice is either the Kingston DTSE9G3. It's a nice upgrade over my old DTSE9 and sits nicely next to it's grandfather. If I needed any random writes though, for copying lots of small documents like code files, I'd pick the Integral Arc 3.

    140

    Caption this

    25

    Handbrake custom LapSharp values

    This is a short how-to on how to set custom values for LapSharp sharpening in Handbrake.

    Not sure if this is the right place to post this. I would have historically posted it to a dedicated sub-reddit on Reddit, but I can't stand the owners of that website nowadays.

    This is all original work, but I may myself repost this as a blog post at some point to try to improve reach if this gets burried.

    Why?

    I like Handbrake's LapSharp sharpening, but I found I wanted something in between the Stronger and Very Strong presets, which have a big jump between them, for a movie I was encoding. Therefore, I was trying to find out how to use the "Custom" value in the drop-down to get something in between the two.

    I am not an expert in video encoding nor a command line wizard, so I prefer to use Handbrake over FFMPEG for most encoding tasks.

    Finding out how

    A general search around the internet, a skim through the documentation and questions to the prominent AI tools of today gave me no (or incorrect) answers on how to set these values.

    It was only with some extra digging through the handbrake forums that I found people posting their logs for an unrelated problems that I noticed that Handbrake logs the following when you encode with LapSharp:

    [09:01:35] * video track [09:01:35] + decoder: h264 8-bit (yuv420p) [09:01:35] + filters [09:01:35] + Framerate Shaper (mode=0) [09:01:35] + frame rate: same as source (around 23.976 fps) [09:01:35] + Crop and Scale (width=1920:height=1040:crop-top=20:crop-bottom=20:crop-left=0:crop-right=0) [09:01:35] + source: 1920 * 1080, crop (20/20/0/0): 1920 * 1040, scale: 1920 * 1040 [09:01:35] + Sharpen (lapsharp) (y-strength=1.1:y-kernel=isolog:cb-strength=0.55:cb-kernel=isolog)

    Sure enough, pasting this string into the Custom textbox when the Custom preset is selected gave me equivalent results to the Very Strong preset.

    Looking through the source code of Handbrake, I found the function that converts presets to values. It's written in C, which is not my forte, but we can see a bunch of if statements that pick values based on the Preset (Ultra-light, Light, Medium etc.) and the Tune (None, Film, Grain etc.). Comparing with my log, we can determine that In the code strength[0] is y-strength and strength[1] is cb-strength. Kernel is picked purely based on Tune value, and seems to always match between y-kernal and cb-kernal.

    c else if (!strcasecmp(preset, "stronger")) { strength[0] = 0.5; strength[1] = 0.25; } else if (!strcasecmp(preset, "verystrong")) { strength[0] = 1.1; strength[1] = 0.55; }

    Here's a chart of values for Grain Tune:

    !Chart of parameter values at different presets

    Ok, but how do I use it?

    If you want to go between Presets values, simply interpolate (pick values between) two presets. For example, with Grain Tune, We can see from the code that

    Stronger is y-strength=0.5:y-kernel=isolog:cb-strength=0.25:cb-kernel=isolog

    Very strong is y-strength=1.1:y-kernel=isolog:cb-strength=0.55:cb-kernel=isolog

    So, the mid-point between the two is y-strength=0.8:y-kernel=isolog:cb-strength=0.4:cb-kernel=isolog

    Then, simply copy-paste this into your Custom textbox:

    !Value pasted into Custom textbox in Handbrake UI

    Conclusion

    The approach above seems to work for me in the few cases where I need a bit more control than the presets afford. I recommend playing around a bit with the values yourselves and letting me know how you get on!

    0