Skip to content

Instantly share code, notes, and snippets.

@pongo
pongo / debug-assert.d.ts
Created November 3, 2024 13:16
debug assert
export function debugAssert(condition: any, message?: string | (() => string)): asserts condition;
@pongo
pongo / hddnosleep.zig
Last active October 3, 2024 13:38
Prevent HDD from going to sleep
const std = @import("std");
// zig build-exe hddnosleep.zig -O ReleaseSmall
// install as service via nssm.exe install hddnosleep
const FILENAME = "D:\\tmp\\hddnosleep.txt";
pub fn main() anyerror!void {
// const allocator = std.heap.page_allocator;
// const stdout = std.io.getStdOut().writer();
@pongo
pongo / get_fps.py
Last active September 27, 2024 09:09
Get video FPS in python via ffmpeg (ffprobe)
from pathlib import Path
from typing import TypeAlias
import ffmpeg # https://github.com/kkroening/ffmpeg-python
FPS: TypeAlias = float
def get_fps(video_path: str | Path) -> FPS | None:
try:
@pongo
pongo / get_all_files.py
Last active September 27, 2024 09:03
Get all files in folder in python (recursive optional)
from typing import Iterator
from pathlib import Path
def get_all_files(root: Path | str, recursive=False) -> Iterator[Path]:
for item in Path(root).iterdir():
if item.is_file():
yield item
elif recursive and item.is_dir():
yield from get_all_files(item, recursive=True)
@pongo
pongo / Export-ScoopListCSV.ps1
Created September 23, 2024 08:20 — forked from mattia72/Export-ScoopListCSV.ps1
Create a list of apps installed by scoop
scoop list | %{scoop info $_.Name} | Select-Object -Property Name, Website, Description | Export-Csv -Path .\Desktop\scoopp.csv
@pongo
pongo / video_hotkeys.user.js
Last active October 30, 2024 16:38
Fast forward and rewind hotkeys userscript for VK and Boosty. Key D: fast forward 1 second. Key A: rewind 1 second. Alt+C: copy current timecode.
// ==UserScript==
// @name Video hotkeys for VK, Rutube, Boosty - fast forward and rewind
// @namespace pongo
// @version 2024-10-30
// @description Adds hotkeys for fast forwarding (key D) and rewinding (key A) videos by 1 second on VK and Boosty. Press alt+c for copy current timecode.
// @author pongo
// @match https://vk.com/video-*
// @match https://boosty.to/*/posts/*
// @match https://rutube.ru/video/*
// @grant GM_setClipboard
@pongo
pongo / v-textarea-autoheight.js
Last active July 23, 2024 17:20
Vue directive textarea autoheight
// <textarea rows="3" v-textarea-autoheight></textarea>
const textareaAutoheight = {
autoHeight(el) {
el.style.height = "auto"; // Revert height
const style = window.getComputedStyle(el);
const borderTop = parseFloat(style.getPropertyValue("border-top-width"));
const borderBottom = parseFloat(style.getPropertyValue("border-bottom-width"));
el.style.height = el.scrollHeight + borderTop + borderBottom + "px";
},
@pongo
pongo / triggers.org
Created May 21, 2022 16:13 — forked from svetlyak40wt/triggers.org
Спусковые крючки по Дорофееву в формате для Org Mode

Спусковые крючки для очистки мозга

Как пользоваться картой

  1. Карта помогает выгрузить из головы все задачи
  2. Пройдитесь взглядом по всем разделам карты
  3. Если в голове “сидит” задача, то она обязательно всплывёт при взгляде на соответствующий узел
  4. Выписывайте задачи, пока их количество не достигнет 50
  5. Почувствуйте, как гора упала с ваших плеч :)

При составлении карты использовались материалы Максима Дорофеева, mnogosdelal.ru

Учёба

@pongo
pongo / frontend-learning.md
Last active November 27, 2021 06:58
Из vc.ru: "Даю вам всю информацию бесплатно по Frontend направлению"
  1. Переходите на сайт ниже, выбираете Frontend или другое направление, которое вам интересно и смотрите на весь Roadmap по изучению.
  1. Изучать базу фронта можно здесь. Бесплатно и эффективно. И не забывайте об официальной документации технологии, которую используете.
@pongo
pongo / post.js
Created February 21, 2021 21:49
POST request via plain node.js
const http = require('http');
var querystring = require('querystring');
const { performance } = require('perf_hooks');
const t1 = performance.now();
var post_data = querystring.stringify({});
// An object of options to indicate where to post to
var post_options = {
host: 'localhost',