putz u in dhe washing machin and spins ur bsky pofile pictuer !!! :D
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

calculate angle based on tod

did:plc:73gqgbnvpx5syidcponjri… 2d486f26 243c01b7

verified
+39 -2
+39 -2
src/main.rs
··· 10 10 }; 11 11 use jacquard_api::app_bsky::actor::profile::Profile; 12 12 use jacquard_identity::JacquardResolver; 13 - use std::{env, io::Cursor, process}; 13 + use std::{ 14 + env, 15 + io::Cursor, 16 + process, 17 + time::{SystemTime, UNIX_EPOCH}, 18 + }; 14 19 15 20 type AgentType = 16 21 Agent<CredentialSession<MemorySessionStore<SessionKey, AtpSession>, JacquardResolver>>; ··· 21 26 executable 22 27 ); 23 28 process::exit(1); 29 + } 30 + 31 + fn compute_angle() -> f32 { 32 + const MS_PER_DAY: i128 = 86_400_000; 33 + let now_ms = match SystemTime::now().duration_since(UNIX_EPOCH) { 34 + Ok(dur) => dur.as_secs() as i128 * 1000 + dur.subsec_millis() as i128, 35 + Err(e) => -((e.duration().as_secs() as i128) * 1000 + e.duration().subsec_millis() as i128), 36 + }; 37 + 38 + fn floor_div(a: i128, b: i128) -> i128 { 39 + let q = a / b; 40 + let r = a % b; 41 + if r != 0 && ((a < 0) && (b > 0)) { 42 + q - 1 43 + } else { 44 + q 45 + } 46 + } 47 + 48 + // make sure issa positive. i love spreading positivity everywhere i go!!! :D 49 + let days = floor_div(now_ms, MS_PER_DAY); 50 + let reference_ms = days * MS_PER_DAY; 51 + 52 + let elapsed = now_ms - reference_ms; 53 + let ms_today = ((elapsed % MS_PER_DAY) + MS_PER_DAY) % MS_PER_DAY; 54 + 55 + let fraction_of_day = (ms_today as f64) / (MS_PER_DAY as f64); 56 + let angle = (fraction_of_day * 360.0).floor() as i32; 57 + 58 + (((angle % 360) + 360) % 360) as f32 24 59 } 25 60 26 61 fn rotate_image(image: DynamicImage, radians: f32) -> image::RgbaImage { ··· 119 154 process::exit(1); 120 155 }); 121 156 122 - let rotated = rotate_image(image, 1.0); 157 + let angle = compute_angle(); 158 + println!("rotating image by {} degrees", angle); 159 + let rotated = rotate_image(image, angle); 123 160 rotated.save(&output).unwrap_or_else(|e| { 124 161 eprintln!("failed to save '{}': {}", output.to_string(), e); 125 162 });