Skip to content

Instantly share code, notes, and snippets.

@grakic
grakic / HTMLRewriter.js
Created May 3, 2020 21:36
CloudFlare Workers HTMLRewriter mock based on cheerio
import cheerio from 'cheerio'
/**
* TODO: This code is not optimized for production!
* Usage of cheerio here only simulates stream-oriented parser! It is slow!
*/
function replace(content, options) {
// TODO: Handle {html:true/false} in options
this[0].nodeValue = content
const webpack = require('webpack');
const SentryCliPlugin = require('@sentry/webpack-plugin');
module.exports = {
entry: './src/index.js',
target: 'webworker',
mode: 'production',
output: {
path: __dirname + '/dist',
publicPath: 'dist',
@grakic
grakic / DigSigCerts.reg
Created September 23, 2017 18:08
MUP CA sertifikati
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\ROOT\Certificates\4FA8D4904A9CCC0B8D43695314EE3E7FB5A472F2]
"Blob"=hex:04,00,00,00,01,00,00,00,10,00,00,00,0f,b9,7c,a2,7c,0d,a8,d0,9e,51,\
71,79,cd,73,95,7b,0f,00,00,00,01,00,00,00,14,00,00,00,44,e5,3d,56,25,16,12,\
55,f5,56,4b,6f,bb,b0,79,f1,3d,48,64,d9,14,00,00,00,01,00,00,00,14,00,00,00,\
3f,66,b0,0f,66,fb,f0,10,2e,61,a4,6f,ef,2c,95,8a,14,72,6f,71,19,00,00,00,01,\
00,00,00,10,00,00,00,3c,50,45,8d,84,e7,ce,3f,b2,0c,66,49,42,a1,35,96,03,00,\
00,00,01,00,00,00,14,00,00,00,4f,a8,d4,90,4a,9c,cc,0b,8d,43,69,53,14,ee,3e,\
7f,b5,a4,72,f2,5c,00,00,00,01,00,00,00,04,00,00,00,00,10,00,00,20,00,00,00,\
@grakic
grakic / models.py
Last active July 5, 2023 09:57
SQLAlchemy EAV example
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.orm.collections import attribute_mapped_collection
from sqlalchemy.ext.associationproxy import association_proxy
db = SQLAlchemy()
class Entity(db.Model):
def __init__(self, description, values = None):
self.description = description
@grakic
grakic / ePorezi-macOS.md
Last active April 2, 2024 13:27
ePorezi na macOS

ePorezi na macOS

Zvanična klijentska aplikacija Poreske uprave se može preuzeti sa njihove stranice.

U pitanju je Java aplikacija koja dolazi sa posebno priređenom distribucijom Oracle Java radnog okruženja. Aplikacija podržava samo Microsoft Windows operativni sistem i sertifikatima u Personals skladištu pristupa kroz Microsoft CryptoAPI koji poziva operacije na pametnoj kartici ili tokenu posredstvom midlvera.

Sertifikaciono telo Pošte korisnicima nudi SafeSign midlver, osim u verziji za Windows i u verziji za GNU/Linux i macOS operativne sisteme. Midlver isporučuje prateću aplikaciju za upravljanje karticom/tokenom i PKCS#11 biblioteku. Programi poput jSignPDF, Adobe Reader ili LibreOffice mogu da učitaju ovu biblioteku i omoguće korisniku elektronsko potpisivanje dokumenata.

Elektronsko potpisivanje se koristi i na portalu ePorezi Poreske uprave, posredstvom pomenute klijentske aplikacije.

@grakic
grakic / ePorezi-Linux.md
Last active May 15, 2023 08:29
ePorezi na GNU/Linuxu

ePorezi na GNU/Linuxu

Zvanična klijentska aplikacija Poreske uprave se može preuzeti sa njihove stranice.

U pitanju je Java aplikacija koja dolazi sa posebno priređenom distribucijom Oracle Java radnog okruženja. Aplikacija podržava samo Microsoft Windows operativni sistem i sertifikatima u Personals skladištu pristupa kroz Microsoft CryptoAPI koji poziva operacije na pametnoj kartici ili tokenu posredstvom midlvera.

Sertifikaciono telo Pošte korisnicima nudi SafeSign midlver, osim u verziji za Windows i u verziji za GNU/Linux i macOS operativne sisteme. Midlver isporučuje prateću aplikaciju za upravljanje karticom/tokenom i PKCS#11 biblioteku. Programi poput jSignPDF, Evolution ili LibreOffice mogu da učitaju ovu biblioteku i omoguće korisniku elektronsko potpisivanje dokumenata.

Elektronsko potpisivanje se koristi i na portalu ePorezi Poreske uprave, posredstvom pomenute klijentske aplikacije.

from sqlalchemy_continuum.plugins import Plugin
from sqlalchemy_continuum import Operation
from sqlalchemy.inspection import inspect
class RelatedVersioningPlugin(Plugin):
def __init__(self):
self.class_registry = []
@grakic
grakic / functions.php
Last active January 24, 2016 18:15
Load custom WP Jetpack translations
<?php
define('CHILD_DIR', get_stylesheet_directory());
/**
* Load Jetpack translations from themes/<theme>/lang/jetpack-sr_RS.mo
*/
function my_theme_setup()
{
unload_textdomain('jetpack');
@grakic
grakic / cookiejar.php
Created June 16, 2015 09:09
Cookiejar to $_COOKIE and back
function save_to_cookiejar($cookiefile)
{
$jar = "";
foreach ($_COOKIE as $name => $value)
{
$name = urlencode($name);
$value = urlencode($value);
$jar .= "{$_SERVER['HTTP_HOST']}\tFALSE\t/\tFALSE\t0\t{$name}\t{$value}\n";
}
file_put_contents($cookiefile, $jar);
@grakic
grakic / wp_require_login.php
Last active August 29, 2015 14:16
Simple WordPress plugin to require login for site access, showing welcome content on frontpage for non-authenticated users. Uses personalized links to authorize access to feeds.
<?php
/*
Plugin Name: Require Login
Plugin URI:
Author: Goran Rakic
Version: 2.0
Author URI: http://blog.goranrakic.com
*/
/**