Skip to content

Instantly share code, notes, and snippets.

@sefgit
sefgit / git-notes.txt
Created August 8, 2024 03:38
GIT notes
git fetch origin pull/ID/head:BRANCH_NAME
e.g. https://github.com/mementum/backtrader/pull/499
git fetch origin pull/499/head:PR499
git switch PR499
apply pull request patches:
git pull origin pull/469/head
@sefgit
sefgit / asyncio_socket_server.py
Created November 21, 2024 13:58 — forked from johnliu55tw/asyncio_socket_server.py
Python asyncio socket server template
import asyncio
import logging
# XXX: REMOVE THIS LINE IN PRODUCTION!
logging.basicConfig(format='%(asctime)s %(lineno)d %(levelname)s:%(message)s', level=logging.DEBUG)
logger = logging.getLogger(__name__)
# Connected client records
clients = dict()
from contextlib import contextmanager
import sys, os
@contextmanager
def suppress_stdout():
with open(os.devnull, "w") as devnull:
old_stdout = sys.stdout
sys.stdout = devnull
try:
yield
@sefgit
sefgit / lil-gui-textarea.ts
Created January 6, 2025 06:15 — forked from mistic100/lil-gui-textarea.ts
Add textarea support to lil-gui
import { GUI, Controller } from 'lil-gui';
export class TextController extends Controller {
private $button: HTMLButtonElement;
private $text: HTMLTextAreaElement;
constructor(parent: GUI, object: object, property: string, rows: number = 4) {
super(parent, object, property, 'textarea');
@sefgit
sefgit / README.md
Created January 10, 2025 06:35 — forked from webketje/README.md
Notepad++ extension: "Open Folder as workspace" context menu entry

Notepad++ extension: "Open Folder as workspace" context menu entry

Adds a context menu entry upon right-clicking folders to open the folder as a clean workspace in Notepad++, like many other modern editors allow.
Requires Notepad++ 7.8 or higher.

Screenshot

Install

Run install.cmd as administrator, or open regedit and manually import the .reg file.

@sefgit
sefgit / object-watch.js
Created January 18, 2025 00:56 — forked from Unitech/object-watch.js
object.watch polyfill
/*
* object.watch polyfill
*
* 2012-04-03
*
* By Eli Grey, http://eligrey.com
* Public Domain.
* NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
*/
@sefgit
sefgit / screenshot.vue
Created January 30, 2025 09:49 — forked from bcakmakoglu/screenshot.vue
Create a screenshot of a vue flow component
<script lang="ts" setup>
import {
VueFlow,
MiniMap,
Controls,
Background,
Connection,
Edge,
Elements,
FlowElement,
@sefgit
sefgit / index.htm
Created February 4, 2025 19:54 — forked from nathanlesage/index.htm
ContentEditable Demo (CodeMirror 6)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ContentEditable Demo</title>
<script src="index.js"></script>
</head>
<body>
@sefgit
sefgit / cmd.js
Created March 7, 2025 13:13
node async subprocess
//
// https://kisaragi-hiu.com/nodejs-cmd/
//
const { spawn } = require("child_process");
const process = require("process");
function cmd(...command) {
let p = spawn(command[0], command.slice(1));
return new Promise((resolveFunc) => {
p.stdout.on("data", (x) => {
@sefgit
sefgit / io-redirect.js
Created March 8, 2025 05:16
redirect output to file
//
// https://zaiste.net/programming/nodejs/howtos/redirect-output-to-file-nodejs/
//
const fs = require('fs');
const { spawn } = require('child_process');
const logging = fs.createWriteStream('yourfile.log', { flags: 'a' });
const lsProcess = spawn('ls', ['-lh', '/etc']);
ls.stdout.pipe(logging);