I may also have written on this on earlier versions of my website:
(The even-earlier versions of the site existed… but are not relevant here.)
Everything I’ve written on the subject, from the beginning of this version of the site.
I may also have written on this on earlier versions of my website:
(The even-earlier versions of the site existed… but are not relevant here.)
Why I ended up down a rabbit hole instead of shipping.
Turns out tr
is your friend for this kind of thing.
A simpler solution that doesn’t require tr
… if you have GNU utils or other alternatives.
Less reading this week… because more composing.
mut
(and set
) and autotracking in Ember Octane
— JOURNAL
Understanding a surprising behavior — and fixing a refactoring hazard.
Making my CSS scalable from the outset.
Showing how Scott Wlaschin’s approach in F♯ translates to a language with a very different type system.
Or, part of why rewrite is taking a while: I’m in this for the long haul.
Using some lessons learned in the trenches of large upgrades.
PromiseProxyMixin
in Ember Octane
— JOURNAL
An important refactor for getting rid of mixins and proxies.
Digging into the load
helper and AsyncData
type I introduced in an earlier post.
Chris Garrett (@pzuraq) explains to me how autotracking and the Glimmer (Ember) template layer connect!
Understanding an idea from Standard ML-like languages by implementing it in (boring) TypeScript.
A modern JavaScript reactivity system powered by Lamport clocks and incremental computation and depth-first searches: oh my!
Because it would do us all good to be a little more honest about where we’ve changed our minds or simply been mistaken.
One of the many small-but-lovely benefits of getting to use native classes in Ember Octane.
A subtler art than it might at first appear, if you intend to support JS or even loose mode TS.
A couple tweaks and improvements to a good post!
args
in Glimmer Components — JOURNAL
Clearing up a common confusion with a worked example.
In which I’ll be speaking for 30 minutes at a JS conference… and will spend only about 5 of those minutes on JS.
(It’s useful to me, at least.)
Where is the equivalent of Accelerate for anything outside of DevOps?
Or, why did Accelerate matter for DevOps?
A series of posts in which I explain how I think about effective software design.
Or, one part of why to some extent Elm, and to a significant degree PureScript Halogen, can be quite difficult for users to get their heads around at first.
In which years of thinking and months of design come to fruition.
In which my friend David Baker put me on the spot… and it was great!
Or: (part of) what “reasoning about your code” really means; being my EmberConf 2021 talk.
Ember CLI history, ember-auto-import, web bundling, and more
Digging into How Dorico and StaffPad represent percussion differently.
For learning effectively, nothing is better than a real project which gives you a place to experiment and play.
On the subject of “Types as Tools for Thought”
After years of work, I’ve published the first beta of the spec for semantic versioning for TypeScript types!
Showing how the recommendations from www.semver-ts.org can actually work in the real world.
A horrible (but very useful) hack I came up with yesterday for adding types to some old code.
Appreciating how Rust enum
variants are mirrors of its kinds of struct
s.
Making sure people understand a new feature we shipped which is a big deal.
Maybe it’s less important than we like to think?
On being the biggest user of a given technology.
They are real; but too often offered as an excuse to avoid thinking rather than a reason to think harder.
How I lay out my file system and how I tweak Git for working on literally dozens of different repositories.
Rust’s lifetime types are challenging, but they bring a capability I miss all the time in other languages.
Because the tools are positioned for sketching, now?
All of the existing tools need broader design vocabularies.
Why does Maybe.map
feel better than ??
and friends to me? A sketch.
Training (at my level, anyway) is less about individual day-to-day work and more about what I do each week. The tools should support that!