Skip to content

Instantly share code, notes, and snippets.

View wzul's full-sized avatar
😋
Yummy

Wan Zulkarnain wzul

😋
Yummy
View GitHub Profile
@constantm
constantm / itr.js
Created July 14, 2021 06:36
NodeJS implementation in Pipedream of "Intent to Receive" for Xero webhooks
async (event, steps) => {
// NodeJS implementation in Pipedream of "Intent to Receive" for Xero webhooks
const { createHmac } = await import('crypto');
const xero_webhook_key = 'OSd0eLlVIY9ZhViEqlDUh4+6n6M+Lo+eDaEJheJ6OCCgWwIz2D3JIAU6jPMipHRbgKTLz2uJ+xiACXGDBLrgdA==' // Get this from the Xero app
const body_string = Buffer.from(steps.trigger.raw_event.body_b64, 'base64').toString() // Use RAW body data so that Pipedream doesn't break our data
const xero_hash = steps.trigger.event.headers["x-xero-signature"] // Could probably shorten, but keeping it long for consistency
let our_hash = createHmac('sha256', xero_webhook_key).update(body_string).digest("base64") // Generate the hash Xero wants
let statusCode = xero_hash == our_hash ? 200 : 401 // If the hashes match, send a 200, else send a 401
@manparvesh
manparvesh / git-cleanup.sh
Created June 2, 2019 04:51
Git remove all commits except the current one
#!/usr/bin/env bash
rm -rf .git
git init
git add .
git commit -m "Initial commit"
git remote add origin <git origin url>
git push -u --force origin <branch>
@MohamadFazuan
MohamadFazuan / billplz.py
Last active November 6, 2022 16:35
Billplz-API-in-Python-Flask
import requests
import json
import base64
from flask import Flask,redirect
app = Flask(__name__)
@app.route('/')
def _init_():
api_key = '70eaae3d-39fd-408a-9b06-0580e588f3dfe'
function round(value, precision, mode) {
var m, f, isHalf, sgn;
precision |= 0;
m = Math.pow(10, precision);
value *= m;
sgn = (value > 0) | -(value < 0);
isHalf = value % 1 === 0.5 * sgn;
f = Math.floor(value);
if ( isHalf ) {
@apih
apih / billplz-xsignature.php
Last active November 6, 2022 16:33
X Signature verification sample
<?php
function buildSourceString($data, $prefix = '')
{
uksort($data, function($a, $b) {
$a_len = strlen($a);
$b_len = strlen($b);
$result = strncasecmp($a, $b, min($a_len, $b_len));
if ($result === 0) {
@coin8086
coin8086 / using-proxy-for-git-or-github.md
Last active June 22, 2024 11:41
Use Proxy for Git/GitHub

Use Proxy for Git/GitHub

Generally, the Git proxy configuration depends on the Git Server Protocol you use. And there're two common protocols: SSH and HTTP/HTTPS. Both require a proxy setup already. In the following, I assume a SOCKS5 proxy set up on localhost:1080. But it can also be a HTTP proxy. I'll talk about how to set up a SOCKS5 proxy later.

SSH Protocol

When you do git clone ssh://[user@]server/project.git or git clone [user@]server:project.git, you're using the SSH protocol. You need to configurate your SSH client to use a proxy. Add the following to your SSH config file, say ~/.ssh/config:

ProxyCommand nc -x localhost:1080 %h %p
@kobeumut
kobeumut / Apps.rb
Created January 11, 2018 05:37
Exclude some columns on ActiveAdmin
ActiveAdmin.register App do
ActionController::Parameters.permit_all_parameters = true
menu priority: 6, label: "Uygulamalar"
index do
selectable_column
excluded = ["app_image","updated_at","domain_id"]
(App.column_names - excluded).each do |c|
column c.to_sym
end
@rchrd2
rchrd2 / test-php-basic-auth.php
Last active February 1, 2024 21:18 — forked from westonruter/test-php-basic-auth.php
PHP basic auth example
<?php
function require_auth() {
$AUTH_USER = 'admin';
$AUTH_PASS = 'admin';
header('Cache-Control: no-cache, must-revalidate, max-age=0');
$has_supplied_credentials = !(empty($_SERVER['PHP_AUTH_USER']) && empty($_SERVER['PHP_AUTH_PW']));
$is_not_authenticated = (
!$has_supplied_credentials ||
$_SERVER['PHP_AUTH_USER'] != $AUTH_USER ||
$_SERVER['PHP_AUTH_PW'] != $AUTH_PASS
@ryanermita
ryanermita / rails_locking.md
Last active February 17, 2024 02:19
Optimistic and Pessimistic Locking in Rails

Optimistic Locking assumes that a database transaction conflict is very rare to happen. It uses a version number of the record to track the changes. It raise an error when other user tries to update the record while it is lock.

usage

Just add a lock_version column to the table you want to place the lock and Rails will automatically check this column before updating the record.

Pessimistic locking assumes that database transaction conflict is very likely to happen. It locks the record until the transaction is done. If the record is currently lock and the other user make a transaction, that second transaction will wait until the lock in first transaction is release.

usage

@ankurk91
ankurk91 / github_gpg_key.md
Last active June 7, 2024 14:31
Signing git commits using GPG (Ubuntu/Mac)

Github : Signing commits using GPG (Ubuntu/Mac) 🔐

  • Do you have an Github account ? If not create one.
  • Install required tools
  • Latest Git Client
  • gpg tools
# Ubuntu
sudo apt-get install gpa seahorse
# MacOS with https://brew.sh/