Skip to content

Instantly share code, notes, and snippets.

View boehs's full-sized avatar
🐕‍🦺
woof

Evan Boehs boehs

🐕‍🦺
woof
View GitHub Profile
@boehs
boehs / frameworks.txt
Created March 5, 2025 04:19
Frameworks using GenerativeModels
/tmp/libraries: rg -luuu GenerativeModels
System/Library/PrivateFrameworks/SummarizationKit.framework/Versions/A/SummarizationKit
System/Library/PrivateFrameworks/IntelligenceFlowPlannerRuntime.framework/Versions/A/IntelligenceFlowPlannerRuntime
System/Library/PrivateFrameworks/SiriTTSService.framework/Versions/A/SiriTTSService
System/Library/PrivateFrameworks/GenerativeExperiencesUI.framework/Versions/A/GenerativeExperiencesUI
System/Library/PrivateFrameworks/Anvil.framework/Versions/A/Anvil
System/Library/Frameworks/StickerKit.framework/Versions/A/StickerKit
System/Library/PrivateFrameworks/MomentsIntelligence.framework/Versions/A/MomentsIntelligence
System/Library/PrivateFrameworks/ProactiveSummarization.framework/Versions/A/ProactiveSummarization
System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/GenerativeExperiencesRuntime
@boehs
boehs / spec.json
Created January 15, 2025 04:47
Vega-Lite MBTA Attempt
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"description": "Revenue and fares visualization with percentage of revenue via fares on a secondary axis.",
"data": {"url": "https://pastie.io/raw/vijzjm.csv"},
"width": 640,
"transform": [
{
"calculate": "datum['Revenue from fares'] / datum['Revenue'] * 100",
"as": "Percent of Revenue via Fares"
},
@boehs
boehs / fidToWealthfolio.sh
Last active January 4, 2025 01:11
Fidelity to Wealthfolio
sed -i '' 's/" /"/g' file
sed -i '' 's/, /,/g' file
sed -i '' 's/YOU BOUGHT [^"]*/BUY/g' file
sed -i '' 's/YOU SOLD [^"]*/SELL/g' file
sed -i '' 's/DIVIDEND RECEIVED [^"]/DIVIDEND/g' file
sed -i '' 's/REINVESTMENT [^"]*/BUY/g' file
sed -i '' 's/".*CAP GAIN [^"]*/"DIVIDEND/g' file
sed -i '' 's/Electronic Funds Transfer Received [^"]*/TRANSFER_IN/g' file
sed -i '' 's/CHECK RECEIVED [^"]*/DEPOSIT/g' file
sed -i '' 's/DIRECT DEPOSIT [^"]*/DEPOSIT/g' file
@boehs
boehs / imagexss.svg
Last active February 16, 2024 04:17
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@boehs
boehs / UniFFI.md
Last active December 20, 2023 07:48
A little guide to UniFFI for iOS (using Proc macros)

Hi all! My app, Love Your Music, needs a cross platform backend shared between a swift and kotlin codebase. UniFFI has been an absolute joy to use, but unfortunately the setup process is a little bit poorly documented. No problem! I got you <3. This tutorial assumes you have a file structure like

Note

Why Rust × Swift? A common use for rust is FFI, which we are actually doing right here anyway! But if you can FFI to Swift, you can FFI to anywhere. Cross platform apps writen in native code (e.g. apps with a Kotlin counterpart) benefit greatly from shared libraries and UniFFI. In addition, the Rust community is significantly larger, and so it's very likely you'll find crates that are more battletested, more featureful, higher performance, more documented, or even nonexistant in Swift.

app/
app.xcodeproj/
app.xcworkspace/
myCrate/
@boehs
boehs / Marquee.swift
Created December 1, 2023 18:46
SwiftUI marquee text
//
// Marquee.swift
// lym
//
// Created by Evan Boehs on 11/30/23.
//
import SwiftUI
public struct MarqueeText : View {
@boehs
boehs / MastodonLinker.swift
Last active March 19, 2024 20:39
Open Mastodon URL iOS SwiftUI
struct MastodonLinker {
var instance: String
var user: String
@Environment(\.openURL) private var openURL
func openMastodonLink() {
let urls = [
"opener://x-callback-url/show-options?url=https%3A%2F%2F\(instance)%2F\(user)",
"ivory://\(instance)/@\(user)",
"icecubesapp://\(instance)/@\(user)",
@boehs
boehs / fr24.ts
Created October 30, 2023 15:56
FlightRadar24 scrapper for tracking specific flights (used in 2023 Lewiston, Maine Shootings Wikipedia article)
//[...document.querySelectorAll('a[data-flight-duration]')].map(e => e.getAttribute('data-flight-hex'))
interface FlightPlaybackPoints {
latitude: number
longitude: number
timestamp: number
}
type FlightPlaybackResponse = {
flight: {
@boehs
boehs / parser.ts
Created September 7, 2023 13:28
athletic.net times to sheet (for desmos)
[...temp1.querySelectorAll('[_ngcontent-ng-c2304734222]')].map(e => e.textContent).filter(t => t.match(/^\d\d:\d\d/)).map((t,i) => {
let [m,s] = t.split(':')
return i + ',' + (Number(m) + (Number(s) * (100/60) / 100))
}).join('\n')
@boehs
boehs / instagram-export-parser.ts
Created August 27, 2023 02:55
instagram data export profile parser
[...document.querySelectorAll('a')].map(a => a.textContent).sort().join('\n')