Skip to content

Instantly share code, notes, and snippets.

View jweinst1's full-sized avatar
🎯
Focusing

Josh Weinstein jweinst1

🎯
Focusing
View GitHub Profile
@jweinst1
jweinst1 / chess_sprite_gen.py
Created July 12, 2026 22:31
dynamically extracts pixel art to make C++ byte array to a palette
from PIL import Image
import sys
BOT_GEN_CODE = "\n};\n"
def determine_color_set(imgobj, color_prof):
# This makes a new palette based on the colors used in the image itself, no altering
@jweinst1
jweinst1 / sdl_audio.cpp
Created July 11, 2026 19:15
audio sounds for games in SDL
#include <SDL3/SDL.h>
#include <SDL3/SDL_main.h>
#include <cmath>
#include <iostream>
#include <cstdlib> // For rand()
// Global settings
const float SAMPLE_RATE = 48000.0f;
const float PI = 3.14159265f;
@jweinst1
jweinst1 / text_box_sdl3.cpp
Last active July 11, 2026 17:52
implementation of a tiny text box in sdl3
#include <SDL3/SDL.h>
#include <iostream>
#include <cstdint>
#include <cassert>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <utility>
#include <algorithm>
@jweinst1
jweinst1 / sdl3_template.cpp
Created July 8, 2026 03:08
empty SDL3 time accum loop
#include <SDL3/SDL.h>
#include <iostream>
#include <cstdint>
#include <cassert>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <utility>
#include <algorithm>
@jweinst1
jweinst1 / sdl_pal_gen.py
Created July 5, 2026 05:38
generates C++ SDL pure texture byte arrays for .png files for pokemon sprites
from PIL import Image
import sys
BOT_GEN_CODE = "\n}\n"
ALL_BLACK_PX = (0, 0, 0)
ALL_GRAY_PX = (127, 127, 127)
ALL_WHITE_PX = (255, 255, 255)
"""
@jweinst1
jweinst1 / pathfind.cpp
Last active July 3, 2026 08:39
path finder for a 2d game
#include <iostream>
#include <cassert>
#include <cstdint>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <utility>
#include <string>
@jweinst1
jweinst1 / sdl.cpp
Last active July 6, 2026 08:14
SDL example of basic click game
#include <SDL3/SDL.h>
#include <iostream>
#include <cstdint>
#include <cassert>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <utility>
#include <algorithm>
@jweinst1
jweinst1 / stock.py
Last active August 2, 2026 22:49
stock trading OTO cli for alpaca
from alpaca.data.historical import StockHistoricalDataClient
from alpaca.data.requests import StockSnapshotRequest
from alpaca.data.enums import DataFeed
from alpaca.data.historical import OptionHistoricalDataClient
from alpaca.data.requests import OptionChainRequest, StockBarsRequest, OptionBarsRequest, OptionSnapshotRequest
from alpaca.data.enums import OptionsFeed
from alpaca.trading.enums import ContractType, AssetClass
from alpaca.trading.enums import QueryOrderStatus, OrderSide, OrderClass, TimeInForce, OrderStatus, OrderType
from alpaca.trading.client import TradingClient
from alpaca.trading.requests import GetOrdersRequest, LimitOrderRequest, TakeProfitRequest, StopLimitOrderRequest, GetOptionContractsRequest
@jweinst1
jweinst1 / opt_cli.py
Last active June 9, 2026 08:32
options trading cli for alpaca
from alpaca.data.historical import StockHistoricalDataClient
from alpaca.data.requests import StockSnapshotRequest
from alpaca.data.enums import DataFeed
from alpaca.data.historical import OptionHistoricalDataClient
from alpaca.data.requests import OptionChainRequest, OptionBarsRequest
from alpaca.data.enums import OptionsFeed
from alpaca.trading.enums import ContractType, AssetClass
from alpaca.trading.enums import QueryOrderStatus, OrderSide, OrderClass, TimeInForce, OrderStatus, OrderType
from alpaca.trading.client import TradingClient
from alpaca.trading.requests import GetOrdersRequest, LimitOrderRequest, TakeProfitRequest, StopLimitOrderRequest, GetOptionContractsRequest
@jweinst1
jweinst1 / get_opts_volume.py
Last active June 6, 2026 19:35
get options quotes from alpaca py
>>> from alpaca.data.requests import OptionBarsRequest
>>> from alpaca.data.timeframe import TimeFrame
>>> bars_request = OptionBarsRequest(symbol_or_symbols='QQQ260702C00750000', timeframe=TimeFrame.Day)
>>> bars = client.get_option_bars(bars_request)
>>> bars
{'data': {}}
>>> from datetime import datetime
>>> bars_request = OptionBarsRequest(symbol_or_symbols='QQQ260702C00750000', timeframe=TimeFrame.Day, start=datetime(2026, 6, 1), end=datetime(2026, 6, 5))
>>> bars = client.get_option_bars(bars_request)
>>> bars