Marc MacLeod

469 posts

Marc MacLeod

Marc MacLeod

@marbemac

Founder @stoplightio (acquired), now building Datanaut. Techstars Austin '15. I talk ui / ux, agentic patterns, company building, and anything coding related.

Austin, TX Katılım Nisan 2011
140 Takip Edilen440 Takipçiler
Sabitlenmiş Tweet
Marc MacLeod
Marc MacLeod@marbemac·
Finally. It's time. A decade after starting my first company (wow time flies), I'm working on something new! The new company is Datanaut, and while it's too early to share specifics, I'm excited to work with @scottfaust43 and our small team to re-imagine how we as humans interface with AI, each other, and the treasure trove of data that is fragmented across the apps we use every day. I'm not much of a sharer, but this go-around I'm committed to building more in public. Expect to see regular posts from me on things like ui / ux design, agentic patterns, running a lean company, and more in the weeds technical stuff - basically a log of the real-world challenges that we're faced with every day as we build Datanaut. I can't wait to share more. Most importantly, I can't wait to start shipping again 🚀.
English
3
0
8
3.1K
Marc MacLeod
Marc MacLeod@marbemac·
the more claude code types for me the worse i get at typing myself
English
0
0
2
58
Marc MacLeod
Marc MacLeod@marbemac·
Messing around with formal Job abstraction w @EffectTS_ and @Cloudflare. Define a job like you define state - `Job.Tag`, implement a handler, then schedule from any actor. Works in memory (for tests) or on CF. Builds on x.com/marbemac/statu… -
Marc MacLeod tweet media
Marc MacLeod@marbemac

Been working on an @EffectTS_ lib to smooth over the experience working with actor patterns, with a specific focus on making it trivial to swap out backing implementation between @Cloudflare durable objects and node/bun/memory. Lot more to it than this, but it's coming along nicely!

English
0
0
2
138
Marc MacLeod
Marc MacLeod@marbemac·
@MichaelArnaldi @EffectTS_ hmm crazy, just because it's looking at .ts source in node_modules/effect instead of .ts source in repo cloned somewhere on disk? tbf we JUST made this change to try using node modules instead of on disk clone, so it's fresh - will def monitor to see how it does
English
0
0
0
104
Marc MacLeod
Marc MacLeod@marbemac·
love that @EffectTS_ ships the ts source with the npm distribution - more libraries should do this. really helps llm's out.. don't need to clone the repo and point them at it if they can just look in node_modules
English
1
1
18
2K
Marc MacLeod
Marc MacLeod@marbemac·
ah true on the tests, maybe those could be shipped too :). yes increases size on disk but meh, might be worthwhile tradeoff. re de-optimising the model, have you found any degradation if you encourage llm to search source in node modules for specific libs? In our agents file I just instruct it to use node modules for a few key libs we use like effect, that do indeed ship source. It doesn't seem to get confused and try to use node modules for other libs that aren't mentioned. (this is w opus, haven't tried other models)
English
2
0
0
258
Michael Arnaldi
Michael Arnaldi@MichaelArnaldi·
@marbemac @EffectTS_ models are trained not to look at node_modules, by relying on node modules you're basically deoptimising the model, and also you don't get access to useful context such as tests
English
3
0
23
1.7K
Marc MacLeod
Marc MacLeod@marbemac·
Been working on an @EffectTS_ lib to smooth over the experience working with actor patterns, with a specific focus on making it trivial to swap out backing implementation between @Cloudflare durable objects and node/bun/memory. Lot more to it than this, but it's coming along nicely!
Marc MacLeod tweet media
English
0
0
4
262
Marc MacLeod
Marc MacLeod@marbemac·
Very excited about the @EffectTS_ v4 beta! Haven't seen much mentioned about this and curious if there's any guidance on what to expect wrt tsc type check perf, and stack traces / debuggability dx. Similar characteristics between v3 and v4, improvements, not sure yet?
English
0
0
1
125
Marc MacLeod
Marc MacLeod@marbemac·
@audibledata @makisuo @EffectTS_ Ah for some reason I thought the opposite and that things were being consolidated around the effect.service pattern - is there anywhere we could reason more about this? (Discord, gh issue, etc?)
English
0
0
1
72
Marc MacLeod
Marc MacLeod@marbemac·
@dillon_mulroy So eager for this - curious if code (even just WIP throwaway code) is available anywhere?
English
0
0
0
17
Dillon Mulroy
Dillon Mulroy@dillon_mulroy·
iterating on effect native durable objects
Dillon Mulroy tweet media
English
12
6
192
16.3K
Filip
Filip@flapalap1·
@marbemac @tan_stack Damn.. i asked Tanner about supporting parallel routes in mid December.. not even a full month later its almost here 🥳
English
2
0
1
243
Marc MacLeod
Marc MacLeod@marbemac·
favorite alias: `git gone` - it removes local branches whose upstream has been deleted add it: `git config --global alias.gone "! git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | awk '$2 == \"[gone]\" {print $1}' | xargs -r git branch -D"`
English
0
0
0
201
Nathan Flurry 🔩
Nathan Flurry 🔩@NathanFlurry·
> the RPC lives on the stateless HTTP layer checks out the fact that this requires a separate protocol client <-> http and http <-> actor makes me think it might make sense to look at a simpler way of adapting our action handlers to exiting rpc protocols (orpc, capnweb, trpc, graphql, mcp). food for thought.
English
1
0
2
55
Marc MacLeod
Marc MacLeod@marbemac·
For Christmas I'd like an e2e architecture that: 1. uses @EffectTS_ as much as possible AND... 2. with actor based backend that makes it easy to swap concrete impl from CF to node, with incredible DX ala @rivet_dev AND.. 3. with a thin RPC layer for logic that is not owned by actors, and an incredible client<->server DX ala orpc AND.. 4. an easy way to expose some of those RPC procedures over a public api ala ORPC openapi integration Is that too much to ask? 🙏😅
English
6
0
40
8.5K
Marc MacLeod
Marc MacLeod@marbemac·
@NathanFlurry @EffectTS_ @rivet_dev > the RPC lives on the stateless HTTP layer Exactly this - although we could probably re-arrange things so that everything is backed by an actor, just not how we're setup atm. > our native http/websocket support got a huge upgrade recently Neat I'll check it out!
English
1
0
0
48
Nathan Flurry 🔩
Nathan Flurry 🔩@NathanFlurry·
> 3. with a thin RPC layer for logic that is not owned by actors, and an incredible client<->server DX ala orpc AND.. "not owned by actors" as in the RPC lives on the stateless HTTP layer or you want to communicate with actors in a framework agnostic way? if the latter – our native http/websocket support got a huge upgrade recently, it's probably plug'n'play related to openapi, if relevant – the actor api is also now standardized with openapi + asyncapi
Nathan Flurry 🔩 tweet media
English
1
0
2
380
Nathan Flurry 🔩
Nathan Flurry 🔩@NathanFlurry·
We've been toying with @EffectTS_ in Rivet Actors for a couple months now, sharing some progress Should we ship it? What should we change?
Nathan Flurry 🔩 tweet media
English
10
4
118
7.8K
Marc MacLeod
Marc MacLeod@marbemac·
nope! can just define the schema, and start as a local only collection (tanstack.com/db/latest/docs…). then swap the collection type to electric, query, whatever, when ready and have the backend setup to support it. entire frontend can be driven off of the local collection and when the swap happens usually need little to no change on the frontend
English
2
0
5
380
Marc MacLeod
Marc MacLeod@marbemac·
forget creating a mock backend - really enjoying pattern of: 1. start with local only @tan_stack DB collections 2. hook frontend up to those collections 3. once all feels good, define pg schemas, migrations, backend handlers, etc, and swap the collections to electric/query
English
4
5
53
7K
Marc MacLeod
Marc MacLeod@marbemac·
@kylemathews @tan_stack haha yes! and easier to iterate on db schema if don't need to fiddle with migrations etc until the api has settled
English
1
0
1
314
Kyle Mathews
Kyle Mathews@kylemathews·
@marbemac @tan_stack yesss! I always have loved this pattern but now the switch to the backend is waaay simpler
English
2
0
1
657