Technical Museum
All Hardware Maps ML & AI Music Social Tools Writing Apps & Games
Deciduous
Decision graph CLI for tracing how software decisions evolve
Rust SQLite HTML/JS
Deciduous Archaeology Demo
Demonstrations of decision archaeology on React and stacked git workflows
Rust React Git
Phish Explorer
Jam analytics dashboard for Phish 3.0 era
Elixir Phoenix LiveView D3.js
Local LLM on MacBook
4-bit quantization, safetensors, and Bumblebee + EMLX for Apple Silicon
Elixir Rust Python
A Bot that posts like me
Porting the posting bot to Elixir using local LLM work
Elixir Bumblebee EMLX
Receipt Printer Software Suite
A complete software suite for thermal receipt printers
Elixir Python
Role Call
TV writer overlap explorer
Elixir Phoenix LiveView
Fill Your Sky
Interactive map of 418+ Bluesky communities with 545K+ people
Elixir Phoenix LiveView D3.js
Code Mirror
A live code mirror experiment
Elixir Phoenix LiveView
Pocket Pnin
A local LLM running on my iPhone, coming to the App Store for free
Swift MLX
NYC Census Maps
Interactive census and PLUTO data visualization for New York City
Elixir Phoenix LiveView Leaflet.js
MTA Bus Tracker
Real-time MTA bus and train tracking on an interactive map
Elixir Phoenix LiveView Leaflet.js
Concert GIF Maker
Extract GIFs from concert videos with a retro Mac interface
Elixir Phoenix LiveView FFmpeg
Send a VERY direct message, to my receipt printer
A social project where friends send photos that print on my receipt printer
Elixir Phoenix LiveView
Archive TV
A real over-the-air TV channel from magnetic media archives
Elixir FFmpeg
Losselot
Neural network loss function explorer
Python
Todoinksies
A personal todo app
Elixir Phoenix LiveView
Ormery
An ORM written in Temper
Temper
Collage Maker
Upload photos and arrange them into grid collages
Elixir Phoenix LiveView
GenStage Tutorial 2025
A modern GenStage tutorial for the Elixir ecosystem
Elixir GenStage
Temper Rust Bug
Found a bug in the Temper compiler and built a demo repo
Temper Rust
300+ Years of Tree Law
A blog post that became its own LiveView application
Elixir Phoenix LiveView
HEEx in Other Languages
Experiments porting Phoenix HEEx templates to Rust, Lua, C#, Java, Python, and JS
Temper Rust Lua
Live Draft LSP
Live-stream blog drafts from Zed to Phoenix via a custom LSP
Rust Elixir Zed
Bluesky Hoover Apps
Various apps that vacuum up and process the Bluesky firehose
Elixir Phoenix LiveView
Bobby Posts Bot
A bot that posts like me, in Python
Python
Photo Booth Receipt Printer
A portable photo booth that prints on receipt paper
Python Elixir
Nathan For Us
A Nathan For You social network with video search and GIF creation
Elixir Phoenix LiveView FFmpeg
Browser History Roast MCP
An MCP server that roasts you based on your browser history
Python MCP
GenStage Tutorial (Original)
The original GenStage tutorial
Elixir GenStage
Bluesky Firehose Toys
Real-time firehose visualizations: emoji streams, jetstream comparisons, and more
Elixir Phoenix LiveView WebSocket
31 exhibits Apps & Games
MY FAV
LEICA SHOTS
Work Log β€” Recent Commits
+69-69 notactuallytreyanastasio/alloy-js/main Mar 13 12:45
0b00d3c Update from alloy aebc624a77c36a816e37ecf53c421940553f9ce4
+34-34 notactuallytreyanastasio/alloy-js-app/main Mar 13 12:45
45f098e Update ORM vendor from 0b00d3ca33303c1a2ee338b18095ebf6f23e31d9
+35-0 notactuallytreyanastasio/alloy/main Mar 13 12:41
aebc624 Add Phase 0 (Core Foundation) to Per-Phase Security Analysis Covers the foundational implementation layer that all subsequent phases inherit: SafeIdentifier validation, sealed SqlPart hierarchy, SqlBuilder structure/data separation, sql template tag, basic Query builder, Changeset pipeline, and deleteSql. Documents 28 components with type safety mechanisms. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+4903-4338 notactuallytreyanastasio/alloy-py/main Mar 13 11:54
e097524 Update from alloy 501f6c0442ff8ceed4c293e9701f62a86ae6e024
+10955-9305 notactuallytreyanastasio/alloy-js/main Mar 13 11:54
851f4ae Update from alloy 501f6c0442ff8ceed4c293e9701f62a86ae6e024
+818-963 notactuallytreyanastasio/alloy-csharp/main Mar 13 11:54
c9c01d2 Update from alloy 501f6c0442ff8ceed4c293e9701f62a86ae6e024
+5309-4626 notactuallytreyanastasio/alloy-lua/main Mar 13 11:54
9d25318 Update from alloy 501f6c0442ff8ceed4c293e9701f62a86ae6e024
+7687-6323 notactuallytreyanastasio/alloy-rust-app/main Mar 13 11:54
fa0f041 Update ORM vendor from 5491e93082b67b4b9e5430daf246e747952b023a
+4902-4337 notactuallytreyanastasio/alloy-py-app/main Mar 13 11:54
28783b7 Update ORM vendor from e097524c1c2bc6eefeb0a48e6cec4edcbb765e2d
+831-979 notactuallytreyanastasio/alloy-java-app/main Mar 13 11:54
e4459e7 Update ORM vendor from 872dfb2a5f7777b6b619346aff62c83c641d0839
+817-962 notactuallytreyanastasio/alloy-csharp-app/main Mar 13 11:54
8f1a5e5 Update ORM vendor from c9c01d2e07eb141e758aca2b61b69db5289099f9
+5477-4652 notactuallytreyanastasio/alloy-js-app/main Mar 13 11:54
6b94625 Update ORM vendor from 851f4ae93894fc17a079ad017060d21e7345ba4c
+5308-4625 notactuallytreyanastasio/alloy-lua-app/main Mar 13 11:54
a927898 Update ORM vendor from 9d25318d8719772668521612e3dfb7e7a4937b08
+2376-175 notactuallytreyanastasio/alloy/main Mar 13 11:49
501f6c0 Comprehensive pre-production test audit: 37 new tests and refactoring Phase 1-3: Coverage, test quality, and complexity audits producing three APPEND ONLY documents (docs/COVERAGE_AUDIT.md, TEST_AUDIT.md, COMPLEXITY_AUDIT.md). Mapped ~195 code paths (~72% coverage), rated all 184 existing tests, identified 8 complexity findings. Phase 4: Added 37 new tests across 4 files (184β†’221 total): - schema_test: 3 (single-char identifiers, all-underscore, empty TableDef) - sql_tests: 5 (negative ints, single-element lists, SqlDefault, backslash) - query_test: 8 (immutability, limit(0), safeToSql(0), negative limits) - changeset_test: 21 (boundary validators, all-6-field INSERT, immutability, multi-validator chains, all-virtual UPDATE bubble, skip-when-absent) Phase 5: Refactoring guided by complexity audit: - changeset: Extracted addError() helper, simplified 14 validators (~30 lines removed) - query: Extracted renderWhere/Joins/GroupBy/Having free functions, eliminated 4 WHERE copies and JOIN/GROUP BY/HAVING duplication (~50 lines removed) All 221 tests pass. Decision graph updated (62 nodes, 54 edges). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+99-99 notactuallytreyanastasio/alloy-js/main Mar 13 08:12
52ae3be Update from alloy f4060ec2a3399652674719754a4c56df423da768
+35-35 notactuallytreyanastasio/alloy-js-app/main Mar 13 08:12
009104a Update ORM vendor from 7f98f7b400d231a86b3decdaf90bc7a6637af376
+49-49 notactuallytreyanastasio/alloy-js-app/main Mar 13 08:12
0027fa4 Update ORM vendor from 52ae3be52af175689736f20bb23a9a9f385febf4
+89-89 notactuallytreyanastasio/alloy-js/main Mar 13 08:09
c2f75e0 Update from alloy 88889702513e94df61f2dcf92a1694ede584ef74
+44-44 notactuallytreyanastasio/alloy-js-app/main Mar 13 08:09
be11922 Update ORM vendor from c2f75e024d8b87ce49959ba17c79e6801a595794
+20-29 notactuallytreyanastasio/alloy/main Mar 13 08:06
03621a8 Center language pills, simplify OG image and meta tags - Center the language pill row in OG image - Update tagline to "Write Once, Secure SQL Everywhere" - Remove test count and vulnerability count from stats - Soften description copy in meta tags Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+124-0 notactuallytreyanastasio/alloy/main Mar 13 08:05
8888970 Add OG image and meta tags to GH Pages site Light metallic theme with hex grid texture, language pills, and key stats (184 tests, 6 languages, 0 vulnerabilities). Includes og:image, og:description, and Twitter Card tags. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+59-59 notactuallytreyanastasio/alloy-js/main Mar 13 08:01
07c2616 Update from alloy 9e2ee0e57222f0833bace467b6cb8b0220d33868
+29-29 notactuallytreyanastasio/alloy-js-app/main Mar 13 08:01
b242fdb Update ORM vendor from 07c2616e18e4f79c6a1d673ccf068f24e3711582
+710-579 notactuallytreyanastasio/alloy/main Mar 13 07:57
9e2ee0e Reorganize README and rewrite GH Pages site README: move Getting Started to top, consolidate security sections, use collapsible details for remediation and per-phase analysis, remove broken apps/ links (gitignored directory). GH Pages: condense from 7 chapters to focused sections, add tabbed code snippets showing ORM API in all 6 languages, add library repo links (alloy-js through alloy-csharp), link language pills to repos. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+1-632 notactuallytreyanastasio/alloy-csharp/main Mar 13 07:53
4942045 Update from alloy dabc93e17e9bab67235404a5c8aa0b65676bc70e
+1-607 notactuallytreyanastasio/alloy-rust/main Mar 13 07:52
5ccf5c8 Update from alloy dabc93e17e9bab67235404a5c8aa0b65676bc70e
+1-602 notactuallytreyanastasio/alloy-py/main Mar 13 07:52
f06c5d5 Update from alloy dabc93e17e9bab67235404a5c8aa0b65676bc70e
+1-675 notactuallytreyanastasio/alloy-java/main Mar 13 07:52
71b3809 Update from alloy dabc93e17e9bab67235404a5c8aa0b65676bc70e
+1-607 notactuallytreyanastasio/alloy-lua/main Mar 13 07:52
2e2700e Update from alloy dabc93e17e9bab67235404a5c8aa0b65676bc70e
+38-38 notactuallytreyanastasio/alloy-js-app/main Mar 13 07:52
9cbfe30 Update ORM vendor from e7664c618a9ff820aebd7641d46ae94fbbc47a3a
+77-682 notactuallytreyanastasio/alloy-js/main Mar 13 07:52
e7664c6 Update from alloy dabc93e17e9bab67235404a5c8aa0b65676bc70e
+606-0 notactuallytreyanastasio/alloy-rust/main Mar 13 07:47
9e6d1e6 Add comprehensive README with full API reference, security model, and usage guide Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+605-0 notactuallytreyanastasio/alloy-js/main Mar 13 07:47
48b6bb3 Add comprehensive README with full API reference, security model, and usage guide Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+606-0 notactuallytreyanastasio/alloy-lua/main Mar 13 07:47
c6ff258 Add comprehensive README with full API reference, security model, and usage guide Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+601-0 notactuallytreyanastasio/alloy-py/main Mar 13 07:47
80f1026 Add comprehensive README with full API reference, security model, and usage guide Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+631-0 notactuallytreyanastasio/alloy-csharp/main Mar 13 07:47
a48bd61 Add comprehensive README with full API reference, security model, and usage guide Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+674-0 notactuallytreyanastasio/alloy-java/main Mar 13 07:47
1def482 Add comprehensive README with full API reference, security model, and usage guide Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+264-36 notactuallytreyanastasio/alloy-csharp-app/main Mar 13 07:46
1aea3ad Add comprehensive README with full ORM feature coverage
+254-39 notactuallytreyanastasio/alloy-rust-app/main Mar 13 07:46
ce4567f Add comprehensive README with full ORM feature coverage
+242-35 notactuallytreyanastasio/alloy-js-app/main Mar 13 07:46
acfa11c Add comprehensive README with full ORM feature coverage
+303-34 notactuallytreyanastasio/alloy-py-app/main Mar 13 07:43
0e22e89 Add comprehensive README with full ORM feature coverage
+281-36 notactuallytreyanastasio/alloy-lua-app/main Mar 13 07:43
67a4662 Add comprehensive README with full ORM feature coverage
+285-37 notactuallytreyanastasio/alloy-java-app/main Mar 13 07:42
5f531a9 Add comprehensive README with full ORM feature coverage
+2991-269 notactuallytreyanastasio/alloy-csharp-app/main Mar 13 07:39
d490a08 Enhance app to demonstrate ALL Alloy ORM SQL features Comprehensive rewrite of the C# TodoApp to showcase every ORM feature: Schema: Expanded to 4 tables (lists, todos, tags, todo_tags) with priority (1-5), nullable due_date, nullable description, and FK relations. Query Builder (From): Where, OrWhere, WhereNull, WhereNotNull, WhereIn, WhereInSubquery, WhereNot, WhereBetween, WhereLike, WhereILike, Select, SelectExpr, InnerJoin, LeftJoin, RightJoin, FullJoin, CrossJoin, OrderBy, OrderByNulls (NullsFirst/NullsLast), GroupBy, Having, OrHaving, Limit, Offset, Distinct, Lock (ForUpdate/ForShare), CountSql, SafeToSql, ToSql. Update Builder: Update, Set, Where, OrWhere, Limit, ToSql. Delete Builder: DeleteFrom, Where, OrWhere, Limit, ToSql. Quick Delete: DeleteSql (by primary key). Aggregates: CountAll, CountCol, SumCol, AvgCol, MinCol, MaxCol. Set Operations: UnionSql, UnionAllSql, IntersectSql, ExceptSql. Subqueries: Subquery, ExistsSql. Column References: Col (table.column). Changeset: Cast, ValidateRequired, ValidateLength, ValidateInt, ValidateInt64, ValidateFloat, ValidateBool, ValidateInclusion, ValidateExclusion, ValidateNumber (NumberValidationOpts), ValidateAcceptance, ValidateConfirmation, ValidateContains, ValidateStartsWith, ValidateEndsWith, PutChange, GetChange, DeleteChange, ToInsertSql, ToUpdateSql. Types: SafeIdentifier, TableDef, FieldDef, StringField, IntField, FloatField, BoolField, DateField, SqlBuilder, SqlFragment, SqlInt32, SqlString, ForUpdate, ForShare, NullsFirst, NullsLast. Pages: Lists (CRUD), Todo detail (CRUD with tags), Dashboard (aggregates), Search (all Where variants), Tags (joins), SQL Viewer (all 60+ features). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+1828-182 notactuallytreyanastasio/alloy-js-app/main Mar 13 07:38
9390a0b Enhance app to demonstrate ALL Alloy ORM SQL features Add tags, priority, due dates, search, stats, pagination, bulk ops, and validation showcase. Every ORM query builder method and changeset validator is now exercised in a real route. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+2716-265 notactuallytreyanastasio/alloy-rust-app/main Mar 13 07:37
6be6c29 Enhance app to demonstrate ALL Alloy ORM SQL features Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+2702-151 notactuallytreyanastasio/alloy-py-app/main Mar 13 07:37
776ce23 Enhance app to demonstrate ALL Alloy ORM SQL features Add tags, priority, due dates, search, stats, pagination, bulk ops, and validation showcase. Every ORM query builder method and changeset validator is now exercised in a real route. Query builder features demonstrated: - from_, where, or_where, where_null, where_not_null, where_in, where_in_subquery, where_not, where_between, where_like, where_i_like, select, select_expr, inner_join, left_join, right_join, full_join, cross_join, order_by, order_by_nulls, group_by, having, or_having, limit, offset, distinct, lock, count_sql, safe_to_sql, to_sql Update/Delete builders: - update().set().where(), delete_from().where().limit() Changeset validators: - cast, validate_required, validate_length, validate_int, validate_int64, validate_float, validate_bool, validate_inclusion, validate_exclusion, validate_number, validate_contains, validate_starts_with, validate_ends_with, validate_acceptance, validate_confirmation, put_change, get_change, delete_change, to_insert_sql, to_update_sql Aggregates: count_all, count_col, sum_col, avg_col, min_col, max_col Set ops: union_sql, union_all_sql, intersect_sql, except_sql Subqueries: subquery, exists_sql Types: SqlInt32, SqlString, SqlBuilder, ForUpdate, ForShare, NullsFirst, NullsLast, NumberValidationOpts, timestamps() Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+2487-206 notactuallytreyanastasio/alloy-lua-app/main Mar 13 07:35
8669713 Enhance app to demonstrate ALL Alloy ORM SQL features Rewrite the Lua todo app to exercise every single ORM feature: Schema: 4 tables (lists, todos, tags, todo_tags) with expanded fields including description, priority (1-5), due_date, and many-to-many tags. Query Builder (40+ features demonstrated): - from(), select(), selectExpr(), where(), orWhere() - whereNull(), whereNotNull(), whereIn(), whereInSubquery() - whereNot(), whereBetween(), whereLike(), whereILike() - innerJoin(), leftJoin(), rightJoin(), fullJoin(), crossJoin() - orderBy(), orderByNulls() with NullsFirst/NullsLast - groupBy(), having(), orHaving() - limit(), offset(), distinct() - lock() with ForUpdate/ForShare - countSql(), safeToSql(), toSql() - col() qualified column references Update/Delete Builders: - update() + set() + where() + orWhere() + limit() - deleteFrom() + where() + orWhere() + limit() - deleteSql(tableDef, id) quick delete Aggregates: countAll, countCol, sumCol, avgCol, minCol, maxCol Set Ops: unionSql, unionAllSql, intersectSql, exceptSql Subqueries: subquery(), existsSql() Changeset (all 15+ validators): - cast, validateRequired, validateLength - validateInt, validateInt64, validateFloat, validateBool - validateInclusion, validateExclusion, validateNumber(NumberValidationOpts) - validateAcceptance, validateConfirmation - validateContains, validateStartsWith, validateEndsWith - putChange, getChange, deleteChange - toInsertSql, toUpdateSql Types used: SafeIdentifier, TableDef, FieldDef, StringField, IntField, Int64Field, FloatField, BoolField, DateField, SqlBuilder, SqlFragment, SqlInt32, SqlInt64, SqlFloat64, SqlString, SqlBoolean, SqlDefault, NumberValidationOpts, NullsFirst, NullsLast, ForUpdate, ForShare New routes: /tags, /search, /analytics, /sql-showcase, /validations Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+32-0 notactuallytreyanastasio/alloy-java/main Mar 13 07:34
24c67d4 Add README
+32-0 notactuallytreyanastasio/alloy-lua/main Mar 13 07:34
47856d9 Add README
+32-0 notactuallytreyanastasio/alloy-js/main Mar 13 07:34
810b837 Add README
+32-0 notactuallytreyanastasio/alloy-py/main Mar 13 07:34
8770d5c Add README
+32-0 notactuallytreyanastasio/alloy-rust/main Mar 13 07:34
2ad73e1 Add README
+2273-247 notactuallytreyanastasio/alloy-java-app/main Mar 13 07:34
6d8455e Enhance app to demonstrate ALL Alloy ORM SQL features Expanded data model: lists (with description), todos (with priority 1-5, due_date), tags, todo_tags (many-to-many). Repository demonstrates every ORM feature: - Query builder: from, select, selectExpr, where, orWhere, whereNull, whereNotNull, whereIn, whereInSubquery, whereNot, whereBetween, whereLike, whereILike, innerJoin, leftJoin, rightJoin, fullJoin, crossJoin, orderBy, orderByNulls (NullsFirst/NullsLast), groupBy, having, orHaving, limit, offset, distinct, lock (ForUpdate/ForShare), countSql, safeToSql, toSql - UpdateQuery: update, set, where, orWhere, limit - DeleteQuery: deleteFrom, where, orWhere, limit - Changeset: cast, validateRequired, validateLength, validateInt, validateInt64, validateFloat, validateBool, validateInclusion, validateExclusion, validateNumber (NumberValidationOpts), validateContains, validateStartsWith, validateEndsWith, validateAcceptance, validateConfirmation, putChange, getChange, deleteChange, toInsertSql, toUpdateSql - Aggregates: countAll, countCol, sumCol, avgCol, minCol, maxCol - Set ops: unionSql, unionAllSql, intersectSql, exceptSql - Subqueries: subquery, existsSql - Types: SafeIdentifier, TableDef, FieldDef, StringField, IntField, SqlBuilder, SqlFragment, SqlString, SqlInt32, SqlBoolean - col() qualified references, deleteSql quick delete New routes: /tags, /search (10 filter modes), /advanced (48-query showcase) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+32-0 notactuallytreyanastasio/alloy-csharp/main Mar 13 07:34
aa68ca0 Add README
+33-33 notactuallytreyanastasio/alloy-js-app/main Mar 13 07:26
c49d840 Update ORM vendor from c0dbf1dc042f9ba7830994de2b426d25b99f45c6
+67-67 notactuallytreyanastasio/alloy-js/main Mar 13 07:26
c0dbf1d Update from alloy 26ebf5dbbb3829bfc1e82266bab02bf821d00078
+569-538 notactuallytreyanastasio/alloy/main Mar 13 07:21
26ebf5d Rename Generic ORM to Alloy across all project files Update all references from "Generic ORM" / "generic_orm" / "generic-orm-*" to "Alloy" / "alloy" / "alloy-*" in README, GitHub Pages site, pitch deck, CI workflow, and deck generator script. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+87-87 notactuallytreyanastasio/alloy-js/main Mar 13 07:14
d6bd6bb Update from generic_temper_orm a3e645ac9f1d43b0934422951fee472cf792d762
+43-43 notactuallytreyanastasio/alloy-js-app/main Mar 13 07:14
b361d9f Update ORM vendor from d6bd6bbb164d586f61cfca8fc565e7a2d347efa7
+441-0 notactuallytreyanastasio/generic_orm/main Mar 13 07:08
a3e645a Add GitHub Pages project site and fix missing Phase 6 in README New docs/index.html tells the project story in 7 chapters: the problem, why Temper, the 5 defense layers, literate programming, the 3-bug fix story, the AI development comparison, and the 6-app proof. Styled in black-and-white matching the pitch decks. README.md adds missing Phase 6 (Changeset Enrichment) security analysis section between Phase 5 and Phase 7. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+58-0 notactuallytreyanastasio/generic-orm-rust-app/main Mar 13 07:05
8208d5e Add README with ORM usage documentation
+58-0 notactuallytreyanastasio/generic-orm-java-app/main Mar 13 07:05
1172538 Add README with ORM usage documentation
+59-0 notactuallytreyanastasio/generic-orm-lua-app/main Mar 13 07:05
588bb1b Add README with ORM usage documentation
+59-0 notactuallytreyanastasio/generic-orm-csharp-app/main Mar 13 07:05
ad7f3f2 Add README with ORM usage documentation
+55-0 notactuallytreyanastasio/generic-orm-py-app/main Mar 13 07:04
9420251 Add README with ORM usage documentation
+60-0 notactuallytreyanastasio/generic-orm-js-app/main Mar 13 07:03
80e725a Add README with ORM usage documentation
+83-83 notactuallytreyanastasio/generic-orm-js/main Mar 13 06:54
e2f1ad3 Update from generic_temper_orm b4b320a6d578c372539534971b90892f3c557dff
+41-41 notactuallytreyanastasio/generic-orm-js-app/main Mar 13 06:54
d39c996 Update ORM vendor from e2f1ad3fe790593a3fe7f52255430e827f4ef9a4
+28-28 notactuallytreyanastasio/generic-orm-js-app/main Mar 13 06:53
7257166 Update ORM vendor from 5b10cda6276eae8f8fd212c6b8d449960dfd18f7
+57-57 notactuallytreyanastasio/generic-orm-js/main Mar 13 06:53
5b10cda Update from generic_temper_orm 42c8ae2b0ec0cf75a8a6f81c8704eb034a8c7ce9
+1-4451 notactuallytreyanastasio/generic_orm/main Mar 13 06:50
a567050 Revert "Add 6 todo-list app examples and update gitignore" This reverts commit 42c8ae2b0ec0cf75a8a6f81c8704eb034a8c7ce9.
b4b320a Update gitignore: exclude apps/ and build artifacts Apps have their own repos. Add ignores for common build artifacts (pycache, target/, *.db, .gradle, bin/, obj/). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+67-67 notactuallytreyanastasio/generic-orm-js/main Mar 13 06:50
c1961d7 Update from generic_temper_orm 90152f6a5e37e9a4cbedc6a04808e08dce878ea2
+33-33 notactuallytreyanastasio/generic-orm-js-app/main Mar 13 06:50
3567553 Update ORM vendor from c1961d7d1ad0f9c4ebc30e1475e1aefd15b76525
+40-40 notactuallytreyanastasio/generic-orm-js-app/main Mar 13 06:48
f9e35e9 Update ORM vendor from b155f464bc8eeef3748d6b023c6e775db4c6a222
+81-81 notactuallytreyanastasio/generic-orm-js/main Mar 13 06:48
b155f46 Update from generic_temper_orm 479368d887729eb29d5fd6e647330e5cfbac9f17
+4463-0 notactuallytreyanastasio/generic_orm/main Mar 13 06:48
42c8ae2 Add 6 todo-list app examples and update gitignore Add complete todo-list applications in all 6 ORM target languages (JS/Express, Python/Flask, Rust/Axum, Java/Spring, Lua, C#/ASP.NET) with vendored compiled ORM libraries. Each app demonstrates the same functionality with 0 SQL injection vulnerabilities across all backends. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+19-67 notactuallytreyanastasio/generic-orm-lua-app/main Mar 13 06:47
1cb0e1c Refocus security analysis to SQL-only scope Removes web-layer findings (XSS, CSRF, auth, headers, HTTP, path traversal) and the full MITRE CWE Top 25 table. Focuses exclusively on SQL injection analysis, ORM security properties, and JOIN feature security assessment. Changes: - Removes findings: LU-XSS-*, LU-CSRF-*, LU-AUTH-*, LU-HDR-*, LU-HTTP-*, LU-PATH-* - Keeps findings: LU-SQL-*, ORM-*, LU-JOIN-* - Replaces full MITRE Top 25 table with SQL-relevant CWE mapping (CWE-89, CWE-20, CWE-400, CWE-915) - Updates verdict to focus on SQL security only - Reduces finding count from 17 to 9 (all SQL-related) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+22-80 notactuallytreyanastasio/generic-orm-rust-app/main Mar 13 06:47
cd87e70 Refocus security analysis to SQL-only scope Remove all web/app-layer findings (CSRF, auth, error leaks, sessions) to focus exclusively on SQL security - the core value proposition of the ORM. Changes: - Removed RS-APP-1 through RS-APP-4 (CSRF, error leaks, auth, sessions) - Removed full MITRE CWE Top 25 mapping table - Replaced with SQL-only CWE table (CWE-89, CWE-20, CWE-190, CWE-400, CWE-915) - Rewrote verdict section to focus on SQL security - Updated finding summary counts to exclude web-layer findings - Kept all SQL-related sections: ORM usage, SQL injection analysis, RS-SQL-*, ORM-*, JOIN-* findings Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+54-86 notactuallytreyanastasio/generic-orm-py-app/main Mar 13 06:47
ea1ec84 Refocus security analysis to SQL-only scope Remove all web-layer findings (CSRF, XSS, auth, headers, debug mode, SECRET_KEY) and the full MITRE CWE Top 25 table. The analysis now focuses exclusively on SQL security: - SQL injection analysis (ORM-generated, raw SQL, DDL) - ORM-level concerns (SafeIdentifier validation, escaping, type safety) - JOIN feature security analysis - SQL-specific CWE mapping (CWE-89, CWE-20, CWE-400, CWE-915) - Temper-level remediation tracking This aligns the Python app's security analysis with the SQL-focused scope of the Generic Temper ORM project. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+42-75 notactuallytreyanastasio/generic-orm-java-app/main Mar 13 06:47
5335a6a Refocus security analysis to SQL-only scope
+62-117 notactuallytreyanastasio/generic-orm-csharp-app/main Mar 13 06:47
6f4635e Refocus security analysis to SQL-only scope
+28-60 notactuallytreyanastasio/generic-orm-js-app/main Mar 13 06:46
cec37b1 Refocus security analysis to SQL-only scope
+26-69 notactuallytreyanastasio/generic_orm/main Mar 13 06:46
90152f6 Refocus MITRE CWE analysis to SQL-only scope Remove non-SQL CWEs (memory safety, XSS, CSRF, auth, etc.) from cumulative mapping tables in RESEARCH.md and README.md. The ORM is a SQL generation library β€” non-SQL concerns belong to the app layer. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+2895-0 notactuallytreyanastasio/generic_orm/main Mar 13 06:43
479368d Add Claude hooks for Temper development guardrails, organize docs Add 4 hook scripts enforcing Temper literate programming conventions, parser pitfall prevention, project structure rules, and build/test workflow reminders. Add /temper-expert custom command with comprehensive Temper language reference. Move scattered docs (decks, plans, research) into docs/ directory. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+81-81 notactuallytreyanastasio/generic-orm-js/main Mar 13 06:42
8190d3b Update from generic_temper_orm 5f8308f5642bcbab489ad5dc1d2ca4954c67780a
+40-40 notactuallytreyanastasio/generic-orm-js-app/main Mar 13 06:42
40e77e7 Update ORM vendor from 8190d3b925f6eac859036c0bdb3c4e1940ce47b1
+4078-3633 notactuallytreyanastasio/generic-orm-java/main Mar 13 06:39
84bacbd Update from generic_temper_orm bba8d917b5ce0d1bb083ded42af20d568fab3026
+4741-4213 notactuallytreyanastasio/generic-orm-lua/main Mar 13 06:39
9718907 Update from generic_temper_orm bba8d917b5ce0d1bb083ded42af20d568fab3026
+6507-5533 notactuallytreyanastasio/generic-orm-rust/main Mar 13 06:39
0e72e14 Update from generic_temper_orm bba8d917b5ce0d1bb083ded42af20d568fab3026
+8271-7071 notactuallytreyanastasio/generic-orm-js/main Mar 13 06:39
f91e117 Update from generic_temper_orm bba8d917b5ce0d1bb083ded42af20d568fab3026
+4640-4235 notactuallytreyanastasio/generic-orm-py-app/main Mar 13 06:39
b0ae9fb Update ORM vendor from 9728159e1cc3e47eac083377d1d228ac01083156
+4740-4212 notactuallytreyanastasio/generic-orm-lua-app/main Mar 13 06:39
851705c Update ORM vendor from 97189075a46131fd4f7a50c443e96b8c85e505b3
+4135-3535 notactuallytreyanastasio/generic-orm-js-app/main Mar 13 06:39
1a2e74d Update ORM vendor from f91e11786bc296caf7459a5aad55b0d2d275f071
+6506-5532 notactuallytreyanastasio/generic-orm-rust-app/main Mar 13 06:39
7f3abdb Update ORM vendor from 0e72e140947a508525cc9b4b17648ad9efe66e5b
+4516-3923 notactuallytreyanastasio/generic-orm-csharp-app/main Mar 13 06:39
007a97b Update ORM vendor from 56d573623009a3018f9cad80f88239ff550036e7
+4077-3632 notactuallytreyanastasio/generic-orm-java-app/main Mar 13 06:39
bd6d251 Update ORM vendor from 84bacbd9945af447612806ea1d17df16394d27be
+64-8 notactuallytreyanastasio/generic_orm/main Mar 13 06:37
5f8308f Add Phase 7 MITRE analysis and update docs with schema enrichment features Updates README with Phase 7 security analysis table, SqlDefault type docs, schema enrichment API section, and 184-test count. Adds Phase 7 section to RESEARCH.md with component analysis and 6 CWE findings (all None severity). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
+349-32 notactuallytreyanastasio/generic_orm/main Mar 13 06:35
bba8d91 Add schema enrichment: primary keys, defaults, virtual fields, timestamps (Phase 7) Extends FieldDef (3β†’5 params: defaultValue, virtual) and TableDef (2β†’3 params: primaryKey) with Ecto-equivalent schema features. SqlDefault renders literal DEFAULT keyword. timestamps() helper produces inserted_at/updated_at fields. Virtual fields excluded from INSERT/UPDATE. 184 tests pass (15 new). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
99 pushes github.com/notactuallytreyanastasio
Thoughts & Tidbits - Blog
22 posts 0 readers
phangraphs β€” Phish 3.0 Jam Analytics
phangraphs
Life Saving Gun
.438
BATTING AVG
7 JC Β· 16Γ— played
Avg 13.1m · Peak 19:53 · 🎧 12/16
β˜… Longest: 19:53
2026-01-30 Β· Moon Palace
β™₯ Most Loved: 10 likes
2023-07-30 Β· Madison Square Garden
πŸ“Š 50% Set 1
Last: 2026-01-30 (42d ago) Β· avg every 61d
Best year: 2023 β€” 2/3 JC
"Debut. Trey and Page's new "Gunn" inflected banger goes big in its live debut. F..."
TAP TO SEE AND PLAY JAMS
Life Saving Gun .438
TAP TO FLIP BACK
7 jams
β˜… 2023-07-30 12:56
Madison Square Garden Β· New York, NY
Debut. Trey and Page's new "Gunn" inflected banger goes big in its live debut. Focused and inventive play moves with purpose through several layers of varying texture, weaving a tapestry of sound that is a true stand out among tour highlights. Breaks > for "No Men".
β˜… 2023-12-30 13:15
Madison Square Garden Β· New York, NY
> from "It's Ice". The song's first set debut and it fits the role of set-closer like a glove. The jam is a raucous, high-energy affair. It peaks, keeps on going and then peaks again.
β˜… 2024-04-18 17:23
Sphere Β· Las Vegas, NV
Retains the song's promise as a set centerpiece. Bending, but not quite breaking new ground, percussive, celebratory play evokes, elementally, "Crosseyed" and "Paug," respectively, hewing that feel-good sound from a score seemingly built to spill into euphoria.
β˜… 2025-06-20 19:07
SNHU Arena Β· Manchester, NH
After two Set 2 openers for the price of one ("Bouncing" followed by "Sample"), the band gets down to business with the longest "LSG" to date. They take a minute to find their footing, but Mike takes the reins around 9:30 and things take off. Excellent, melodic play from Trey at 14:50 gives way to a full band onslaught. The jam winds its way to its ending and > into "Twist".
β˜… 2025-07-09 19:09
Jerome Schottenstein Center Β· Columbus, OH
The jam finds itself immediately brimming with ideas simply by using the inertia of its driving rhythmic push. A downshift around the 10 minute mark finds the band in new territories, centered around a hypnotic, repeating bass line. With an unrelenting rhythmic center, an inspired, densely layered slab of music emerges and makes itself at home, before the clarion call of "Percussion Rinse!" signals an end. Excellent.
β˜… 2025-07-26 13:29
Broadview Stage at SPAC Β· Saratoga Springs, NY
> from "Light". A breakdown jam begins before the song proper has really ended, which gives way to some effects-laden jamming. The jam stays up-tempo and energetic throughout, before slowing down and then -> into "Waste".
β˜… 2025-09-13 17:59
Coca-Cola Amphitheater Β· Birmingham, AL
In the midst of a stunning second set, we enter the "LSG" jam like a comet ripped apart by gravity, falling inwards towards the sun, before the band fully unifies around a Krautrock beat and driving chord progression from Trey. Fishman works against the established groove to expand the jam into a more spacious affair which allows Trey to move outside the initial ideas, pushing the band outwards once more. Listen for Page to move from the Rhodes to his synth around 9:15 which reinforces the expansive playing and kicks off a segment defined by a wall of effects and interwoven anti-melodies, reminiscent of the 10/10/23 "Ruby Waves." Chaos starts to dissipate around 16min as a clearing emerges in the jam. Marked by sprinkles of melody and interwoven riffs before a fade -> to "Pillow Jets," this is a clear peak moment in "Life Saving Gun's" young career as we hear what is fully possible with the budding jam vehicle.
phangraphs Phish 3.0 Jam Analytics
AIM Chat - Terminal
Online (0)
jeff 02:52 AM
What is up y'all
jeff 03:44 AM
Thanks for visiting my website
jeff 03:51 AM
Trying from mobile let’s see what’s up
Uechi Nerd 03:54 AM
Hi, greetings from Planet Crackpot!
jeff 03:55 AM
oh man what's up
jeff 03:56 AM
Hey everyone
Uechi Nerd 03:56 AM
winding down with a beer or three
Uechi Nerd 03:57 AM
desktop version
Uechi Nerd 04:01 AM
Disappointed that War does not lead to actual combined-arms conflict.
jeff 04:01 AM
that would be hard to conjure
jeff 04:02 AM
I am so excited that this works and is a successful combination of windows and old apple lol
Uechi Nerd 04:02 AM
Probably for the best, actually. That shit is very very messy.
Uechi Nerd 04:02 AM
I am intrigued and happy it works!
Uechi Nerd 04:03 AM
I respect the wizardry.
Visitor7804 04:05 AM
this is delightful.
jeff 04:06 AM
hell yeah visitor 7804, this is livin' brother
guy4get 04:07 AM
i've never felt so alive
EarlofVincent 04:09 AM
Commencing experiment in 3....2....
jeff 04:14 AM
1
leah 04:16 AM
hi!
leah 04:16 AM
this is lovely
jeff 04:21 AM
hi! lol I was just like what if I combined Mac and windows and added a flower tree of life and called it my homepage and then smoked some weed and made it happen in an empty mall in Connecticut
B. Droptables 10:51 AM
Always cool to play with your toys.
Visitor1128 08:47 AM
yo!
Visitor1128 08:48 AM
i can barely work my phone. what am i doing here?
jeff 09:04 AM
the phone is not optimized yet but it "kind of works" I am sorry lol
jeff 09:04 AM
you have to pick a username, then it goes to the chat, then if you hit the bottom tabs it'll let you go to the app sections.
Bobdawg 04:43 AM
Hi everybody this is my blog I hope you enjoy it I did some more changes and anyone can write a post here now for me.
dinkleberg 01:45 AM
ALL HAIL TREE OF LIFE
jeff 08:55 PM
hi Hacker News
jeff 04:28 PM
hey there I am not really Jeff
Mal Function 05:34 PM
Hey! Please reveal... how exactly do I actually use losselot on my Mac? I've run the git clone commend in Terminal.app and seem successfully to have installed into a new <losselot> sub-folder in my home folder but now???