
Founder of @pinyinly, Co-founder of @hidovetail, previously @atlassian
Sydney, Australia
Joined March 2009
- Tweets558
- Following402
- Followers268
- Likes969
internal tools start simple then slowly evolve. for me it starts with a Node.js script, then i extend it to take CLI arguments, and then (rarely & reluctantly) take the huge leap to web UI
but i've just discovered a TUI using react + github.com/vadimdemedes/ink exists and is great
Bradley Ayers retweeted
The New Architecture is here!
React Native 0.76 enables the New Architecture by default:
reactnative.dev/blog/2024/10…
i did a deep dive into nativewind v4 last week for a universal expo project and it’s very impressive. the approach is very elegant and reminds me of how flexbox is used in react-native. CSS variables in react-native is a killer feature
I've been using moon for a new project (instead of Nx) and have been very pleased with it. It's worth taking a look for mono repo stuff.
As promised, moon v1.26 is now available! Come try our new experimental action pipeline!
moonrepo.dev/blog/moon-v1.26
I've been using io-ts for years but this week took at look at Zod. Based on npmtrends it's much more popular, but after using it I'd say it's basically the same, but not obviously better… 🤔
So why did Zod win?
My first PR to expo merged 🥳 github.com/expo/expo/pull/29…
I've been doing some Android development and hit a snag getting screenshots onto my Mac. With iOS I just use AirDrop. After hunting around I found Bluetooth File Transfer and it seems good.
Is this what everyone else does?
Expo's "typed routes" is pretty nice. I wrote a type-safe router for React (web) a few years ago, but without TypeScript's Template Literal Types the API was pretty awkward.
I love that type-safe routing is now table-stakes.
docs.expo.dev/router/referen…
After a couple of months of not using flex-box I have to re-learn the API, `justify` vs `align`, `content` vs `items` are the most confusing for me 😬. I find the "main axis" and "cross axis" terms in the docs intuitive.
Just realised in semver ~1 and ~1.0 are different. I thought ~ meant "patches allowed", and ^ meant "minors and patches allowed", but it's not that…
```
> semver.satisfies('1.1.0', '~1')
true
> semver.satisfies('1.1.0', '~1.0')
false
```
npmjs.com/package/semver explains it
Bradley Ayers retweeted
It's here! 5.5 beta dropped.
5.5 is the most excited I've been about TypeScript since 4.1, when they released template literal types.
devblogs.microsoft.com/types…
I thought `Error#cause` was just a Sentry convention, but it turns out it's been supported natively since ~2021. developer.mozilla.org/en-US/…
TIL TDZ aka "temporal dead zone" in JavaScript, and subtle differences between var / let / const github.com/microsoft/TypeScr…
Bradley Ayers retweeted
1/ 📣 Exciting news folks 📣
We’ve raised $63M USD in our Series A to help us evolve our product, invest in our community, and grow our team 🚀
dvtl.link/3rysUKv
Oh noooo websocket.org/echo.html is no more, it's referenced all over the web as the goto debug-your-browser-and-internet test. Can anyone recommend a replacement?






