{"$schema":"https://ejfox.com/schema/page-twin@1.json","kind":"stats","url":"https://ejfox.com/stats","json_url":"https://ejfox.com/stats.json","generator":"ejfox.com/json-twin@1","data":{"_":"ejfox — a life in numbers · refreshed by machines, composed by hand","generated":"2026-10-11T18:53:27.299Z","tz":"America/New_York","quiet":["records","writing","duolingo-streak","film-this-month","reach"],"now":{"heartbeat_bpm":null,"breathing_rate":null,"blood_oxygen_pct":null,"listening":{"track":"Finders Keepers","artist":"Cesco","at":"2026-10-10T15:33:17.000Z"},"reading":["Muskism: A Guide for the Perplexed"],"making":{"repo":"website-dispatch"}},"today":{"body":{"steps":null,"exercise_min":null,"stand_hours":null},"sleep":null},"week":{"body":{"steps":null,"exercise_min":null,"avg_daily_steps":null},"music":{"scrobbles":138,"top_artist":"Smino"},"code":{"commits":50,"top_repos":["website-dispatch","coachartie2","website2","paramilitary-leaks-frontend","weddings"],"kinds":{"other":129,"feat":42,"fix":22,"chore":9,"docs":8,"refactor":4}},"screen":{"productive_hours":17.1,"productivity_pct":54},"senses":{"daylight_min_per_day":null,"ambient_db":null,"mindful_min":null},"knowledge":{"wiki_edits":500,"wiki_new_pages":10},"reach":{"visitors":null,"pageviews":null,"top_post":null}},"year":{"film":{"watched":6,"loved":"Poor Things (2023)"},"books":{"finished":5,"reading_now":1},"music":{"top_artists":["Smino","James Blake","Cesco"]},"code":{"contributions":1078,"repos":212},"body":{"steps":null},"photography":{"frames":50,"latest_frame":"2026-09-01T06:09:06+00:00"}},"ever":{"typing":{"best_wpm":188.95,"avg_wpm":129,"tests":319,"langs":{"english":144,"javascript":94,"english commonly misspelled":123,"javascript 1k":80,"rust":64}},"music":{"scrobbles":148504},"chess":{"blitz":139,"rapid":391},"carry":{"items":92,"weight_lbs":77,"containers":14,"by_type":{"Utility":12,"Bag":10,"Tech":17,"Comfort":23,"Creativity":8,"Safety":8,"Sleep":10,"Food":4},"starred":["North Face Circaloft Booties","5.11 Rush 24 Backpack","WLF Enduro Pack Vest","Black 20L Big River Dry Bag","Nemo Quasar 3D Regular Wide Insulated Sleeping Pad"]},"records":{"collection":0},"knowledge":{"wiki_pages":1088,"wiki_articles":417,"wiki_edits_all_time":4898},"duolingo":{"xp":4112,"course":"Arabic","streak_days":0},"online_since":2009},"weeklySummary":{"productiveHours":17.1,"totalTrackedHours":31.72,"productivityPercent":54,"topActivity":"ghostty","commits":50,"topRepos":["website-dispatch","coachartie2","website2","paramilitary-leaks-frontend","weddings"],"commitTypes":[{"type":"other","count":129,"percentage":58.371040723981906},{"type":"feat","count":42,"percentage":19.004524886877828},{"type":"fix","count":22,"percentage":9.95475113122172}],"stepsThisWeek":0,"exerciseMinutesThisWeek":0,"avgDailySteps":0,"moviesWatched":0,"recentMovies":[{"title":"Poor Things (2023)","rating":4.5},{"title":"The Ides of March (2011)","rating":2},{"title":"Louis Theroux: Inside the Manosphere (2026)","rating":4}],"topArtists":[{"name":"Smino","plays":55},{"name":"James Blake","plays":15},{"name":"Cesco","plays":14}],"scrobblesThisWeek":138,"duolingoStreak":0,"chessGamesThisWeek":1,"chessRating":139,"wordsWritten":0,"postsPublished":0,"currentlyReading":[{"title":"Muskism: A Guide for the Perplexed","author":"Quinn Slobodian"}],"booksThisMonth":2},"github":{"stats":{"totalCommits":1078,"totalContributions":1078,"totalRepos":212,"followers":127,"following":58,"commitsThisPeriod":131},"detail":{"commits":[{"repository":{"name":"website-dispatch"},"message":"Remove accidentally committed __pycache__; ignore it (#8)","occurredAt":"2026-10-07T18:14:15Z","type":"other"},{"repository":{"name":"coachartie2"},"message":"Read Supabase service key from env, not a hardcoded literal (#103)","occurredAt":"2026-10-07T18:13:57Z","type":"other"},{"repository":{"name":"website-dispatch"},"message":"Read Cloudinary credentials from env, not hardcoded literals (#7)","occurredAt":"2026-10-07T18:13:48Z","type":"other"},{"repository":{"name":"website2"},"message":"Health stats: count today and daily trends in ET, not UTC / rolling 24h (#72)","occurredAt":"2026-10-07T17:56:49Z","type":"other"},{"repository":{"name":"website2"},"message":"Merge pull request #71 from ejfox/feat/sponsor-go","occurredAt":"2026-10-07T17:54:26Z","type":"other"},{"repository":{"name":"website2"},"message":"Add /go/<slug> sponsor link redirector (Umami tracked links)","occurredAt":"2026-10-07T17:49:01Z","type":"other"},{"repository":{"name":"paramilitary-leaks-frontend"},"message":"Remove client-side AI keys from public runtimeConfig (#1)","occurredAt":"2026-10-07T17:44:24Z","type":"other"},{"repository":{"name":"weddings"},"message":"Remove client-side AI keys from public runtimeConfig (#1)","occurredAt":"2026-10-07T17:44:15Z","type":"other"},{"repository":{"name":"website2"},"message":"Merge pull request #70 from ejfox/fix/splay-no-snap","occurredAt":"2026-10-07T00:47:12Z","type":"other"},{"repository":{"name":"website2"},"message":"scraps API: explicit columns + 1h cache (stop Supabase egress blowout)","occurredAt":"2026-10-07T00:32:43Z","type":"other"},{"repository":{"name":"website2"},"message":"Particles: draw in whole device pixels so moving dots don't streak","occurredAt":"2026-10-07T00:32:23Z","type":"other"},{"repository":{"name":"website2"},"message":"Blog images: keep the splay tilt during scroll reveal (no snap-in)","occurredAt":"2026-10-06T23:53:26Z","type":"other"},{"repository":{"name":"ejfox"},"message":"Update README with new badges","occurredAt":"2026-10-06T22:39:48Z","type":"other"},{"repository":{"name":"room302studio"},"message":"Merge pull request #53 from room302studio/feat/umami-replay","occurredAt":"2026-10-06T21:15:27Z","type":"other"},{"repository":{"name":"dotfiles"},"message":"fix(computah): respect paperize GPU leases; self-heal FLUX otherwise","occurredAt":"2026-10-06T19:11:11Z","type":"fix"},{"repository":{"name":"website2"},"message":"Merge pull request #68 from ejfox/feat/umami-plus","occurredAt":"2026-10-06T18:39:04Z","type":"other"},{"repository":{"name":"room302studio"},"message":"Umami 3.4: session replay + heatmaps, Web Vitals, umami-plus behavior events","occurredAt":"2026-10-06T18:38:55Z","type":"other"},{"repository":{"name":"417am-site"},"message":"Umami 3.4: versioned tracker + Web Vitals, umami-plus helper, recorder (heatmaps","occurredAt":"2026-10-06T18:28:51Z","type":"other"},{"repository":{"name":"website2"},"message":"privacy: remove a billing dashboard and a family email thread from week notes","occurredAt":"2026-10-06T18:28:08Z","type":"other"},{"repository":{"name":"website2"},"message":"Umami: Web Vitals, heatmaps/replay recorder, umami-plus behaviour events","occurredAt":"2026-10-06T18:22:32Z","type":"other"},{"repository":{"name":"dotfiles"},"message":"feat(muse): FLUX steering experiment arms (refs, best-of-N, FK particles) with r","occurredAt":"2026-10-06T18:18:48Z","type":"feat"},{"repository":{"name":"dotfiles"},"message":"preview-server: un-star also removes the piece from 417am.party (Unpost-417)","occurredAt":"2026-10-06T18:11:29Z","type":"other"},{"repository":{"name":"dotfiles"},"message":"feat(computah): log-only early-preview scoring for wall cells","occurredAt":"2026-10-06T18:09:36Z","type":"feat"},{"repository":{"name":"website2"},"message":"privacy: remove three screenshots that exposed credentials from week notes","occurredAt":"2026-10-06T18:09:07Z","type":"other"},{"repository":{"name":"417am-site"},"message":"Feed items: drop inline style (W3C validator warning)","occurredAt":"2026-10-06T18:08:21Z","type":"other"},{"repository":{"name":"dotfiles"},"message":"feat(taste): taste judge (validated preference model + score CLI) and why-note r","occurredAt":"2026-10-06T18:06:54Z","type":"feat"},{"repository":{"name":"417am-site"},"message":"Umami hooks: UMAMI_WEBSITE_ID env (no script when unset) + event attributes","occurredAt":"2026-10-06T18:06:00Z","type":"other"},{"repository":{"name":"417am-site"},"message":"One record, two eras: new work (2026-) above the @417am1975 archive","occurredAt":"2026-10-06T18:03:15Z","type":"other"},{"repository":{"name":"dotfiles"},"message":"feat(wall): ~10 pair picks a day incl. studio, say-why, studio taste events","occurredAt":"2026-10-06T17:51:21Z","type":"feat"},{"repository":{"name":"dotfiles"},"message":"feat(computah): computah screenshot grabs the real Windows desktop to ~/screensh","occurredAt":"2026-10-06T17:40:40Z","type":"feat"},{"repository":{"name":"dotfiles"},"message":"fix(computah): studio-seed strength 0.60-0.78 (0.58 echoed the dither, >=0.8 ign","occurredAt":"2026-10-06T17:26:28Z","type":"fix"},{"repository":{"name":"room302studio"},"message":"Merge pull request #52 from room302studio/fix/contact-worker-hardening","occurredAt":"2026-10-06T17:25:18Z","type":"other"},{"repository":{"name":"room302studio"},"message":"Contact worker: close the no-timer bot bypass, 400 on non-object JSON, add tests","occurredAt":"2026-10-06T17:25:13Z","type":"other"},{"repository":{"name":"dotfiles"},"message":"feat(computah): obs start/rec/stop/status; studio pieces seed 60% of FLUX cells","occurredAt":"2026-10-06T17:12:00Z","type":"feat"},{"repository":{"name":"dotfiles"},"message":"feat(wall): 1:1 pixel view, close buttons, no scrollbars, motion pass","occurredAt":"2026-10-06T17:11:59Z","type":"feat"},{"repository":{"name":"website2"},"message":"privacy: remove a screenshot exposing an API key from week note 2025-10","occurredAt":"2026-10-06T15:53:49Z","type":"other"},{"repository":{"name":"website2"},"message":"privacy: remove two screenshots that exposed credentials from week notes","occurredAt":"2026-10-06T15:44:25Z","type":"other"},{"repository":{"name":"website2"},"message":"privacy: unpublish week note 2025-16 and remove sensitive screenshots","occurredAt":"2026-10-06T15:36:34Z","type":"other"},{"repository":{"name":"website2"},"message":"Merge pull request #63 from ejfox/feat/oled-black","occurredAt":"2026-10-05T22:01:09Z","type":"other"},{"repository":{"name":"dotfiles"},"message":"feat(bin): owner-login opens owner-gated VPS apps with the 1-year cookie","occurredAt":"2026-10-05T19:49:46Z","type":"feat"},{"repository":{"name":"dotfiles"},"message":"feat(canary): canary CLI for honeypot document beacons + cheatsheet","occurredAt":"2026-10-05T19:48:49Z","type":"feat"},{"repository":{"name":"dotfiles"},"message":"feat(wall): show each studio piece's raw (pre-dither) render in the inspect card","occurredAt":"2026-10-05T18:59:15Z","type":"feat"},{"repository":{"name":"dotfiles"},"message":"feat: studio-turntable (360 turntable video of any studio piece, rendered on com","occurredAt":"2026-10-05T17:50:55Z","type":"feat"},{"repository":{"name":"dotfiles"},"message":"feat(bin): kuma-push heartbeats for things-bridge, cipher-daily, mac-backup","occurredAt":"2026-10-05T17:50:00Z","type":"feat"},{"repository":{"name":"room302studio"},"message":"Merge pull request #51 from room302studio/fix-light-mode-grey","occurredAt":"2026-10-05T17:11:44Z","type":"other"},{"repository":{"name":"room302studio"},"message":"Fix light mode: the whole page was faded to 18% opacity","occurredAt":"2026-10-05T17:11:32Z","type":"other"},{"repository":{"name":"room302studio"},"message":"Merge pull request #50 from room302studio/lead-fallback-room302","occurredAt":"2026-10-05T16:40:45Z","type":"other"},{"repository":{"name":"room302studio"},"message":"Contact leads: fall back to ejfox@room302.studio until studio@ verifies","occurredAt":"2026-10-05T16:40:34Z","type":"other"},{"repository":{"name":"room302studio"},"message":"Merge pull request #49 from room302studio/lead-recipients","occurredAt":"2026-10-05T16:37:02Z","type":"other"},{"repository":{"name":"room302studio"},"message":"Contact leads go to studio@ (Google group); ejfox+artie is a fallback","occurredAt":"2026-10-05T16:36:51Z","type":"other"}],"commitTypes":[{"type":"other","count":129,"percentage":58.371040723981906},{"type":"feat","count":42,"percentage":19.004524886877828},{"type":"fix","count":22,"percentage":9.95475113122172},{"type":"chore","count":9,"percentage":4.072398190045249},{"type":"docs","count":8,"percentage":3.619909502262444},{"type":"refactor","count":4,"percentage":1.809954751131222},{"type":"perf","count":3,"percentage":1.3574660633484164},{"type":"test","count":2,"percentage":0.904977375565611},{"type":"style","count":1,"percentage":0.4524886877828055},{"type":"ci","count":1,"percentage":0.4524886877828055}]}},"monkeyType":{"typingStats":{"bestWPM":188.95,"testsCompleted":319,"bestAccuracy":100,"bestConsistency":51.66,"averageWpm":129,"recentTests":[{"timestamp":"2026-01-29T21:24:17.163Z","wpm":154.42,"accuracy":99.23,"language":"english"},{"timestamp":"2026-01-27T18:02:50.061Z","wpm":166.41,"accuracy":100,"language":"english"},{"timestamp":"2026-01-27T18:01:36.813Z","wpm":143.94,"accuracy":100,"language":"english"},{"timestamp":"2026-01-27T18:00:11.629Z","wpm":96.78,"accuracy":100,"language":"code_javascript"},{"timestamp":"2026-01-18T18:06:04.723Z","wpm":123.26,"accuracy":100,"language":"english_commonly_misspelled"}],"languageBreakdown":[{"language":"english","tests":21,"averageWpm":144,"bestWpm":188.95},{"language":"code_javascript","tests":6,"averageWpm":94,"bestWpm":108.79},{"language":"english_commonly_misspelled","tests":1,"averageWpm":123,"bestWpm":123.26},{"language":"code_javascript_1k","tests":1,"averageWpm":80,"bestWpm":80.4},{"language":"code_rust","tests":1,"averageWpm":64,"bestWpm":63.59}]},"lastUpdated":"2026-10-11T18:53:24.113Z"},"health":null,"leetcode":{"contestStats":null,"recentSubmissions":[],"submissionStats":{"easy":{"count":6,"submissions":7},"medium":{"count":2,"submissions":2},"hard":{"count":0,"submissions":0}},"lastUpdated":"2026-10-11T18:53:23.546Z"},"chess":{"currentRating":{"bullet":100,"blitz":139,"rapid":391},"bestRating":{"bullet":241,"blitz":370,"rapid":0},"gamesPlayed":{"bullet":268,"blitz":237,"rapid":1,"total":506},"winRate":{"bullet":40,"blitz":39,"rapid":100,"overall":59.666666666666664},"puzzleStats":{"rating":1000,"totalSolved":0,"bestRating":1000},"recentGames":[{"id":"e8871eba-16ad-11f1-aef5-ff03fcd5ee12","opponent":"Coach-Levy","timeControl":"daily","result":"loss","timestamp":1772507161,"rating":391,"ratingDiff":0}],"lastUpdated":"2026-10-11T18:53:23.444Z"},"rescueTime":{"week":{"categories":[{"name":"General Software Development","time":{"seconds":36344,"minutes":605,"hours":10,"hoursDecimal":10.1,"formatted":"10h 5m"},"percentageOfTotal":32,"productivity":2},{"name":"Video","time":{"seconds":19747,"minutes":329,"hours":5,"hoursDecimal":5.49,"formatted":"5h 29m"},"percentageOfTotal":17,"productivity":-2},{"name":"General Social Networking","time":{"seconds":16837,"minutes":280,"hours":4,"hoursDecimal":4.68,"formatted":"4h 40m"},"percentageOfTotal":15,"productivity":-2},{"name":"Video Editing","time":{"seconds":15965,"minutes":266,"hours":4,"hoursDecimal":4.43,"formatted":"4h 26m"},"percentageOfTotal":14,"productivity":2},{"name":"General News & Opinion","time":{"seconds":4199,"minutes":69,"hours":1,"hoursDecimal":1.17,"formatted":"1h 9m"},"percentageOfTotal":4,"productivity":-2},{"name":"General Reference & Learning","time":{"seconds":3188,"minutes":53,"hours":0,"hoursDecimal":0.89,"formatted":"0h 53m"},"percentageOfTotal":3,"productivity":1},{"name":"Instant Message","time":{"seconds":2978,"minutes":49,"hours":0,"hoursDecimal":0.83,"formatted":"0h 49m"},"percentageOfTotal":3,"productivity":-1},{"name":"General Communication & Scheduling","time":{"seconds":2649,"minutes":44,"hours":0,"hoursDecimal":0.74,"formatted":"0h 44m"},"percentageOfTotal":2,"productivity":0},{"name":"General Utilities","time":{"seconds":2276,"minutes":37,"hours":0,"hoursDecimal":0.63,"formatted":"0h 37m"},"percentageOfTotal":2,"productivity":1},{"name":"Uncategorized","time":{"seconds":2201,"minutes":36,"hours":0,"hoursDecimal":0.61,"formatted":"0h 36m"},"percentageOfTotal":2,"productivity":0},{"name":"Email","time":{"seconds":1871,"minutes":31,"hours":0,"hoursDecimal":0.52,"formatted":"0h 31m"},"percentageOfTotal":2,"productivity":0},{"name":"Audio Editing","time":{"seconds":1584,"minutes":26,"hours":0,"hoursDecimal":0.44,"formatted":"0h 26m"},"percentageOfTotal":1,"productivity":2},{"name":"General Entertainment","time":{"seconds":839,"minutes":13,"hours":0,"hoursDecimal":0.23,"formatted":"0h 13m"},"percentageOfTotal":1,"productivity":-2},{"name":"Writing","time":{"seconds":777,"minutes":12,"hours":0,"hoursDecimal":0.22,"formatted":"0h 12m"},"percentageOfTotal":1,"productivity":2},{"name":"General Design & Composition","time":{"seconds":737,"minutes":12,"hours":0,"hoursDecimal":0.2,"formatted":"0h 12m"},"percentageOfTotal":1,"productivity":2},{"name":"Browsers","time":{"seconds":708,"minutes":11,"hours":0,"hoursDecimal":0.2,"formatted":"0h 11m"},"percentageOfTotal":1,"productivity":0},{"name":"Calendars","time":{"seconds":223,"minutes":3,"hours":0,"hoursDecimal":0.06,"formatted":"0h 3m"},"percentageOfTotal":0,"productivity":0},{"name":"Music","time":{"seconds":169,"minutes":2,"hours":0,"hoursDecimal":0.05,"formatted":"0h 2m"},"percentageOfTotal":0,"productivity":-2},{"name":"Intelligence","time":{"seconds":165,"minutes":2,"hours":0,"hoursDecimal":0.05,"formatted":"0h 2m"},"percentageOfTotal":0,"productivity":2},{"name":"Internet Utilities","time":{"seconds":162,"minutes":2,"hours":0,"hoursDecimal":0.05,"formatted":"0h 2m"},"percentageOfTotal":0,"productivity":1},{"name":"Search","time":{"seconds":155,"minutes":2,"hours":0,"hoursDecimal":0.04,"formatted":"0h 2m"},"percentageOfTotal":0,"productivity":0},{"name":"Photos","time":{"seconds":106,"minutes":1,"hours":0,"hoursDecimal":0.03,"formatted":"0h 1m"},"percentageOfTotal":0,"productivity":1},{"name":"Engineering & Technology","time":{"seconds":100,"minutes":1,"hours":0,"hoursDecimal":0.03,"formatted":"0h 1m"},"percentageOfTotal":0,"productivity":1},{"name":"General Shopping","time":{"seconds":64,"minutes":1,"hours":0,"hoursDecimal":0.02,"formatted":"0h 1m"},"percentageOfTotal":0,"productivity":-2},{"name":"Games","time":{"seconds":39,"minutes":0,"hours":0,"hoursDecimal":0.01,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":-2},{"name":"Systems Operations","time":{"seconds":31,"minutes":0,"hours":0,"hoursDecimal":0.01,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":2},{"name":"General Business","time":{"seconds":27,"minutes":0,"hours":0,"hoursDecimal":0.01,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":2},{"name":"Science & Technology","time":{"seconds":18,"minutes":0,"hours":0,"hoursDecimal":0.01,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":-1},{"name":"Accounting","time":{"seconds":9,"minutes":0,"hours":0,"hoursDecimal":0,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":2},{"name":"Editing & IDEs","time":{"seconds":8,"minutes":0,"hours":0,"hoursDecimal":0,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":2},{"name":"Voice Chat","time":{"seconds":5,"minutes":0,"hours":0,"hoursDecimal":0,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":1}],"activities":[{"name":"ghostty","time":{"seconds":30609,"minutes":510,"hours":8,"hoursDecimal":8.5,"formatted":"8h 30m"},"percentageOfTotal":27,"category":"General Software Development","productivity":2},{"name":"studio.youtube.com","time":{"seconds":13819,"minutes":230,"hours":3,"hoursDecimal":3.84,"formatted":"3h 50m"},"percentageOfTotal":12,"category":"Video Editing","productivity":2},{"name":"youtube.com","time":{"seconds":12404,"minutes":206,"hours":3,"hoursDecimal":3.45,"formatted":"3h 26m"},"percentageOfTotal":11,"category":"Video","productivity":-2},{"name":"x.com","time":{"seconds":8550,"minutes":142,"hours":2,"hoursDecimal":2.38,"formatted":"2h 22m"},"percentageOfTotal":7,"category":"General Social Networking","productivity":-2},{"name":"play.hbomax.com","time":{"seconds":6952,"minutes":115,"hours":1,"hoursDecimal":1.93,"formatted":"1h 55m"},"percentageOfTotal":6,"category":"Video","productivity":-2},{"name":"instagram.com","time":{"seconds":5704,"minutes":95,"hours":1,"hoursDecimal":1.58,"formatted":"1h 35m"},"percentageOfTotal":5,"category":"General Social Networking","productivity":-2},{"name":"reddit.com","time":{"seconds":4147,"minutes":69,"hours":1,"hoursDecimal":1.15,"formatted":"1h 9m"},"percentageOfTotal":4,"category":"General News & Opinion","productivity":-2},{"name":"messages","time":{"seconds":2978,"minutes":49,"hours":0,"hoursDecimal":0.83,"formatted":"0h 49m"},"percentageOfTotal":3,"category":"Instant Message","productivity":-1},{"name":"Discord","time":{"seconds":2480,"minutes":41,"hours":0,"hoursDecimal":0.69,"formatted":"0h 41m"},"percentageOfTotal":2,"category":"General Communication & Scheduling","productivity":0},{"name":"10.0.0.169:7861","time":{"seconds":2449,"minutes":40,"hours":0,"hoursDecimal":0.68,"formatted":"0h 40m"},"percentageOfTotal":2,"category":"General Software Development","productivity":2}],"summary":{"total":{"seconds":114181,"minutes":1903,"hours":31,"hoursDecimal":31.72,"formatted":"31h 43m"},"productive":{"time":{"seconds":61542,"minutes":1025,"hours":17,"hoursDecimal":17.1,"formatted":"17h 5m"},"percentage":54},"distracting":{"time":{"seconds":44832,"minutes":747,"hours":12,"hoursDecimal":12.45,"formatted":"12h 27m"},"percentage":39},"neutral":{"time":{"seconds":7807,"minutes":130,"hours":2,"hoursDecimal":2.17,"formatted":"2h 10m"},"percentage":7}}},"month":{"categories":[{"name":"General Software Development","time":{"seconds":67629,"minutes":1127,"hours":18,"hoursDecimal":18.79,"formatted":"18h 47m"},"percentageOfTotal":33,"productivity":2},{"name":"Video","time":{"seconds":40022,"minutes":667,"hours":11,"hoursDecimal":11.12,"formatted":"11h 7m"},"percentageOfTotal":20,"productivity":-2},{"name":"General Social Networking","time":{"seconds":20298,"minutes":338,"hours":5,"hoursDecimal":5.64,"formatted":"5h 38m"},"percentageOfTotal":10,"productivity":-2},{"name":"Video Editing","time":{"seconds":19715,"minutes":328,"hours":5,"hoursDecimal":5.48,"formatted":"5h 28m"},"percentageOfTotal":10,"productivity":2},{"name":"General Reference & Learning","time":{"seconds":8891,"minutes":148,"hours":2,"hoursDecimal":2.47,"formatted":"2h 28m"},"percentageOfTotal":4,"productivity":1},{"name":"General News & Opinion","time":{"seconds":8486,"minutes":141,"hours":2,"hoursDecimal":2.36,"formatted":"2h 21m"},"percentageOfTotal":4,"productivity":-2},{"name":"Audio Editing","time":{"seconds":4904,"minutes":81,"hours":1,"hoursDecimal":1.36,"formatted":"1h 21m"},"percentageOfTotal":2,"productivity":2},{"name":"General Communication & Scheduling","time":{"seconds":4820,"minutes":80,"hours":1,"hoursDecimal":1.34,"formatted":"1h 20m"},"percentageOfTotal":2,"productivity":0},{"name":"Uncategorized","time":{"seconds":3967,"minutes":66,"hours":1,"hoursDecimal":1.1,"formatted":"1h 6m"},"percentageOfTotal":2,"productivity":0},{"name":"Email","time":{"seconds":3375,"minutes":56,"hours":0,"hoursDecimal":0.94,"formatted":"0h 56m"},"percentageOfTotal":2,"productivity":0},{"name":"General Utilities","time":{"seconds":3310,"minutes":55,"hours":0,"hoursDecimal":0.92,"formatted":"0h 55m"},"percentageOfTotal":2,"productivity":1},{"name":"Instant Message","time":{"seconds":3245,"minutes":54,"hours":0,"hoursDecimal":0.9,"formatted":"0h 54m"},"percentageOfTotal":2,"productivity":-1},{"name":"Communications","time":{"seconds":2278,"minutes":37,"hours":0,"hoursDecimal":0.63,"formatted":"0h 37m"},"percentageOfTotal":1,"productivity":1},{"name":"General Entertainment","time":{"seconds":2183,"minutes":36,"hours":0,"hoursDecimal":0.61,"formatted":"0h 36m"},"percentageOfTotal":1,"productivity":-2},{"name":"Search","time":{"seconds":2067,"minutes":34,"hours":0,"hoursDecimal":0.57,"formatted":"0h 34m"},"percentageOfTotal":1,"productivity":0},{"name":"General Design & Composition","time":{"seconds":1900,"minutes":31,"hours":0,"hoursDecimal":0.53,"formatted":"0h 31m"},"percentageOfTotal":1,"productivity":2},{"name":"Writing","time":{"seconds":1594,"minutes":26,"hours":0,"hoursDecimal":0.44,"formatted":"0h 26m"},"percentageOfTotal":1,"productivity":2},{"name":"Browsers","time":{"seconds":1290,"minutes":21,"hours":0,"hoursDecimal":0.36,"formatted":"0h 21m"},"percentageOfTotal":1,"productivity":0},{"name":"General Shopping","time":{"seconds":847,"minutes":14,"hours":0,"hoursDecimal":0.24,"formatted":"0h 14m"},"percentageOfTotal":0,"productivity":-2},{"name":"Graphic Design","time":{"seconds":466,"minutes":7,"hours":0,"hoursDecimal":0.13,"formatted":"0h 7m"},"percentageOfTotal":0,"productivity":2},{"name":"Intelligence","time":{"seconds":333,"minutes":5,"hours":0,"hoursDecimal":0.09,"formatted":"0h 5m"},"percentageOfTotal":0,"productivity":2},{"name":"Internet Utilities","time":{"seconds":285,"minutes":4,"hours":0,"hoursDecimal":0.08,"formatted":"0h 4m"},"percentageOfTotal":0,"productivity":1},{"name":"Calendars","time":{"seconds":250,"minutes":4,"hours":0,"hoursDecimal":0.07,"formatted":"0h 4m"},"percentageOfTotal":0,"productivity":0},{"name":"Music","time":{"seconds":169,"minutes":2,"hours":0,"hoursDecimal":0.05,"formatted":"0h 2m"},"percentageOfTotal":0,"productivity":-2},{"name":"Operations","time":{"seconds":157,"minutes":2,"hours":0,"hoursDecimal":0.04,"formatted":"0h 2m"},"percentageOfTotal":0,"productivity":2},{"name":"Engineering & Technology","time":{"seconds":152,"minutes":2,"hours":0,"hoursDecimal":0.04,"formatted":"0h 2m"},"percentageOfTotal":0,"productivity":1},{"name":"Business & Finance","time":{"seconds":127,"minutes":2,"hours":0,"hoursDecimal":0.04,"formatted":"0h 2m"},"percentageOfTotal":0,"productivity":1},{"name":"Photos","time":{"seconds":106,"minutes":1,"hours":0,"hoursDecimal":0.03,"formatted":"0h 1m"},"percentageOfTotal":0,"productivity":1},{"name":"Systems Operations","time":{"seconds":74,"minutes":1,"hours":0,"hoursDecimal":0.02,"formatted":"0h 1m"},"percentageOfTotal":0,"productivity":2},{"name":"General Business","time":{"seconds":67,"minutes":1,"hours":0,"hoursDecimal":0.02,"formatted":"0h 1m"},"percentageOfTotal":0,"productivity":2},{"name":"Voice Chat","time":{"seconds":45,"minutes":0,"hours":0,"hoursDecimal":0.01,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":1},{"name":"Games","time":{"seconds":39,"minutes":0,"hours":0,"hoursDecimal":0.01,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":-2},{"name":"Accounting","time":{"seconds":24,"minutes":0,"hours":0,"hoursDecimal":0.01,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":2},{"name":"Science & Technology","time":{"seconds":18,"minutes":0,"hours":0,"hoursDecimal":0.01,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":-1},{"name":"Editing & IDEs","time":{"seconds":8,"minutes":0,"hours":0,"hoursDecimal":0,"formatted":"0h 0m"},"percentageOfTotal":0,"productivity":2}],"activities":[{"name":"ghostty","time":{"seconds":58195,"minutes":969,"hours":16,"hoursDecimal":16.17,"formatted":"16h 9m"},"percentageOfTotal":29,"category":"General Software Development","productivity":2},{"name":"youtube.com","time":{"seconds":31700,"minutes":528,"hours":8,"hoursDecimal":8.81,"formatted":"8h 48m"},"percentageOfTotal":16,"category":"Video","productivity":-2},{"name":"studio.youtube.com","time":{"seconds":14020,"minutes":233,"hours":3,"hoursDecimal":3.89,"formatted":"3h 53m"},"percentageOfTotal":7,"category":"Video Editing","productivity":2},{"name":"x.com","time":{"seconds":10494,"minutes":174,"hours":2,"hoursDecimal":2.92,"formatted":"2h 54m"},"percentageOfTotal":5,"category":"General Social Networking","productivity":-2},{"name":"reddit.com","time":{"seconds":8420,"minutes":140,"hours":2,"hoursDecimal":2.34,"formatted":"2h 20m"},"percentageOfTotal":4,"category":"General News & Opinion","productivity":-2},{"name":"play.hbomax.com","time":{"seconds":7586,"minutes":126,"hours":2,"hoursDecimal":2.11,"formatted":"2h 6m"},"percentageOfTotal":4,"category":"Video","productivity":-2},{"name":"instagram.com","time":{"seconds":7216,"minutes":120,"hours":2,"hoursDecimal":2,"formatted":"2h 0m"},"percentageOfTotal":4,"category":"General Social Networking","productivity":-2},{"name":"final cut pro","time":{"seconds":5662,"minutes":94,"hours":1,"hoursDecimal":1.57,"formatted":"1h 34m"},"percentageOfTotal":3,"category":"Video Editing","productivity":2},{"name":"logic pro","time":{"seconds":4904,"minutes":81,"hours":1,"hoursDecimal":1.36,"formatted":"1h 21m"},"percentageOfTotal":2,"category":"Audio Editing","productivity":2},{"name":"Discord","time":{"seconds":4584,"minutes":76,"hours":1,"hoursDecimal":1.27,"formatted":"1h 16m"},"percentageOfTotal":2,"category":"General Communication & Scheduling","productivity":0}],"summary":{"total":{"seconds":203141,"minutes":3385,"hours":56,"hoursDecimal":56.43,"formatted":"56h 25m"},"productive":{"time":{"seconds":112129,"minutes":1868,"hours":31,"hoursDecimal":31.15,"formatted":"31h 8m"},"percentage":55},"distracting":{"time":{"seconds":75249,"minutes":1254,"hours":20,"hoursDecimal":20.9,"formatted":"20h 54m"},"percentage":37},"neutral":{"time":{"seconds":15763,"minutes":262,"hours":4,"hoursDecimal":4.38,"formatted":"4h 22m"},"percentage":8}}},"lastUpdated":"2026-10-11T18:53:24.036Z"},"lastfm":{"recentTracks":{"tracks":[{"name":"Finders Keepers","artist":{"name":"Cesco","url":""},"url":"https://www.last.fm/music/Cesco/_/Finders+Keepers","date":{"uts":"1791646397","#text":"10 Oct 2026, 15:33"},"image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/a689f9b236e83a45578390f71e24c04a.jpg"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/a689f9b236e83a45578390f71e24c04a.jpg"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/a689f9b236e83a45578390f71e24c04a.jpg"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/a689f9b236e83a45578390f71e24c04a.jpg"}]},{"name":"Like We","artist":{"name":"Lokal","url":""},"url":"https://www.last.fm/music/Lokal/_/Like+We","date":{"uts":"1791646169","#text":"10 Oct 2026, 15:29"},"image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/9809ef546f2b5c0e31f43b9a28350e71.jpg"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/9809ef546f2b5c0e31f43b9a28350e71.jpg"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/9809ef546f2b5c0e31f43b9a28350e71.jpg"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/9809ef546f2b5c0e31f43b9a28350e71.jpg"}]},{"name":"Godzilla Dub","artist":{"name":"ZeroFG","url":""},"url":"https://www.last.fm/music/ZeroFG/_/Godzilla+Dub","date":{"uts":"1791646012","#text":"10 Oct 2026, 15:26"},"image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/01d2fb8b6533245091bf12045b0818d3.png"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/01d2fb8b6533245091bf12045b0818d3.png"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/01d2fb8b6533245091bf12045b0818d3.png"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/01d2fb8b6533245091bf12045b0818d3.png"}]},{"name":"How We Feelin'","artist":{"name":"Fonzo","url":""},"url":"https://www.last.fm/music/Fonzo/_/How+We+Feelin%27","date":{"uts":"1791645798","#text":"10 Oct 2026, 15:23"},"image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/020bb3712244bb2a8fd455b9da0c9de7.jpg"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/020bb3712244bb2a8fd455b9da0c9de7.jpg"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/020bb3712244bb2a8fd455b9da0c9de7.jpg"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/020bb3712244bb2a8fd455b9da0c9de7.jpg"}]},{"name":"Chopper Gunner","artist":{"name":"Napes","url":""},"url":"https://www.last.fm/music/Napes/_/Chopper+Gunner","date":{"uts":"1791645602","#text":"10 Oct 2026, 15:20"},"image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/87b8bf6492f56bbd5cdd91fc5f5097d9.png"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/87b8bf6492f56bbd5cdd91fc5f5097d9.png"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/87b8bf6492f56bbd5cdd91fc5f5097d9.png"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/87b8bf6492f56bbd5cdd91fc5f5097d9.png"}]}],"total":148504},"topArtists":{"artists":[{"name":"Smino","playcount":"55","url":"https://www.last.fm/music/Smino","image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"mega","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"}]},{"name":"James Blake","playcount":"15","url":"https://www.last.fm/music/James+Blake","image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"mega","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"}]},{"name":"Cesco","playcount":"14","url":"https://www.last.fm/music/Cesco","image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"mega","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"}]},{"name":"Sabrina Carpenter","playcount":"12","url":"https://www.last.fm/music/Sabrina+Carpenter","image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"mega","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"}]},{"name":"Kid Cudi","playcount":"10","url":"https://www.last.fm/music/Kid+Cudi","image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"mega","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"}]}],"total":124},"topTracks":{"tracks":[{"name":"90 Proof (with J. Cole)","artist":{"name":"Smino","url":"https://www.last.fm/music/Smino"},"url":"https://www.last.fm/music/Smino/_/90+Proof+(with+J.+Cole)","playcount":"5","image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"}]},{"name":"No L's","artist":{"name":"Smino","url":"https://www.last.fm/music/Smino"},"url":"https://www.last.fm/music/Smino/_/No+L%27s","playcount":"5","image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"}]},{"name":"I. The Worst Guys","artist":{"name":"Childish Gambino","url":"https://www.last.fm/music/Childish+Gambino"},"url":"https://www.last.fm/music/Childish+Gambino/_/I.+The+Worst+Guys","playcount":"4","image":[{"size":"small","#text":"https://lastfm-img.freetls.fastly.net/i/u/34s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"medium","#text":"https://lastfm-img.freetls.fastly.net/i/u/64s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"large","#text":"https://lastfm-img.freetls.fastly.net/i/u/174s/2a96cbd8b46e442fc41c2b86b821562f.png"},{"size":"extralarge","#text":"https://lastfm-img.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png"}]}],"total":279},"userInfo":{"playcount":148504,"registered":{"unixtime":"1138752697","#text":1138752697},"url":"https://www.last.fm/user/PseudoPlacebo","image":"https://lastfm-img.freetls.fastly.net/i/u/64s/10897a79a7fb4699c63c2c2e5e4df0d6.png"},"stats":{"totalScrobbles":148504,"uniqueArtists":124,"uniqueTracks":279,"averagePerDay":19.7,"topGenres":[]},"lastUpdated":"2026-10-11T18:53:24.069Z"},"gear":{"stats":{"totalItems":92,"totalWeight":1232.4,"containerCount":14},"weightCategories":{"baseWeight":1000.9,"wornWeight":225.4,"consumableWeight":6.1,"totalPackWeight":1007,"skinOutWeight":1232.4},"starred":{"count":11,"weight":411.8,"items":["North Face Circaloft Booties","5.11 Rush 24 Backpack","WLF Enduro Pack Vest","Black 20L Big River Dry Bag","Nemo Quasar 3D Regular Wide Insulated Sleeping Pad","REI Magma 30 Sleeping Bag","Mosko Reckless 80 Pannier System","Marmot Tungsten 2P Tent","XPro-3 (Video)","Hyperlite Daybreak 22","Bell Race Star Flex DLX Helmet"]},"typeDistribution":{"Utility":12,"Bag":10,"Tech":17,"Comfort":23,"Creativity":8,"Safety":8,"Sleep":10,"Food":4},"lastUpdated":"2026-10-11T18:53:23.206Z"},"gists":{"stats":{"totalGists":35,"totalFiles":43,"totalSize":5182479,"averageFilesPerGist":1.2,"topLanguages":[{"language":"JavaScript","count":14},{"language":"Shell","count":10},{"language":"Markdown","count":5},{"language":"Vue","count":4},{"language":"HTML","count":2},{"language":"Java","count":1},{"language":"Ruby","count":1},{"language":"JSON","count":1}],"yearStats":{"2023":7,"2024":18,"2025":3,"2026":7}},"recentGists":[{"id":"55979852a4a5d2f782e8f4be564140a3","description":"Subway Builder — Ocean Depth Index schema delta (old OceanDepthIndex -> new OptimizedOceanDepthIndex)","created_at":"2026-06-26T18:24:43Z","files":5,"firstFileName":"convert-ocean-depth-index.mjs","totalLines":0,"languages":["JavaScript","Markdown"],"html_url":"https://gist.github.com/ejfox/55979852a4a5d2f782e8f4be564140a3"},{"id":"7279174a741247af7b84d04f2c61bf12","description":"Broadcast-normalize audio files to EBU R128 (-16 LUFS, -1 dBTP, 48kHz) with silence trimming","created_at":"2026-04-25T15:09:04Z","files":1,"firstFileName":"broadcast-normalize-sfx.sh","totalLines":0,"languages":["Shell"],"html_url":"https://gist.github.com/ejfox/7279174a741247af7b84d04f2c61bf12"},{"id":"9841ae4c1dea1a1b1b3cd2559186df0e","description":"Download 100+ meme/video essay/soundboard sound effects via yt-dlp","created_at":"2026-04-25T15:09:03Z","files":1,"firstFileName":"download-meme-sfx.sh","totalLines":0,"languages":["Shell"],"html_url":"https://gist.github.com/ejfox/9841ae4c1dea1a1b1b3cd2559186df0e"},{"id":"8f65f59be41c1eb7dcd2075f70a16f20","description":"Hudson Line Studios - Google Apps Script for waitlist + survey sync","created_at":"2026-04-09T00:35:56Z","files":1,"firstFileName":"apps-script.js","totalLines":0,"languages":["JavaScript"],"html_url":"https://gist.github.com/ejfox/8f65f59be41c1eb7dcd2075f70a16f20"},{"id":"f493cac5d2fe7dc099b183b6e999aba6","description":"Miyoo Mini video encoder - 640x480 with classic yellow subtitles","created_at":"2026-02-01T00:36:42Z","files":1,"firstFileName":"miyoo_encode_enhanced.sh","totalLines":0,"languages":["Shell"],"html_url":"https://gist.github.com/ejfox/f493cac5d2fe7dc099b183b6e999aba6"}],"lastUpdated":"2026-10-11T18:53:24.441Z"},"website":{"error":"UMAMI_DATABASE_URL not set","stats":null},"letterboxd":{"films":[{"title":"Poor Things (2023)","year":"2023","slug":"poor-things-2023","rating":4.5,"liked":true,"isRewatch":false,"watchedDate":"2026-03-30","letterboxdUrl":"https://letterboxd.com/ejfox/film/poor-things-2023/","tmdbId":"792307","posterUrl":"https://a.ltrbxd.com/resized/film-poster/7/1/0/3/5/2/710352-poor-things-0-600-0-900-crop.jpg?v=a0f2ee9a0e"},{"title":"The Ides of March (2011)","year":"2011","slug":"the-ides-of-march","rating":2,"liked":false,"isRewatch":false,"watchedDate":"2026-03-22","letterboxdUrl":"https://letterboxd.com/ejfox/film/the-ides-of-march/","tmdbId":"10316","posterUrl":"https://a.ltrbxd.com/resized/sm/upload/u2/xm/l2/xq/ncAdjHs58NhPWkwZRtqd9nXzBg4-0-600-0-900-crop.jpg?v=d580ef6d6c"},{"title":"Louis Theroux: Inside the Manosphere (2026)","year":"2026","slug":"louis-theroux-inside-the-manosphere","rating":4,"liked":false,"isRewatch":false,"watchedDate":"2026-03-22","letterboxdUrl":"https://letterboxd.com/ejfox/film/louis-theroux-inside-the-manosphere/","tmdbId":"1633264","posterUrl":"https://a.ltrbxd.com/resized/film-poster/1/4/9/9/9/1/7/1499917-louis-theroux-inside-the-manosphere-0-600-0-900-crop.jpg?v=901afcf4d1"},{"title":"The Fall Guy (2024)","year":"2024","slug":"the-fall-guy-2024","rating":4,"liked":true,"isRewatch":false,"watchedDate":"2026-03-21","letterboxdUrl":"https://letterboxd.com/ejfox/film/the-fall-guy-2024/","tmdbId":"746036","posterUrl":"https://a.ltrbxd.com/resized/film-poster/6/6/7/5/5/0/667550-the-fall-guy-0-600-0-900-crop.jpg?v=5f491a1281"},{"title":"SLC Punk (1998)","year":"1998","slug":"slc-punk","rating":4,"liked":true,"isRewatch":false,"watchedDate":"2026-02-26","letterboxdUrl":"https://letterboxd.com/ejfox/film/slc-punk/","tmdbId":"6396","posterUrl":"https://a.ltrbxd.com/resized/film-poster/4/8/3/3/5/48335-slc-punk-0-600-0-900-crop.jpg?v=d107067c95"},{"title":"Death Proof (2007)","year":"2007","slug":"death-proof","rating":4,"liked":false,"isRewatch":false,"watchedDate":"2026-02-23","letterboxdUrl":"https://letterboxd.com/ejfox/film/death-proof/","tmdbId":"1991","posterUrl":"https://a.ltrbxd.com/resized/film-poster/5/0/6/2/1/50621-death-proof-0-600-0-900-crop.jpg?v=e95daf344f"},{"title":"To Be Twenty (1978)","year":"1978","slug":"to-be-twenty","rating":null,"liked":false,"isRewatch":false,"watchedDate":"2025-11-13","letterboxdUrl":"https://letterboxd.com/ejfox/film/to-be-twenty/","tmdbId":"55685","posterUrl":"https://a.ltrbxd.com/resized/film-poster/1/0/4/7/6/10476-to-be-twenty-0-600-0-900-crop.jpg?v=2e5601aa45"},{"title":"Friendship (2024)","year":"2024","slug":"friendship-2024","rating":3.5,"liked":false,"isRewatch":false,"watchedDate":"2025-08-19","letterboxdUrl":"https://letterboxd.com/ejfox/film/friendship-2024/","tmdbId":"1239655","posterUrl":"https://a.ltrbxd.com/resized/film-poster/1/1/2/2/6/9/1/1122691-friendship-2024-0-600-0-900-crop.jpg?v=9ea74152f4"}],"stats":{"totalFilms":8,"thisYear":6,"thisMonth":0,"averageRating":3.7,"rewatches":0,"liked":3,"topRatedFilms":[{"title":"Poor Things (2023)","year":"2023","slug":"poor-things-2023","rating":4.5,"liked":true,"isRewatch":false,"watchedDate":"2026-03-30","letterboxdUrl":"https://letterboxd.com/ejfox/film/poor-things-2023/","tmdbId":"792307","posterUrl":"https://a.ltrbxd.com/resized/film-poster/7/1/0/3/5/2/710352-poor-things-0-600-0-900-crop.jpg?v=a0f2ee9a0e"},{"title":"Louis Theroux: Inside the Manosphere (2026)","year":"2026","slug":"louis-theroux-inside-the-manosphere","rating":4,"liked":false,"isRewatch":false,"watchedDate":"2026-03-22","letterboxdUrl":"https://letterboxd.com/ejfox/film/louis-theroux-inside-the-manosphere/","tmdbId":"1633264","posterUrl":"https://a.ltrbxd.com/resized/film-poster/1/4/9/9/9/1/7/1499917-louis-theroux-inside-the-manosphere-0-600-0-900-crop.jpg?v=901afcf4d1"},{"title":"The Fall Guy (2024)","year":"2024","slug":"the-fall-guy-2024","rating":4,"liked":true,"isRewatch":false,"watchedDate":"2026-03-21","letterboxdUrl":"https://letterboxd.com/ejfox/film/the-fall-guy-2024/","tmdbId":"746036","posterUrl":"https://a.ltrbxd.com/resized/film-poster/6/6/7/5/5/0/667550-the-fall-guy-0-600-0-900-crop.jpg?v=5f491a1281"},{"title":"SLC Punk (1998)","year":"1998","slug":"slc-punk","rating":4,"liked":true,"isRewatch":false,"watchedDate":"2026-02-26","letterboxdUrl":"https://letterboxd.com/ejfox/film/slc-punk/","tmdbId":"6396","posterUrl":"https://a.ltrbxd.com/resized/film-poster/4/8/3/3/5/48335-slc-punk-0-600-0-900-crop.jpg?v=d107067c95"},{"title":"Death Proof (2007)","year":"2007","slug":"death-proof","rating":4,"liked":false,"isRewatch":false,"watchedDate":"2026-02-23","letterboxdUrl":"https://letterboxd.com/ejfox/film/death-proof/","tmdbId":"1991","posterUrl":"https://a.ltrbxd.com/resized/film-poster/5/0/6/2/1/50621-death-proof-0-600-0-900-crop.jpg?v=e95daf344f"}],"recentFilms":[{"title":"Poor Things (2023)","year":"2023","slug":"poor-things-2023","rating":4.5,"liked":true,"isRewatch":false,"watchedDate":"2026-03-30","letterboxdUrl":"https://letterboxd.com/ejfox/film/poor-things-2023/","tmdbId":"792307","posterUrl":"https://a.ltrbxd.com/resized/film-poster/7/1/0/3/5/2/710352-poor-things-0-600-0-900-crop.jpg?v=a0f2ee9a0e"},{"title":"The Ides of March (2011)","year":"2011","slug":"the-ides-of-march","rating":2,"liked":false,"isRewatch":false,"watchedDate":"2026-03-22","letterboxdUrl":"https://letterboxd.com/ejfox/film/the-ides-of-march/","tmdbId":"10316","posterUrl":"https://a.ltrbxd.com/resized/sm/upload/u2/xm/l2/xq/ncAdjHs58NhPWkwZRtqd9nXzBg4-0-600-0-900-crop.jpg?v=d580ef6d6c"},{"title":"Louis Theroux: Inside the Manosphere (2026)","year":"2026","slug":"louis-theroux-inside-the-manosphere","rating":4,"liked":false,"isRewatch":false,"watchedDate":"2026-03-22","letterboxdUrl":"https://letterboxd.com/ejfox/film/louis-theroux-inside-the-manosphere/","tmdbId":"1633264","posterUrl":"https://a.ltrbxd.com/resized/film-poster/1/4/9/9/9/1/7/1499917-louis-theroux-inside-the-manosphere-0-600-0-900-crop.jpg?v=901afcf4d1"},{"title":"The Fall Guy (2024)","year":"2024","slug":"the-fall-guy-2024","rating":4,"liked":true,"isRewatch":false,"watchedDate":"2026-03-21","letterboxdUrl":"https://letterboxd.com/ejfox/film/the-fall-guy-2024/","tmdbId":"746036","posterUrl":"https://a.ltrbxd.com/resized/film-poster/6/6/7/5/5/0/667550-the-fall-guy-0-600-0-900-crop.jpg?v=5f491a1281"},{"title":"SLC Punk (1998)","year":"1998","slug":"slc-punk","rating":4,"liked":true,"isRewatch":false,"watchedDate":"2026-02-26","letterboxdUrl":"https://letterboxd.com/ejfox/film/slc-punk/","tmdbId":"6396","posterUrl":"https://a.ltrbxd.com/resized/film-poster/4/8/3/3/5/48335-slc-punk-0-600-0-900-crop.jpg?v=d107067c95"},{"title":"Death Proof (2007)","year":"2007","slug":"death-proof","rating":4,"liked":false,"isRewatch":false,"watchedDate":"2026-02-23","letterboxdUrl":"https://letterboxd.com/ejfox/film/death-proof/","tmdbId":"1991","posterUrl":"https://a.ltrbxd.com/resized/film-poster/5/0/6/2/1/50621-death-proof-0-600-0-900-crop.jpg?v=e95daf344f"},{"title":"To Be Twenty (1978)","year":"1978","slug":"to-be-twenty","rating":null,"liked":false,"isRewatch":false,"watchedDate":"2025-11-13","letterboxdUrl":"https://letterboxd.com/ejfox/film/to-be-twenty/","tmdbId":"55685","posterUrl":"https://a.ltrbxd.com/resized/film-poster/1/0/4/7/6/10476-to-be-twenty-0-600-0-900-crop.jpg?v=2e5601aa45"},{"title":"Friendship (2024)","year":"2024","slug":"friendship-2024","rating":3.5,"liked":false,"isRewatch":false,"watchedDate":"2025-08-19","letterboxdUrl":"https://letterboxd.com/ejfox/film/friendship-2024/","tmdbId":"1239655","posterUrl":"https://a.ltrbxd.com/resized/film-poster/1/1/2/2/6/9/1/1122691-friendship-2024-0-600-0-900-crop.jpg?v=9ea74152f4"}],"filmsByMonth":{}},"lastUpdated":"2026-10-11T18:53:23.433Z","source":"RSS feed"},"blog":{"posts":{"thisMonth":0,"total":44},"words":{"thisMonth":0,"avgPerPost":0},"recentPosts":[],"month":"October","year":2026},"discogs":{"stats":{"totalItems":0,"totalValue":0,"medianValue":0,"highestValue":0,"averageValue":0},"topGenres":[],"decadeBreakdown":[],"topArtists":[],"randomRecord":null,"collection":[],"lastUpdated":"2026-10-11T18:53:24.212Z"},"duolingo":{"username":"EJFox2","streak":0,"totalXp":4112,"courses":[{"title":"Arabic","xp":2466,"level":0,"crowns":9999},{"title":"Spanish","xp":876,"level":0,"crowns":9999},{"title":"Japanese","xp":72,"level":0,"crowns":9999}],"currentCourse":{"title":"Arabic","xp":2466,"level":0,"crowns":9999},"creationDate":1742929577,"lastUpdated":"2026-10-11T18:53:23.552Z"},"goodreads":{"currentlyReading":[{"id":"234802898","title":"Muskism: A Guide for the Perplexed","author":"Quinn Slobodian","rating":null,"averageRating":3.77,"numPages":256,"dateRead":null,"dateAdded":"Tue, 26 May 2026 08:51:46 -0700","shelf":"currently-reading","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1755719567l/234802898._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/8633279281?utm_medium=api&utm_source=rss"}],"recentlyRead":[{"id":"244382759","title":"The Nerd Reich: Silicon Valley Fascism and the War on Democracy","author":"Gil Duran","rating":4,"averageRating":4.36,"numPages":352,"dateRead":"Sun, 11 Oct 2026 00:00:00 +0000","dateAdded":"Sun, 11 Oct 2026 09:32:40 -0700","shelf":"read","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1764053152l/244382759._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/9003833629?utm_medium=api&utm_source=rss"},{"id":"204927599","title":"Nexus: A Brief History of Information Networks from the Stone Age to AI","author":"Yuval Noah Harari","rating":2,"averageRating":4.12,"numPages":528,"dateRead":"Tue, 6 Oct 2026 00:00:00 +0000","dateAdded":"Tue, 06 Oct 2026 05:52:37 -0700","shelf":"read","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1709986452l/204927599._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/7755658751?utm_medium=api&utm_source=rss"},{"id":"201528754","title":"Natural Magic: Emily Dickinson, Charles Darwin, and the Dawn of Modern Science","author":"Renée Bergland","rating":5,"averageRating":4.11,"numPages":441,"dateRead":null,"dateAdded":"Wed, 08 Jul 2026 07:34:36 -0700","shelf":"read","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1718484816l/201528754._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/8752641371?utm_medium=api&utm_source=rss"},{"id":"2274623","title":"Leibniz and China: A Commerce of Light","author":"Franklin Perkins","rating":3,"averageRating":3.85,"numPages":244,"dateRead":null,"dateAdded":"Wed, 24 Jun 2026 09:34:04 -0700","shelf":"read","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1415582752l/2274623._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/8633220305?utm_medium=api&utm_source=rss"},{"id":"38914131","title":"The People’s Republic of Walmart: How the World’s Biggest Corporations are Laying the Foundation for Socialism","author":"Leigh Phillips","rating":4,"averageRating":3.88,"numPages":257,"dateRead":null,"dateAdded":"Wed, 24 Jun 2026 09:13:34 -0700","shelf":"read","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1520055691l/38914131._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/8713039483?utm_medium=api&utm_source=rss"},{"id":"54805214","title":"NOLS Wilderness Medicine","author":"Tod Schimelpfenig","rating":5,"averageRating":4.55,"numPages":392,"dateRead":null,"dateAdded":"Sun, 14 Jun 2026 00:03:09 -0700","shelf":"read","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1604993750l/54805214._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/7781939599?utm_medium=api&utm_source=rss"},{"id":"139183078","title":"The Eye of the Master: A Social History of Artificial Intelligence","author":"Matteo Pasquinelli","rating":5,"averageRating":4.01,"numPages":272,"dateRead":"Sun, 10 May 2026 00:00:00 +0000","dateAdded":"Sun, 10 May 2026 20:20:43 -0700","shelf":"read","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1688426869l/139183078._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/8591777368?utm_medium=api&utm_source=rss"},{"id":"25387807","title":"Inventing the Future: Postcapitalism and a World Without Work","author":"Nick Srnicek","rating":5,"averageRating":3.94,"numPages":245,"dateRead":"Sun, 29 Mar 2026 00:00:00 +0000","dateAdded":"Sun, 29 Mar 2026 12:48:38 -0700","shelf":"read","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1432746950l/25387807._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/8477820792?utm_medium=api&utm_source=rss"},{"id":"22551901","title":"Four Futures: Life After Capitalism","author":"Peter Frase","rating":3,"averageRating":3.76,"numPages":150,"dateRead":null,"dateAdded":"Sun, 08 Mar 2026 15:51:53 -0700","shelf":"read","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1474751383l/22551901._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/8421461210?utm_medium=api&utm_source=rss"},{"id":"6763725","title":"Capitalist Realism: Is There No Alternative?","author":"Mark Fisher","rating":4,"averageRating":4.2,"numPages":81,"dateRead":"Sun, 1 Mar 2026 00:00:00 +0000","dateAdded":"Sun, 01 Mar 2026 08:46:16 -0800","shelf":"read","imageUrl":"https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1732718088l/6763725._SX98_.jpg","goodreadsUrl":"https://www.goodreads.com/review/show/8400940865?utm_medium=api&utm_source=rss"}],"stats":{"totalRead":116,"booksThisYear":5,"booksThisMonth":2,"averageRating":3.8,"pagesReadThisYear":1478,"currentlyReading":1,"profileUrl":"https://www.goodreads.com/user/show/9273959"},"lastUpdated":"2026-10-11T18:53:23.646Z","source":"RSS feed"}},"_links":{"self":"https://ejfox.com/stats.json","html":"https://ejfox.com/stats","lite":"/api/stats-lite"}}