Skip to content

Instantly share code, notes, and snippets.

@serg06
serg06 / FindBoost.cmake
Created January 7, 2020 06:46 — forked from thiagowfx/FindBoost.cmake
FindBoost.cmake (DONT'T DELETE THIS! It's linked in a Stack Overflow answer)
# - Find Boost
#
# Copyright (c) 2016 Thiago Barroso Perrotta
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
@serg06
serg06 / render_arrays.fs.glsl
Last active January 10, 2020 22:42
OpenGL shaders for rendering an array of sequential unsigned integers starting at 0
#version 450 core
// get color from geometry shader
in vec4 gs_color;
// output color
out vec4 color;
void main(void)
{
@serg06
serg06 / main.c
Last active January 21, 2020 20:40
Little C program for making bright pixels in a .png file transparent. Useful for cleaning up a picture of a document. TODO: Maybe a fragment-deletion filter and a smoothing filter.
// Image-read library
// https://github.com/nothings/stb/blob/master/stb_image.h
#define STB_IMAGE_IMPLEMENTATION
#define STBI_ONLY_PNG
#include "stb_image.h"
// Image-write-library
// https://github.com/nothings/stb/blob/master/stb_image_write.h
#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stb_image_write.h"
@serg06
serg06 / index.js
Last active February 5, 2020 03:13
Amazon Lambda Node.js 12.x async handler function example
/* Grr, Amazon's documentation sucks!
* Their own documentation: https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html
* says that you're allowed to return strings, but that always results in "Internal Server Error"!
* In reality, your result has to be structured like the one you see below.
*/
exports.handler = async (event, context) => {
return {
statusCode: 200,
headers: {
@serg06
serg06 / powff.c
Last active March 3, 2020 16:01
A short pow(float x, float y) = x^y approximation that doesn't use any libraries (not even math.h.)
#include <stdio.h>
// Iterations for exp(x) approximation. Higher = more accurate, but higher likelihood of running into inf.
#define EXP_ITERATIONS 100
// Iterations for ln(x) approximation. Higher = more accurate, but slower.
#define LN_ITERATIONS 10000
// Returned if invalid input entered.
#define ERROR_RESULT -999999999
@serg06
serg06 / deref_equal_to.h
Created May 24, 2020 00:12
std::equal_to modified to dereference pointers N times before comparing
// Similar to std::equal_to but dereferences pointers `derefs` times before comparing
template<class T, const int derefs>
struct deref_equal_to
{
constexpr bool operator()(const T& lhs, const T& rhs) const
{
static_assert(derefs >= 0);
if constexpr (derefs >= 1)
{
static_assert(std::is_pointer_v<T>);
@serg06
serg06 / any.hpp
Last active July 9, 2020 00:24
Simple header-only C++11 implementation of std::any (tested with GCC)
#include <functional>
#include <typeinfo>
#include <type_traits>
namespace std17
{
class bad_any_cast : public std::bad_cast
{
public:
bad_any_cast() noexcept = default;
@serg06
serg06 / all.json
Created October 5, 2020 02:26
Jerma Youtube captions archive Oct 04 2020
This file has been truncated, but you can view the full file.
{
"id": "UUK3kaNXbB57CLcyhtccV_yw",
"videos": {
"t9OC2ToZIQ0": {
"id": "t9OC2ToZIQ0",
"title": "Yearly Channel Doctor's Appointment",
"description": "You thought I ran out of Spider-Man games? \n\n2nd Channel\nhttps://www.youtube.com/channel/UCL7DDQWP6x7wy0O6L5ZIgxg\n\nTwitch\nhttp://www.twitch.tv/jerma985\n\nTwitter\nhttp://www.twitter.com/jerma985",
"thumbnail": "https://i.ytimg.com/vi/t9OC2ToZIQ0/hqdefault.jpg?sqp=-oaymwEZCNACELwBSFXyq4qpAwsIARUAAIhCGAFwAQ==&rs=AOn4CLBqzhvyJZO0NP_N8-7VJ-UNBWyjFQ",
"date": "20170829",
"duration": 554
@serg06
serg06 / qthread2.py
Last active February 28, 2021 02:07
Fix for PySIde2 QThread started signal executing/blocking on main thread
# Use this class instead of QThread
class QThread2(QThread):
# Use this signal instead of "started"
started2 = Signal()
def __init__(self):
QThread.__init__(self)
self.started.connect(self.onStarted)
def onStarted(self):
@serg06
serg06 / main.py
Last active March 11, 2021 21:26
PyQt5 / PySide2 QT StyleSheets (qss) dynamic "class" property example
from PySide2.QtCore import QObject, QTimer
from PySide2.QtWidgets import QApplication, QDialog
import sys
class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
self.setWindowTitle("My Form")
self.setStyleSheet("""