Skip to content

Instantly share code, notes, and snippets.

@Suor
Suor / 1-plus-n.md
Created March 22, 2023 11:11
Trying to make ChatGPT to write a blog post

> Write a blog post about this code trick:

import logging
import os

from funcy import monkey

from django.db.models.query_utils import DeferredAttribute
@Suor
Suor / sizes.py
Last active October 30, 2021 16:31
Different way to calculate struct size
import gc
import sys
import types
from collection import deque
import random
def getsize(obj):
BLACKLIST = type, types.ModuleType, types.FunctionType
if isinstance(obj, BLACKLIST):
@Suor
Suor / mod_fix_ambitions.nut
Created January 21, 2021 18:45
Battle Brothers: debug ambitions not happening
::mods_registerMod("mod_fix_ambitions", 0.1, "Fix ambitions not fullfilling");
::mods_queue("mod_fix_ambitions", "mod_hooks(>=19)", function() {
this.logInfo("fa: loading");
::mods_hookNewObject("ambitions/ambition_manager", function(obj) {
this.logInfo("fa: hook ambition manager");
local update = obj.update;
obj.update = function() {
this.logInfo("fa: ambitions.update available=" + this.isAvailable() + " ambition=" + this.m.ActiveAmbition);
@Suor
Suor / getsize.py
Created January 15, 2021 12:35
Get python structure total memory size
def getsize(obj):
import sys
from types import ModuleType, FunctionType
from gc import get_referents
BLACKLIST = type, ModuleType, FunctionType
if isinstance(obj, BLACKLIST):
raise TypeError('getsize() does not take argument of type: '+ str(type(obj)))
seen_ids = set()
size = 0
objects = [obj]
@Suor
Suor / hook_on_init.nut
Last active December 5, 2020 18:06
Hook enemy onInit
local gt = this.getroottable();
::mods_hookNewObject("entity/tactical/enemies/orc_berserker", function(o) {
this.logInfo("tb: hook orc_berserker");
local init = o.onInit;
o.onInit = function() {
this.logInfo("tb: orc_berserker onInit");
this.tb_orc_berserker_agent <- this.inherit("scripts/ai/tactical/orc_berserker_agent", {
m = {},
function create()
{
this.orc_berserker_agent.create();
this.m.Properties ...
}
function onAddBehaviors()
{
this.orc_berserker_agent.create();
@Suor
Suor / pprint.nut
Created November 11, 2020 15:05
Logger pretty printer in Squirrel
::mods_registerMod("mod_standout_foes", 0.1, "Standout foes");
local gt = this.getroottable();
// Alias to make it easier for us inside. Things are still global and accessible from outside,
// so if anyone will want to write a mod for this mod then it should be easy enough.
local sf = gt.StandoutFoes <- {};
local Debug = gt.StandoutFoes.Debug <- {};
@Suor
Suor / web-app.md
Last active March 2, 2020 07:27
Web App doc

Application

Language: Python 3.7.
Framework: Django, Django Rest Framework
Libraries: [django-allauth][], celery
Storage: PostgreSQL, Redis for cache and queues. May also use lazy queues over PostgreSQL, may shift non-lazy queues to RabbitMQ.

Front-end:

  • any popular framework chosen by front-end team,
@Suor
Suor / scrape.py
Created February 1, 2020 17:36
aioscrape perekrestok example
from aioscrape import settings, fetch, run
from parsechain import C
async def scrape():
resp = await fetch('https://www.perekrestok.ru/')
print(resp.css('.xf-product').map({
'id': C.attr('data-id').int,
'name': C.attr('data-gtm-product-name')
}))
@Suor
Suor / gen.py
Created August 19, 2019 14:16
Generate files
#!/usr/bin/env python3
import argparse
import os
import sys
import random
from funcy import re_find
from tqdm import tqdm