Skip to content

Instantly share code, notes, and snippets.

@secemp9
secemp9 / newline_test.py
Last active November 29, 2023 08:56
python newline testing
with open('output.txt', 'w') as file:
file.write('\n')
file.write('\\n')
lines = []
with open('output.txt', 'rb') as file:
for line in file:
lines.append(line)
lines
@secemp9
secemp9 / asyncio_check_output.py
Created November 27, 2023 17:17
asyncio check_output
import asyncio
import subprocess
from typing import Union, List
async def check_output_async(command: Union[str, List[str]], timeout=None):
if isinstance(command, list):
proc = await asyncio.create_subprocess_exec(
*command,
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE)
@secemp9
secemp9 / pyqt_background_image.py
Created November 7, 2023 18:51
PyQt using image as background
import sys
import requests
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QLabel
from PyQt5.QtGui import QPixmap, QPalette, QBrush
from PyQt5.QtCore import Qt, QSize
def download_image(url, path):
response = requests.get(url)
if response.status_code == 200:
with open(path, 'wb') as file:
@secemp9
secemp9 / debug_scroll.py
Created November 1, 2023 14:48
method for debugging scrolling on tkinter. Out of context so need editing
def sync_scrolls(self, event):
# sync the two text widget scrolling, doesn't seem to always work
if event.delta == -120:
self.prompt_widget.yview_scroll(1, "units")
self.text_widget.yview_scroll(1, "units")
elif event.delta == 120:
self.prompt_widget.yview_scroll(-1, "units")
self.text_widget.yview_scroll(-1, "units")
prompt_frac1, prompt_frac2 = self.prompt_widget.yview()
@secemp9
secemp9 / get_plain.js
Created October 1, 2023 16:04
Pure Javascript implementation of GET from JQuery
async function httpGet(url) {
console.log(`Getting ${url} using httpGet`);
function get(url, resolve, reject) {
const http = require("http");
http.get(
url,
{
headers: {
Accept: "*/*",
"Accept-Encoding": "gzip, deflate, br",
@secemp9
secemp9 / init.el
Created September 19, 2023 22:17
basic emacs config
;; stop sounds
(setq visible-bell 1)
;; Open File
(global-set-key (kbd "C-o") 'find-file)
;; Save File
(global-set-key (kbd "C-s") 'save-buffer)
;; Close File
@secemp9
secemp9 / gdb_run.py
Last active September 7, 2023 12:24
Print execution of C code line per line
# can be used using `python3 gdb_run.py file.c other_gcc_flags_here`
import sys
import subprocess
import tempfile
def compile_c_file(gcc_flags):
# Check if the `-o` flag is in the gcc_flags
if '-o' in gcc_flags:
# The argument after `-o` is the output filename
index = gcc_flags.index('-o')
@secemp9
secemp9 / pastebin2.txt
Created September 5, 2023 12:59
pastebin2.txt
def generate_log_file_lines(log_file_names, transformers):
for fname, xformer in zip(log_file_names, transformers):
with open(fname) as f:
lines_gen = (xformer(line.rstrip()) for line in f)
collapsed_lines = list(MultilineLogCollapser()(lines_gen))
labeled_collapsed_lines = label(fname, collapsed_lines)
yield labeled_collapsed_lines
log_file_line_iters = generate_log_file_lines(log_file_names, transformers)
@secemp9
secemp9 / pastbin.txt
Created September 5, 2023 11:04
pastebin
log_file_line_iters = (
label(
fname,
(
MultilineLogCollapser()(
xformer(line.rstrip()) for line in open(fname)
)
)
) for fname, xformer in zip(log_file_names, transformers)
)
@secemp9
secemp9 / plot_numpy.md
Created August 18, 2023 10:45
Just plotting

Based on https://stackoverflow.com/a/76923160/12349101 we're plotting different array size:

import numpy as np
import timeit
import matplotlib.pyplot as plt
start = 5
end = 1000
step = 5

sizes_to_test = list(range(start, end + 1, step))