A World Of Different Switches

So I recently ordered a Drop Alt keyboard with Halo True switches as it offered the ability to hot-swap them out. The case and frame is much more stable and solid compared to the Ducky Mini and it produces a much more clunky-analogue, type-writer kind of sound. I put in some Holy Panda switches and they have a greater feeling tactile bump at the start of the key travel along with a slightly lighter spring force for an easier press downwards. Both are great switches to type on overall!

Edit: For comparison, the Cherry Brown switch has a tactile resistance during the key travel, but the bump in the beginning is not as noticeable or pronounced as to what some of the other switches offer and the spring force is much lighter.

A World Of Different Switches

My first real mechanical keyboard!

Intro: So, I know I’m a little late to the game in terms of getting a mechanical keyboard, however, I thought it would be a good investment to have a quality one just in case while WFH. I picked up one of those Ducky One-2-Mini keyboards in a white color and it offers some great built-in-hardware features. There are some random color-matching keys that come with it which can make it look a little bit more vintage / retro / classic. It’s not the lowest-profile one but the PBT keycaps are great quality and hug your fingers!


  • Programmable and saveable profiles
  • Swappable key mappings for caps/ctrl/alt/cmd/fn
  • Individually lit and bright RGB color patterns for every key
  • Cherry MX Brown Switches with a serious sound and tactile travel
  • Solid key stabilizers and firm case frame
  • Lays flat plus two levels of height adjustment all with rubber feet
  • USB-C detachable-cable + firmware updates


  • Remapped dedicated arrow keys, removed one stab set
  • Added some extra PBT keycap colors
  • Added one O-Ring to the space-bar keycap stem
  • Removed the top case cover piece
  • Replaced the bottom case feet with more medium-sized felt-pads
  • Taped small pieces cut out from the keyboard box inside the bottom case
  • Purchased some M3-Sized self-tapping screws for more secure plate mounting


  • Not filled with foam inside the keyboard case
  • Not hot-swappable switches
  • Not screw-in stabs

Mod-Sound(Impact): I placed a single O-Ring on the space-bar and it sounds much less hollow and more gentle, similar to a regular key press. I was able to replace the bottom rubber feet with felt pads and the resulting feel and sound is much softer and warmer. I also taped some thin pieces of cardboard cut out from the keyboard box to the inside of case so that the key presses sound a bit deeper and quieter as they are absorbed and dampened.

Mod-Sound(Airborne): I removed the top cover piece which greatly reduces and lessens the amount of sound wave interference that bounces around down within the inside of the case. From the mounting plate upwards, the top portion of the switch and keycap now sit at the highest point on the keyboard. You can hear a little spring ping if you listen closely along with slightly rougher switch noise, but the sound can now directly travel outwards and away from the keys and case, unobstructed. Each key press has a greater distinction and clarity to it, thus making it a much quieter and smoother typing experience.

Mod-Visual(Keycaps): So after spending some time with this little keyboard, I was able to remap dedicated arrow keys to be on the right side while keeping the main modifier keys on the left side (I also remapped caps lock key to be a backup fn key, as this setup is geared more towards coding on the mac). I purchased some extra keycap colors although it would be nice to find some properly wide arrow keys in the future!

Finale: It’s a pretty good MK overall esp for just a stock unit. I wish I could get one of the ones like Taeha makes as they sound soo super smooth and clean and crisp — mechanical contact points only. He’s able to lube all of the sub-components like springs, switches, stabilizers and basically eliminate or reduce most of the noises, thus creating some purrre asmr — buttery sounding — Holy Pandas! (:

My first real mechanical keyboard!

Exploring GIT Commit Hashes & Generating Cryptographic Zeros

So I was trying to research what goes into generating a GIT commit hash and I thought I would try to personalize the cryptographic hash output a little bit. My computer isn’t that powerful but it may be possible to generate more zeros!

import time, hashlib, subprocess

head = subprocess.check_output("git cat-file commit HEAD | sed -e 's/> .*$/> %d %s/'", shell=True)
secs = int(time.time())
rnds = (secs - 99999999)
offs = "-0500"
begs = ("0" * 6)
ghsh = ""

while (not ghsh.startswith(begs)):
    rnds = (rnds + 1)
    comm = (head % (secs, offs, rnds, offs))
    data = ("commit %d\0%s" % (len(comm), comm))
    ghsh = hashlib.sha1(data).hexdigest()

chk = raw_input("Commit hash [%s]?: " % (ghsh)).strip()
if (chk.lower().startswith("y")):
    comd = ("GIT_COMMITTER_DATE='%d %s' git commit -a --amend --no-edit --date='%d %s'" % (rnds, offs, secs, offs))
    subprocess.call(comd, shell=True)
Exploring GIT Commit Hashes & Generating Cryptographic Zeros

The Year End

Well, 2021 has been another crazy year – almost like 2020, with lots of ups and downs. I tried post as much content as I could but it’s been tough of course with everything going on in life. I was also bored and trying to make a Music app icon but I didn’t like how it turned out so I’ll post it here to save it for the future. Hopefully the next year coming up will turn out better – happy holidays, stay safe out there!

The Year End

Manually Configuring Some MacOS Apps

Just wanted to keep a list of manual configuration items for each macOS app, in case anyone also finds them useful as well.

Brave (FF UI is freezing when waking from sleep)

  • redirector-extension
    • glob -> http*://www.reddit.com/* -> https://old.reddit.com/$2
    • regex -> ://[^/]*(facebook|fbcdn|fbsbx|fbstatic)[^/]*/ ->


  • about:config
    • gfx.webrender.all = true
    • gfx.direct2d.disabled = true
    • layers.acceleration.disabled = true


  • command_line
    • defaults write com.macromates.TextMate disableTypingPairs -bool YES



  • Restore Library
    • Hold “Option” during launch & select “Choose Library” to load a saved music library file
Manually Configuring Some MacOS Apps

Apologies in advance!

There’s something about the ARC4 algorithm that still fascinates me to this day… it’s just fun to play with!

function rc4md(m) {
    var r = [], s = [], i = 0, j = 0, k = 0, x, y, z;
    for (z = 0; z < 256; z++) {
        s[z] = z; r[z] = z;
        k = (((k + 1) * z) % 256);
    var c, l = m.length, n = (l + (256 * 16));
    for (z = 0; z < n; z++) {
        if ((l > 0) && (z < l)) { c = m.charCodeAt(z); }
        else { c = s[k]; }
        i = ((i + 1) % 256);
        j = (((j << 1) ^ (s[i] + c)) % 256);
        x = s[i]; s[i] = s[j]; s[j] = x;
        k = (((k << 1) ^ (j + s[c])) % 256);
    for (y = 0; y < 32; ++y) {
        r[y] = (r[y] ^ s[k]);
        k = ((k + r[y]) % 256);
    var o = "", h = "0123456789abcdef";
    for (y = 0; y < 32; y++) {
        o += (h.charAt(r[y]>>4) + h.charAt(r[y]&0xf));
    return o;

var z = "", m = ["", "0", "a", "abc", "acb", "abcd", "abce", "the quick brown fox jumps over the lazy dog"];
for (var k in m) {
    z += (rc4md(m[k]) + " " + m[k] + "\n");
b9b53c6e32f5eeedbfdf0ce22a8e359212bf36f8a6d66c2d645250f3aa682ed6 0
d9188e109e58b64bc48ba481d18920c01ddbb7ea4120b74e7236d95622b82d19 a
55dec6a3e8793925cf9612b3fcd311593bb18210787b0d7b229d6eff8f703dfe abc
b60a8ba9fe569a3d59b70ee9921976039a753aaba0c9209c8b0aa1ded0119043 acb
5774da821f04b8a6b104a08c0b77e6630cbd327348e37f24c8cde41fd84aa013 abcd
13488161d5ef426de0c60162ae167de3a23645ff51b3859e2abfcd7b5ad56b2a abce
1f4461806b98d43b10086e1ebf4aa75e192968587ddaa97e2868c2e09067801d the quick brown fox jumps over the lazy dog

Apologies in advance!