Skip to content

Instantly share code, notes, and snippets.

View cabloo's full-sized avatar

Zane H cabloo

View GitHub Profile
@cabloo
cabloo / DebouncedJob.php
Last active February 6, 2023 06:13
Debounced Laravel Jobs
<?php
namespace App\Support\Jobs;
use Illuminate\Contracts\Queue\ShouldQueue;
class DebouncedJob implements ShouldQueue
{
use \Illuminate\Foundation\Bus\DispatchesJobs;
use \App\Support\Cache\PrefixedCache;
@cabloo
cabloo / Readme.md
Last active November 12, 2017 21:11
Deploy a server with root account access via private key + sudo user only.

Run this on your local machine, it will run the scripts below for you:

wget "https://gist.githubusercontent.com/cabloo/223528dc0c4d01caac95f7d872e38864/raw/deploy-client.sh"
bash deploy-client.sh

You will need to follow the prompts and then enter the root password of the remote server twice.

@cabloo
cabloo / Readme.md
Last active March 2, 2021 14:05
Deploy a CPU coin miner on a debian-based machine (must be root)

Install:

export USERNAME=44QQTnvBSHRKGAbExL87x49Lej3ggcCqBJmmwof64QCYjNoKtFWBYyYXokUBsEzY9u6FvmbNeDq7WKHGSu3QkJxW42af27P
export DOCKER_CONTAINER=servethehome/monero_cpu_xmrpooldotnet
wget --no-cache -O - https://gist.githubusercontent.com/cabloo/9265493ce88a49c189e25d2d25c36a6c/raw/deploy-miner.sh | bash 
@cabloo
cabloo / get-part-counts.sql
Created July 7, 2018 18:36
Get number of uses of each part in SynergyCP
SELECT parts.name, COUNT(*) FROM part_server INNER JOIN parts on parts.id = part_server.part_id GROUP BY part_id;
@cabloo
cabloo / Crawler.go
Created August 27, 2020 03:27
Go Web Crawler
package main
import (
"fmt"
)
type Fetcher interface {
// Fetch returns the body of URL and
// a slice of URLs found on that page.
Fetch(url string) (body string, urls []string, err error)
package hello
import "fmt"
type Graph struct {
nodeByID map[int]*GraphVertex
}
type GraphVertex struct {
ID int
package hello
import (
"fmt"
"strconv"
)
type Expression struct {
op operator
a, b Expresser
import "fmt"
import "unicode/utf8"
type Regexp struct {
matchers []regexpMatch
}
type regexpMatch interface {
matches(in rune) bool
maxLength() int
import "container/heap"
type CountPriorityQueueItem struct {
Value, Count, index int
}
type CountPriorityQueue struct {
items []*CountPriorityQueueItem
byValue map[int]*CountPriorityQueueItem
}
const breakpoint = int(1e9+7)
func popStack(i int, arr []int, result int, stack []int) (int, []int) {
end := len(stack)-1
prevMinIndex := stack[end]
stack[end] = 0
stack = stack[:end]
nextPrevIndex := -1
if len(stack) > 0 {