Category: Code
-
Fewer changes are faster to deploy than fewer changes
Itamar Turner-Trauring, Incremental results: how to succeed at large software projects: Faster feedback… Less unnecessary features… Less cancellation risk… Less deployment risk… šĀ šĀ šĀ šĀ š Ā read the whole thing, Itamar’s tale is well told. Consider: incremental approaches consist of taking a large scope and finding smaller, still-valuable scopes inside of it. Risk is 100% proportional to scope. […]
-
TIL: divide by 10 with this one weird number
Running an application across two physical databases is not a straightforward thing. One of theĀ relatively easier ways to do it involves assigning each database instance a shard number and then arranging for all your primary key IDs to end with that number. For example, shard 0 generates IDs like 1230, 40, 482340, shard 1 generates […]
-
OAuth2 š„-takes
Is it too late to do hottakes for something that’s been around for nearly a decade? OAuth2 pros: I can allow other sites to use my data with some confidence that, at least, my authentication information won’t leak It has made really cool stuff possible at my current workplace and workplace-2 Libraries to make it […]
-
The emotional rollercoaster of extracting code
There’s a moment of despair when extracting functionality from a larger library, framework, or program. The idea grows, a seed at first and then a full-blown tree, that the coupling in this functionality isn’t all bad. A lot of people talk only about coupling and leave out cohesion. They aren’t mutually exclusive! When the two […]
-
More ideas for framework people
A few months ago I wrote about Framework and Library people. I had great follow-up conversations with Ben Hamill, Brad Fults, and Nathan Ladd about it. Some ideas from those conversations: use a well-worn framework when it addresses your technical complexities (e.g. expose functionality via the web or build a 3-d game) and your domain […]
-
Did you try editing the right file?
The first few years of my career, I edited the wrong fileĀ all the time. I could spend hours making changes, wondering why nothing was happening, until I realized I’d been tinkering in the wrong place because I was misreading a file path or not paying close enough attention to control flow. Fast forward to now, […]
-
Chaining Ruby enumerators
I want to connect two Ruby enumerators. Give me all the values from the first, then the second, and so on. Ideally, without forcing any lazy evaluations and flat so I donāt have to think about nested stuff. Like so: xs = [1, 2, 3].to_enum ys = [4, 5, 6].to_enum [xs, ys].chain.to_a # => [1, […]
-
Stored Procedure Modern
The idea behind Facebook’s Relay is to write declarative queries, put them next to the user interaction code that uses them, and compose those queries. It’s a solid idea. But this snippet about Relay Modern made me chuckle: The teams realized that if the GraphQL queries instead were statically known ā that is, they were […]
-
Feedback: timing is everything
With feedback, like jokes, timing is everything. Good feedback at a bad time won’t do the trick. Iāve mostly experienced programming feedback through pull requests. This is way better than no feedback. However, since most pull requests occur at the end of work, and not somewhere in the middle, some kinds of feedback are not […]
-
Practically applying Clojure
Fourteen Months with Clojure.Ā Dan McKinley on using Clojure to build AWS automation platform Skyliner: The tricky part isnāt theĀ languageĀ so much as it is theĀ slang. Also, the best and worst part of Clojure: When the going gets tough, the tough useĀ maps This is probably better now that specs and schema are popular. Before, when they were […]