Skip to content

Instantly share code, notes, and snippets.

View majabojarska's full-sized avatar

Maja Bojarska majabojarska

  • Akamai – Linode Kubernetes Engine
  • Poland, Wrocław
  • 04:37 (UTC +01:00)
View GitHub Profile
"""
This script processes the bank transaction CSV export from the Polish ING bank site
into an encoding and structure ready to import into Actual (https://www.actualbudget.com/).
What this does:
- Reads and decodes the in_file CSV as 'windows-1250'.
- Trims legal cruft and account owner data from the top and bottom of the in_file CSV.
- Changes field separators from ';' to ','.
- Reorders and renames fields to match Actual's import process.
- Encodes the output as UTF8.
@majabojarska
majabojarska / image.html
Last active June 28, 2025 16:18
Zola auto-webp image with lightweight preview
{% if src %}
{%- if src is matching("[.](jpg|jpeg|png|webp)$") -%}
{# The trick is to resize first, which provides the original size for the 1:1 size format conversion #}
{% set converted_small = resize_image(path=src, width=800, op="fit_width", format="webp") %}
{% set converted_full = resize_image(path=src, width=converted_small.orig_width, height=converted_small.orig_height, format="webp") %}
{% set url_full = converted_full.url %}
{% set url_small = converted_small.url %}
@majabojarska
majabojarska / starcraft2-lutris.json
Created February 21, 2023 22:27
Lutris configuration for StarCraft 2
{"count":1,"next":null,"previous":null,"results":[{"id":8515,"game_id":3367,"game_slug":"starcraft-ii","name":"StarCraft II","year":2010,"user":"Dox","runner":"wine","slug":"starcraft-ii-battlenet","version":"Battle.net","description":null,"notes":"","credits":"","created_at":"2018-06-02T20:54:49.660000Z","updated_at":"2022-06-09T00:55:29.722145Z","draft":false,"published":true,"published_by":1,"rating":"","is_playable":true,"steamid":null,"gogid":null,"gogslug":"","humbleid":"","humblestoreid":"","humblestoreid_real":"","script":{"files":[{"setup":{"filename":"Battle.net-Setup.exe","url":"https://www.battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP"}},{"d3dcompiler47":"https://lutris.net/files/tools/dll/d3dcompiler_47.dll"}],"game":{"arch":"win64","exe":"drive_c/Program Files (x86)/Battle.net/Battle.net Launcher.exe","prefix":"$GAMEDIR"},"installer":[{"task":{"arch":"win64","description":"Creating 64bit Wine prefix.","name":"create_prefix","prefix":"$GAMEDIR"}},{"task":{"
@majabojarska
majabojarska / scrape_poorly_drawn_lines.py
Created June 30, 2022 11:05
Downloads all comics from the Poorly Drawn Lines archive.
"""
Downloads all comics from the Poorly Drawn Lines archive.
Comic images are saved in directory defined by _OUTPUT_DIR.
"""
from pathlib import Path
from typing import Iterable, Tuple, Optional
from urllib.parse import urlparse
@majabojarska
majabojarska / pve_rm_subscription_notice.sh
Last active May 7, 2022 21:04
Proxmox VE remove no subscription notice
#!/bin/bash
# Credits go to John McLaren: https://johnscs.com/remove-proxmox51-subscription-notice/
sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
@majabojarska
majabojarska / end.gcode
Last active January 3, 2026 08:32
Creality Ender 3 custom start and end G-codes
; Ender 3 custom end GCode
G91 ;Relative positioning
G1 E-2 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G1 Z10 ;Raise Z more
G90 ;Absolute positioning
G1 X0 Y{machine_depth} ;Present print
M106 S0 ;Turn-off fan
@majabojarska
majabojarska / skarsta_crank_shim.scad
Last active May 7, 2022 21:06
IKEA Skarsta crank shim
// IKEA Skarsta crank shim
$fn=100;
fi_in=8;
fi_out=15;
height=8;
fi_screw=4;
difference(){
difference(){
@majabojarska
majabojarska / qthread_example.py
Created December 10, 2020 21:48
PyQt5 QThread with QObject example
import sys
from PyQt5.QtCore import pyqtSlot, QThread, QObject, pyqtSignal
from PyQt5.QtWidgets import QMainWindow, QApplication
class Worker(QObject):
finished = pyqtSignal()
def __init__(self):
@majabojarska
majabojarska / ise.desktop
Created January 26, 2020 22:46
Xilinx ISE 14.7 Gnome Desktop Entry
[Desktop Entry]
Type=Application
Name=Xilinx ISE
Exec=/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/ise
Icon=/opt/Xilinx/14.7/ISE_DS/ISE/data/images/pn-ise.png
Terminal=false
Categories=Development;Engineering;Electronics;
Keywords=embedded electronics;electronics;fpga;xilinx;ise;spartan;virtex;
@majabojarska
majabojarska / shim.scad
Created July 30, 2019 18:21
OpenSCAD Custom Shim Generator
/*
This script generates a custom shim based
on the given parameter values
*/
$fn=50;
internal_diameter=4;
external_diameter=8;
height=4;