Skip to content

Instantly share code, notes, and snippets.

@elliotwutingfeng
elliotwutingfeng / password_entropy.py
Last active September 30, 2024 14:32
Estimate password entropy.
"""Estimate password entropy.
Entropy (bits) | Estimated Strength
---------------|-------------------
0 to 35 | Very weak
36 to 59 | Weak
60 to 119 | Strong
120+ | Very strong
WARNING: High entropy is of little use if the password has been leaked before in data breaches.
@elliotwutingfeng
elliotwutingfeng / ubuntu-24.04-2014-macbook-air.md
Last active October 26, 2024 15:27
Installing Ubuntu 24.04 on a 2014 Macbook Air

Installing Ubuntu 24.04 on a 2014 Macbook Air

  • Recommended: Use LVM + Encryption.
  • Expect slow installation speeds (the ports are USB 3.0 but are stuck at 2.0 speeds during installation)
  • Do not bother with installing proprietary components during OS installation; it is too slow. Do it post-installation.

Wi-Fi

  • Wi-Fi will not work out of the box. You will need a USB Wi-Fi dongle to download Wi-Fi drivers from the Internet.
  • After installing the OS, plug in your Wi-Fi dongle and run the following commands to update the system, install Wi-Fi drivers, and upgrade snap packages.
@elliotwutingfeng
elliotwutingfeng / seconds_diff.py
Created August 5, 2024 08:23
time difference in seconds
def seconds_diff(time1: str, time2: str) -> int:
def to_seconds(time_str: str) -> int:
minutes, seconds = map(int, time_str.split(':', 1))
return minutes * 60 + seconds
return abs(to_seconds(time1) - to_seconds(time2))
@elliotwutingfeng
elliotwutingfeng / disable_google_assistant_pixel.md
Created June 14, 2024 10:04
Disable Google Assistant on Google Pixel devices

Disable Google Assistant on Google Pixel devices

Stop Google Assistant from popping up whenever you plug in your earphones by disabling the "Google" app on your Google Pixel device (phone or tablet).

@elliotwutingfeng
elliotwutingfeng / motp.rb
Created April 28, 2024 01:08
mOTP algorithm in Ruby under a permissive license. Permission has been granted by original author Matthias Straub to redistribute the mOTP algorithm under the MIT License.
# mOTP algorithm in Ruby under a permissive license. Permission has been granted by original author Matthias Straub
# to redistribute the mOTP algorithm under the MIT License.
# References: https://github.com/elliotwutingfeng/motp/blob/main/CREDITS.md and https://motp.sourceforge.net
require 'openssl'
secret = '0123456789ABCDEF'
pin = '0000'
period = 10
digits = 6
unix_seconds = Time.now.to_i
@elliotwutingfeng
elliotwutingfeng / trash_telegram_09042024.txt
Created April 9, 2024 09:20
Phishing sites from an abandoned Telegram group
claim-dapp.com
claim-mf-bdget24.xyz
cutt.ly
dappradarsas.com
eoro.io
fafuf.com
faqey.com
flufff.io
fluffland.io
fowun.com
@elliotwutingfeng
elliotwutingfeng / generate_totp.sh
Created March 30, 2024 15:34
One-liner Linux terminal command to generate TOTP code using oathtool (https://www.nongnu.org/oath-toolkit/oathtool.1.html)
#!/bin/sh
# SHA1, 30 seconds, 6 digits; the most common configuration.
# Adjust accordingly if your OTP credential uses different parameter values.
# Upon entering this command, type in your TOTP secret (it will not be echoed back to the screen), then press 'Enter'
stty -echo;oathtool --totp=SHA1 --time-step-size=30s --digits=6 --base32 -;stty echo
@elliotwutingfeng
elliotwutingfeng / remove_debug_apps.sh
Created March 25, 2024 10:13
Remove Android debug apps from your phone
adb uninstall com.example.example_app
@elliotwutingfeng
elliotwutingfeng / genpass.sh
Last active August 28, 2024 20:33
One-liner to generate alphanumeric password in Ruby (1.8.2+)
ruby -e "require 'openssl'; c = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; puts (0...24).map { i = OpenSSL::Random.random_bytes(1).unpack('C').first % c.length; c[i..i] }.join"
# Or alternatively to avoid homoglyphs (https://en.wikipedia.org/wiki/Homoglyph)
# ruby -e "require 'openssl'; c = '3479AEFHJLNQRTYabdefghijnqrty'; puts (0...24).map { i = OpenSSL::Random.random_bytes(1).unpack('C').first % c.length; c[i..i] }.join"
@elliotwutingfeng
elliotwutingfeng / RubyOnArch.md
Created March 17, 2024 04:59 — forked from jhass/RubyOnArch.md
My Ruby setup on Archlinux

Ruby on Archlinux

I thought I would document my setup, since it's somewhat non-standard but working quite well for me.

What this does

  • Install major Ruby versions at their latest patch release
  • Allow to switch between them seamlessly
  • Use chruby
  • Encourage bundler usage