Skip to content

Instantly share code, notes, and snippets.

View realav's full-sized avatar
🎯
Focusing

realav

🎯
Focusing
View GitHub Profile
@ipenywis
ipenywis / cursor-memory-bank-rules.md
Last active April 29, 2025 19:48
Cursor Memory Bank

Cursor's Memory Bank

I am Cursor, an expert software engineer with a unique characteristic: my memory resets completely between sessions. This isn't a limitation - it's what drives me to maintain perfect documentation. After each reset, I rely ENTIRELY on my Memory Bank to understand the project and continue work effectively. I MUST read ALL memory bank files at the start of EVERY task - this is not optional.

Memory Bank Structure

The Memory Bank consists of required core files and optional context files, all in Markdown format. Files build upon each other in a clear hierarchy:

flowchart TD
@cvladan
cvladan / README.md
Last active July 19, 2023 02:19
Fixed "CSS to Tailwind" Chrome Extension

I have corrected the original extension CSS To Tailwind to make it work again, but how long it will continue to work remains to be seen.

To install the modified extension, please follow these steps:

  1. Download the .zip file css-to-tailwind-2.0.0.0-fixed.zip from this Gist.
  2. Unzip the file and save it somewhere on your computer.
  3. Remove the existing "official" version of the extension, which is not working anyway.
  4. Open Google Chrome and go to the "Extensions" page. You can access the Extensions page by entering chrome://extensions in the address bar.
  5. Enable "Developer mode" by toggling the switch in the top right corner of the page.
  6. Click on the "Load Unpacked" button that appears in left area.
@sleirsgoevy
sleirsgoevy / ps4.html
Created October 27, 2021 16:06
PS4 WebKit exploit on 9.00
<script>
var PAGE_SIZE = 16384;
var SIZEOF_CSS_FONT_FACE = 0xb8;
var HASHMAP_BUCKET = 208;
var STRING_OFFSET = 20;
var SPRAY_FONTS = 0x1000;
var GUESS_FONT = 0x200430000;
var NPAGES = 20;
var INVALID_POINTER = 0;
var HAMMER_FONT_NAME = "font8"; //must take bucket 3 of 8 (counting from zero)
@yoheioka
yoheioka / init.lua
Created May 16, 2020 03:59
Hacking the Caps Lock Key Part 1
-- CONFIG FOR CAPS LOCK HACKING START
-- reference: https://github.com/lodestone/hyper-hacks/blob/master/hammerspoon/init.lua
-- A global variable for the Hyper Mode
k = hs.hotkey.modal.new({}, "F17")
local application_shortcuts = {
b = "Google Chrome",
u = "Sublime Text",
l = "LINE",
k = "Skype",
@ayyybe
ayyybe / ccdl.command
Last active March 26, 2025 20:41
Adobe Offline Package Builder v0.1.2 (macOS only) --- No longer being maintained.
#!/bin/bash
CYAN="$(tput bold; tput setaf 6)"
RESET="$(tput sgr0)"
clear
if command -v python3 > /dev/null 2>&1; then
if [ $(python3 -c "print('ye')") = "ye" ]; then
clear
@wolever
wolever / fix-mouse.lua
Created November 7, 2019 18:17
Hammerspoon config to use mouse button 3 for scrolling, remap button 4 to middle button
-- HANDLE SCROLLING WITH MOUSE BUTTON PRESSED
local scrollMouseButton = 3
local deferred = false
overrideOtherMouseDown = hs.eventtap.new({ hs.eventtap.event.types.otherMouseDown }, function(e)
-- print(hs.eventtap.event.properties['mouseEventButtonNumber'])
local mouseButton = e:getProperty(hs.eventtap.event.properties['mouseEventButtonNumber'])
if mouseButton == scrollMouseButton then
deferred = true
return true
@bradtraversy
bradtraversy / node_nginx_ssl.md
Last active April 29, 2025 11:46
Node app deploy with nginx & SSL

Node.js Deployment

Steps to deploy a Node.js app to DigitalOcean using PM2, NGINX as a reverse proxy and an SSL from LetsEncrypt

1. Sign up for Digital Ocean

If you use the referal link below, you get $10 free (1 or 2 months) https://m.do.co/c/5424d440c63a

2. Create a droplet and log in via ssh

I will be using the root user, but would suggest creating a new user

@wkliwk
wkliwk / btt.sh
Last active March 24, 2025 22:10
BTT reset trial time
# BetterTouchTool reset trial time
# ** All preference will reset
echo "remove ~/Library/Preferences/com.hegenberg.BetterTouchTool.plist"
rm -rf ~/Library/Preferences/com.hegenberg.BetterTouchTool.plist
echo "Done"
echo "remove ~/Library/Application\ Support/BetterTouchTool/"
rm -rf ~/Library/Application\ Support/BetterTouchTool/
echo "Done"
@justinlevi
justinlevi / disable-adobe.sh
Created November 16, 2017 17:55
Disable all Adobe Processes
#!/bin/bash
launchctl unload -w /Library/LaunchAgents/com.adobe.AdobeCreativeCloud.plist
launchctl unload -w /Library/LaunchAgents/com.adobe.AAM.Updater-1.0.plist
launchctl unload -w /Library/LaunchAgents/com.adobe.ARMDCHelper.cc24aef4a1b90ed56a725c38014c95072f92651fb65e1bf9c8e43c37a23d420d.plist
launchctl unload -w /Library/LaunchDaemons/com.adobe.agsservice.plist
launchctl unload -w /Library/LaunchDaemons/com.adobe.ARMDC.Communicator.plist
launchctl unload -w /Library/LaunchDaemons/com.adobe.ARMDC.SMJobBlessHelper.plist
launchctl unload -w /Library/LaunchDaemons/com.adobe.adobeupdatedaemon.plist
sudo launchctl unload -w /Library/LaunchDaemons/com.adobe.ARMDC.Communicator.plist
@zzamboni
zzamboni / catch_fn.lua
Last active August 24, 2023 10:21
How to catch the fn key using Hammerspoon
-- Catch fn-h and convert it to a left arrow key.
function catcher(event)
if event:getFlags()['fn'] and event:getCharacters() == "h" then
print("fn-h!")
return true, {hs.eventtap.event.newKeyEvent({}, "left", true)}
end
return false
end
local tapper=hs.eventtap.new({hs.eventtap.event.types.keyDown}, catcher):start()