Skip to content

Instantly share code, notes, and snippets.

@tropicbliss
tropicbliss / index.py
Created March 6, 2024 16:49
Binary classification with ResNet50
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.applications.resnet50 import ResNet50, preprocess_input
from tensorflow.keras.callbacks import ModelCheckpoint, ReduceLROnPlateau
import os
def custom_preprocess_function(x):
@tropicbliss
tropicbliss / main.rs
Created January 1, 2024 10:19
Raspberry Pi Pico W Wi-Fi controller beeper
//! This example uses the RP Pico W board Wifi chip (cyw43).
//! Connects to specified Wifi network and creates a TCP endpoint on port 1234.
#![no_std]
#![no_main]
#![allow(async_fn_in_trait)]
#![feature(type_alias_impl_trait)]
use core::sync::atomic::AtomicBool;
@tropicbliss
tropicbliss / AQ.ino
Last active June 17, 2023 15:08
Air quality sensor
/*
Important: This code is only for the DIY PRO PCB Version 3.7 that has a push button mounted.
This is the code for the AirGradient DIY PRO Air Quality Sensor with an ESP8266 Microcontroller.
It is a high quality sensor showing PM2.5, CO2, Temperature and Humidity on a small display and can send data over Wifi.
Build Instructions: https://www.airgradient.com/open-airgradient/instructions/diy-pro-v37/
Kits (including a pre-soldered version) are available: https://www.airgradient.com/open-airgradient/kits/
@tropicbliss
tropicbliss / main.py
Last active July 29, 2023 09:26
Pico W Alarm System
from picozero import Speaker, pico_temp_sensor
from time import sleep
import network
import socket
import machine
import uasyncio as asyncio
from uasyncio import Event
import time
import secrets
@tropicbliss
tropicbliss / archcheck.sh
Last active April 3, 2024 18:02
Checks your linux architecture. Code taken from rustup installation script, and emits an arch code that corresponds to what rustc expects. Useful for checing cross compilation arch.
#!/bin/sh
if [ "$KSH_VERSION" = 'Version JM 93t+ 2010-03-05' ]; then
# The version of ksh93 that ships with many illumos systems does not
# support the "local" extension. Print a message rather than fail in
# subtle ways later on:
echo 'archcheck does not work with this ksh93 version; please try bash!' >&2
exit 1
fi
@tropicbliss
tropicbliss / examples
Last active January 24, 2023 08:50
Imaginary query language syntax
(collect (filter (intersect student.sid registration.sid) (eq semester "I-2001")) sid sname cid)
(collect (dedup (filter (intersect faculty.fid qualification.fid) (eq (year date_qualified) 1995) fid) fid fname)
(collect (rev (sort (filter (intersect (intersect qualification.fid faculty.fid) course.cid qualification.cid) (eq fname "Ama")) cid)) cname cid)
(collect (dedup (sort (intersect faculty.fid qualification.fid) fname) fid) fid fname)
(collect (filter (intersect registration.cid course.cid) (and (eq semester "I-2001") (eq cname "Syst Analysis")) sid)
@tropicbliss
tropicbliss / main.rs
Last active January 5, 2023 17:33
Multithreaded audio synth in Rust
use cpal::{
traits::{DeviceTrait, HostTrait, StreamTrait},
Device, FromSample, SizedSample, Stream, StreamConfig, SupportedStreamConfig,
};
enum Tasks {
Send(Vec<f32>),
None,
Close,
}
@tropicbliss
tropicbliss / axum_auth.rs
Last active April 16, 2022 14:22
Using JWT in Rust
use axum::{
async_trait,
extract::{FromRequest, RequestParts, TypedHeader},
handler::Handler,
headers::{authorization::Bearer, Authorization},
http::StatusCode,
response::{IntoResponse, Response},
routing::{get, post},
Extension, Json, Router,
};
@tropicbliss
tropicbliss / gol.rs
Last active February 8, 2022 03:38
Double buffered game of life impl
use fixedbitset::FixedBitSet;
pub struct Universe {
width: usize,
height: usize,
active_cell: FixedBitSet,
passive_cell: FixedBitSet,
cell_delta: Vec<usize>,
}
@tropicbliss
tropicbliss / complexity_viz.py
Last active June 21, 2022 06:30
Modelling algorithm complexity using a chart in Python
from pandas import DataFrame
import altair as alt
import timeit
def gcd_brute_force(a, b):
pass
def gcd_dijkstra(a, b):