Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
I may be slow to respond.

rumblefrog rumblefrog

💭
I may be slow to respond.
View GitHub Profile
View t.bundle
This file has been truncated, but you can view the full file.
{"meta":{"name":"Core","description":"SourceMod Core","author":"AlliedModders LLC"},"source":{"type":"git","merge":null,"repository":"https://github.com/alliedmodders/sourcemod.git","endpoints":null,"patterns":["plugins/include/*.inc"]},"strands":{"regex":{"functions":{"CompileRegex":{"name":"CompileRegex","refLine":144,"docStart":5801,"docEnd":6380,"docs":{"brief":"Precompile a regular expression. Use this if you intend on using the\nsame expression multiple times. Pass the regex handle returned here to\nMatchRegex to check for matches.","tags":[{"tag":"","text":"Precompile a regular expression. Use this if you intend on using the\nsame expression multiple times. Pass the regex handle returned here to\nMatchRegex to check for matches."},{"tag":"param:pattern","text":"The regular expression pattern."},{"tag":"param:flags","text":"General flags for the regular expression."},{"tag":"param:error","text":"Error message encountered, if applicable."},{"tag":"param:maxLen","text":"Maximum string length of the er
@rumblefrog
rumblefrog / tasks.json
Last active April 7, 2021 20:06
SourcePawn VSCode Task
View tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Compile plugin",
"type": "shell",
"presentation": {
View fcidr.md

Abstract

Client CIDR filter system with polling centralized TCP polling server.

Motivation

  • Current relational structure dependence of CIDR Blocker requires full-row scan and value operation in order to determine potential candidate
  • Relational structure stores have O(n) storage instead and compute complexity.
  • Radix tree cannot be sanely implemented in such relational dependency, much less providing continuous updates.
  • Radix tree provides O(log n) storage and a worst-case of O(4) access, with the worst storage space cost of 256^4 bytes with every IPv4 address within the filter, with a mean cost of 256^3 bytes.
View rpi-traffic-visualizer.md

Abstract

A network of Raspberry Pi Zero W that interconnect via GCP and potentially deployed using Kubernetes, and could potentially incorporate some ML processing on stored traffic data.

These traffic data could be incorporated to display live heat-map for specific locations and nodes and the ability to create and predict future trends.

Infrastructure

Pi -> Redis? -> InfluxDB -> HTTP API -> Frontend

View fish.cpp
RefPtr<SourceFile>
SourceManager::createFromBuffer(ReportingContext& cc, UniquePtr<char[]> buffer, uint32_t length)
{
const char* path = "fish-glub-glub";
Atom* atom = strings_.add(path);
AtomMap<RefPtr<SourceFile>>::Insert p = file_cache_.findForAdd(atom);
if (p.found())
return p->value;
@rumblefrog
rumblefrog / iptables.py
Created July 21, 2019 23:32
Parses iptable logs
View iptables.py
import re
import fileinput
from collections import Counter
pair_re = re.compile('([^ ]+)=([^ ]+)')
portlist = []
iplist = []
for line in fileinput.input():
line = line.rstrip()
@rumblefrog
rumblefrog / helix.js
Created March 28, 2019 02:14
Sophisticated Helix Antenna Design with matching Coax to 50 Ω
View helix.js
function mehrWind() { x = document.generator.n.value * 1; x = x + 1 ; document.generator.n.value = x.toFixed(0) ; rechnen();}
function wenigerWind() { x = document.generator.n.value * 1; x = x - 1 ; if (x<1) x=1; document.generator.n.value = x.toFixed(0) ; rechnen();}
function mehrCond() { x = document.generator.d4.value * 1; x = x + 0.1 ; document.generator.d4.value = x.toFixed(2) ; rechnen();}
function wenigerCond() { x = document.generator.d4.value * 1; x = x - 0.1 ; if (x<0.1) x=0.1; document.generator.d4.value = x.toFixed(2) ; rechnen();}
function rechnen()
{
var freq;
freq = document.generator.freq.value * 1;
@rumblefrog
rumblefrog / channelsorter.go
Created February 18, 2019 08:04
Sort Discord channels (category, text, voice) in an one dimension array
View channelsorter.go
package channelsorter
import (
"sort"
"github.com/rumblefrog/discordgo"
)
type ChannelGeneric struct {
Underlying *discordgo.Channel
View dynamic json.go
func dynamicUnmarshal(text string) ([][]interface{}, error) {
var data [][]json.RawMessage
if err := json.Unmarshal(text, &data); err != nil {
return nil, err
}
result := make([][]interface{}, len(data))
for i, _ := range result {
result[i] = make([]interface{}, len(data[i]))
@rumblefrog
rumblefrog / README.md
Last active May 27, 2018 20:04
Steam Spring Cleaning AppID Simulator
View README.md

Installation

  1. Put these two files in the same directory
  2. Run yarn or npm install
  3. Update the accountName and password on line 11 and 12

Usage

  1. Run node index in that directory
  2. Enter Steam Guard Code (If prompted)