Silvan
255 posts


my contribution to @elithrar's code review bot (bonk) that we use in our @CloudflareDev docs repo. lilbonk uses a semi-secret, highly-anticipated model hosted on workers ai
big bonk take lil bonk

English

@eualmeidazs @dillon_mulroy @haydendevs @elysiaJS i found a but within minutes, no response to it at all. also made a pr fixing wrong statements in docs about cloudflare. has been open for months. no thanks
English

@DevSilvan @mrousavy expo-image works because the native code for expo go is already included in the expo go app binary. if you try to use any random native module that’s not included in expo go, it will not work.
English

in react native, there are generally four(4) ways to add native code to your apps
- raw dog it with JSI
- use Turbomodules by the React Native team
- use Expo modules by the Expo team
- use Nitro modules by Marc/Margelo
personally I think Nitro is the best regardless of if you're using expo/bare/ or @one__js :)
this is because Nitro supports writing C++, Swift/Kotlin code without the hassle of Obj-c/Java present in something like Turbomodules(expo modules doesn't support C++ )
it also has great type-safety using a tool called nitrogen for converting typescript-defined types to their closest equivalents in native Swift/C++/Kotlin.
lastly, it's the fastest of them all!
English

@mrousavy @1804davey ehh some expo modules work just fine. one example is expo image vs nitro image
English

@DevSilvan @1804davey Neither Expo, Turbo, or Nitro Modules support Expo Go.
Expo Go does not have native code, hence no native module system.
English

@dillon_mulroy with this i might get through both my subscriptions weekly limits in a day :^)
English

🧪 The beta usually lasts about ~2 weeks and then we'll announce the stable release (and update these notes with more details).
We're looking forward to your feedback!
expo.dev/changelog/sdk-…
English

‼️Expo SDK 55 beta is out now🧪 (RN 0.83.1 + React 19.2)
Highlights:
♢ Legacy Architecture support is gone
♢ New default template (native tabs, /src/app)
♢ Hermes v1 opt-in
♢ Smaller OTA updates with Hermes bytecode diffing
♢ More native Router APIs + better brownfield support
♢...and more and more...
We'll link to the release notes with details about breaking changes below ↓ Please give the beta a try and report your issues 🙏

English

@BraydenWilmoth @Cloudflare thats the cloudflare experience for you. capnweb also carrying me right now. cloudflare everything
English

@DevSilvan @Cloudflare it's so easy to build with DO's... kinda feels like you're missing something but then you realize you're not & it was in fact just that easy.
English

I built an Instant Messenger application all on @Cloudflare. It took 1 day, 3 files, 4 resources... and it's ready to scale from 0 to millions.
Worker → auth & routing
D1 database → store user/pass
User DO → user profile & friends
Conversation DO → messages
Blog in reply, but quick teaser here:
cloudflare/actors library made much of this a breeze with persist properties, easy web socket connection management, and sending messages to all listeners. But what did each piece do?
Auth & Routing (Worker + D1)
All requests come through the Worker either authenticated or not. If unauthenticated, actions available are to login or signup. When authenticated then it can pass the request through to either of our Durable Objects (user or conversation) to establish a web socket connection. All users authentication information is stored in a D1 database (kept it all CF for this example).
User Service (Durable Object)
Our friend list view connects directly to our user Durable Object via web socket. When we update our status we send a message to our individual DO which then can broadcast via RPC to our friends DO's and determine if they are online to send them a web socket message for live updating. Here is where we also store our friend list in a SQLite database scoped to our user.
Conversation Service (Durable Object)
Every individual conversation between two users gets its own DO instance. It's sole responsibility is to store messages, send notifications (via sockets) when new messages are sent, and send a notification when a user starts typing so we can see the "Person is typing..."
TLDR;
Building apps for fun for the sake of reliving nostalgic childhood memories is... worth it.


English

@zebassembly yea i can tell its a lot worse than claude but its my goto for smaller simple tasks to not eat my claude limits i have to fight for on a weekly 😭
English

Introducing GLM-4.7-Flash: Your local coding and agentic assistant.
Setting a new standard for the 30B class, GLM-4.7-Flash balances high performance with efficiency, making it the perfect lightweight deployment option. Beyond coding, it is also recommended for creative writing, translation, long-context tasks, and roleplay.
Weights: huggingface.co/zai-org/GLM-4.…
API: docs.z.ai/guides/overvie…
- GLM-4.7-Flash: Free (1 concurrency)
- GLM-4.7-FlashX: High-Speed and Affordable

English

@dillon_mulroy
I shouldn't have fallen in love
Look what it made me become
anyway capnweb + better-result goes brrr

English

@dillon_mulroy i literally was about to ask for a good prompt to do this
English

wanna try better-result w/ minimal effort?
npx better-result init
this will open claude code, codex, opencode, etc and help you audit and migrate your codebase
Dillon Mulroy@dillon_mulroy
part of the reason i built better-result was because i didnt love the AsyncResult abstraction in neverthrow v. happy w/ how this has come out
English






