Skip to content

Instantly share code, notes, and snippets.

View spacemudd's full-sized avatar
🎯
Focusing

Shafiq al-Shaar spacemudd

🎯
Focusing
View GitHub Profile
@joecampo
joecampo / fail2ban.md
Last active November 6, 2024 10:14
fail2ban – stop HTTP(S) route abuse/brute forcing

If you're not familiar: What is fail2ban? fail2ban is an awesome linux service/monitor that scans log files (e.g. auth.log for SSH) for potentially malicious behavior. Once fail2ban is tripped it will ban users for a specified duration by adding rules to Iptables. If you're unfamiliar with fail2ban Chris Fidao has a wonderful (& free!) series about security including setting up fail2ban here.

Recently Laravel released a new feature in 5.1 to throttle authentication attempts by simply adding a trait to your authentication controller. The Laravel throttle trait uses the inputted username, and IP address to throttle attempts. I love seeing this added to a framework out of the box, but what about some of our other apps not built on Laravel? Like a WordPress login? Or even an open API etc.? Ultimately,

@yajra
yajra / ajax-datatables-expired-session.js
Last active June 30, 2022 20:34
Laravel 5.x solution to redirect AJAX expired session to login page and disable DataTables error prompt
/**
* Requirements:
* - jQuery (http://jquery.com/)
* - DataTables (http://datatables.net/)
* - BootboxJS (http://bootboxjs.com/)
* ---------------------------------------------------------------------------
* Credits to https://gist.github.com/flackend/9517696
* ---------------------------------------------------------------------------
* This monitors all AJAX calls that have an error response. If a user's
* session has expired, then the system will return a 401 status,
@andrewn
andrewn / Readme.md
Created May 15, 2015 09:11
RFID reader using node.js and USB-UART bridge

Wiring

The wiring from the USB-UART bridge and the RFID reader

RFID Reader view:

   .-----------------------------.
   | [1][2]      [5][4][3][2][1] |

| J3 J1 |

@ddur
ddur / ReadHttpPage
Created November 29, 2014 18:03
Read internet page/file from Clarion 6.3 using wininet
ReadHttpPage PROCEDURE ( szServer, szAction, szPage, dwSize ) ! Declare Procedure
hWininetSession LONG !
hWininetHttpSession LONG !
hWininetHttpRequest LONG !
dwBytesRead LONG !
dwOutSize LONG !
dwResult LONG !
szBuffer CSTRING(1025) !
! Start of "Data Section"
! [Priority 3500]
@davidkelley
davidkelley / gist:9002267
Last active January 27, 2020 08:43
Example showing how to connect with a USB device using Javascript. Note that this file uses the chrome.usb.* API's which are only available for "packaged app" Chrome extensions.
var port = 0;
var endpoint = 0x01;
var device = { vendorId: 0x04b8, productId: 0x0202};
var connect = function(callback) {
chrome.permissions.getAll(function(p) {
if (p.permissions.indexOf('usb') >= 0) {
//construct permission object for our device
var obj = { usbDevices: [device] };
@denji
denji / nginx-tuning.md
Last active May 13, 2025 13:10
NGINX tuning for best performance

NGINX Tuning For Best Performance

For this configuration you can use web server you like, i decided, because i work mostly with it to use nginx.

Generally, properly configured nginx can handle up to 400K to 500K requests per second (clustered), most what i saw is 50K to 80K (non-clustered) requests per second and 30% CPU load, course, this was 2 x Intel Xeon with HyperThreading enabled, but it can work without problem on slower machines.

You must understand that this config is used in testing environment and not in production so you will need to find a way to implement most of those features best possible for your servers.

@steve-kertes
steve-kertes / get_books_on_shelf.py
Last active August 21, 2024 17:57 — forked from gpiancastelli/goodreads-oauth-example.py
A Python example of how to use OAuth on GoodReads. Includes scripts to pull list of books that are on a shelf and to add all owned books to a shelf.
from string import Template
import oauth2 as oauth
import urlparse
import urllib
import time
import xml.dom.minidom
import sys, getopt
# If you get 'Title Messed Up By Unicode Error' messages try
# export PYTHONIOENCODING=utf-8
@fushnisoft
fushnisoft / clariondate.sql
Last active January 5, 2024 14:33
Convert a Clarion Date (INT) to SQL DateTime
DECLARE @ClarionDate INT = 47563
DECLARE @SqlDateTime DATETIME
-- Convert the clarion DATE into and SQL DateTime
SET @SqlDateTime = DateAdd(day, @ClarionDate - 4, '1801-01-01')
SELECT @SqlDateTime AS 'SQL Date Time'
-- Now convert it back from and SQL DateTime to a Clarion Date
SET @ClarionDate = DateDiff(day, DateAdd(day, -4, '1801-01-01'), @SqlDateTime)
@bag-man
bag-man / cpu.js
Last active October 28, 2024 22:02
How to calculate the current CPU load with Node.js; without using any external modules or OS specific calls.
var os = require("os");
//Create function to get CPU information
function cpuAverage() {
//Initialise sum of idle and time of cores and fetch CPU info
var totalIdle = 0, totalTick = 0;
var cpus = os.cpus();
//Loop through CPU cores
@m14t
m14t / fix_github_https_repo.sh
Created July 5, 2012 21:57
Convert HTTPS github clones to use SSH
#/bin/bash
#-- Script to automate https://help.github.com/articles/why-is-git-always-asking-for-my-password
REPO_URL=`git remote -v | grep -m1 '^origin' | sed -Ene's#.*(https://[^[:space:]]*).*#\1#p'`
if [ -z "$REPO_URL" ]; then
echo "-- ERROR: Could not identify Repo url."
echo " It is possible this repo is already using SSH instead of HTTPS."
exit
fi