Skip to content

Instantly share code, notes, and snippets.

@daniellevass
daniellevass / android_material_design_colours.xml
Last active June 5, 2024 13:54
Android Material Design Colours
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- google's material design colours from
http://www.google.com/design/spec/style/color.html#color-ui-color-palette -->
<!--reds-->
<color name="md_red_50">#FFEBEE</color>
<color name="md_red_100">#FFCDD2</color>
<color name="md_red_200">#EF9A9A</color>
@Necklaces
Necklaces / ufw_vpn_killswitch_tutorial.md
Last active June 2, 2024 05:26
GNU/Linux UFW VPN kill switch tutorial

GNU/Linux UFW VPN kill switch tutorial

This is a quick guide for setting up a kill switch using UFW (Uncomplicated FireWall). It is assumed you are using OpenVPN and optionally Network-Manager with network-manager-openvpn.

1. (Optional) IP Addresses

Before we can start we're going to need the IP address (or the IP addresses) of your VPN so that we can whitelist those later on, write them down. They are obviously going to be different for every VPN and VPNs with multiple servers, so I'll leave this up to you.

2. Install UFW

On some systems UFW is installed and enabled by default (Ubuntu, for example). Installation procedure is going to be different for every distribution of GNU/Linux, but it's usually something like

King_of_Dragons jotted down notes from sit-down at Blizzards WoW preview:
Features/Misc
hour and a half to go from bottom to top of Azeroth
2 continents, Azeroth and Kalimdor
PVP will be consensual, 90% of world is non-pvp, 10% is
the Stranglethorn Arena will be player pvp. Players can buy tickets to fight dragons, hyrdras, etc.
Multiple players can fight a monster at once, but there will be limits.
Team battles, either groups vs groups or groups vs monster(s)
Guild battles planned, will be advertise
import hashlib, secrets
def CalculateSRP6Verifier(username, password, salt):
g = int(7)
N = int("894B645E89E1535BBDAD5B8B290650530801B18EBFBF5E8FAB3C82872A3E9BB7", 16)
userpassupper = f'{username}:{password}'.upper()
h1 = hashlib.sha1(userpassupper.encode('utf-8')).digest()
h2 = hashlib.sha1(salt + h1)
h2 = int.from_bytes(h2.digest(), 'little')
verifier = pow(g,h2,N)
@Daribon
Daribon / how-to-downgrade-client.md
Last active July 16, 2021 17:58
How to downgrade vanilla client
@2Tie
2Tie / g1scripting.txt
Created June 29, 2022 18:11
Monster Hunter 1/G scripting documentation
the block pointed to by 0x10 in the quest header is the quest scripting block. every entry in this block is 0x8 bytes long, consisting of four shorts; the first is the opcode, the other three are arguments (though argument three goes unused by any ops until G). in MH1, opcodes from -2 to 2D are implemented, but only around half are actually used. I will denote unused opcodes with an X prefix, and opcodes added by G with a G prefix. The unused opcodes will likely be documented better in the future, my focus here is on the used opcodes.
-2: Triggers the cameras for quest failure
-1: Triggers the monster camera for quest clear, sends a packet
00: X Waits until 3C7474 is 0
01: Waits for monster goals completion (all monsters stored value 0)
02: Sets the goal for Monster arg1 to arg2; slaying a monster decrements the stored arg2. can be used multiple times to set a max of two monsters.
03: X Check item goal, seems to be an early version that checks player inventory?
04: Sets the delivery item goal for item arg1 t