Email or username:

Password:

Forgot your password?
Top-level
Luci for dyeing

oblique strategies for programmers 2:

don’t worry about the tests, failure is subjective

delete the framework, see what doesn’t break

consider goat farming

quack quack

you’re probably using the wrong version of a dependency

check it in anyway, it’s someone else’s problem now

try and refactor it, then lose all your unsaved work in a kernel panic, it really gives you perspective.

play zelda for a while, the solution will come to you upon collecting your 68th restless cricket

14 comments
Jaycie

@zens I feel incredibly targeted here and not just because I've been taking Tears of the Kingdom breaks between pairing sessions.

Soulfiremage

@zens get stuck, argue with randoms about random stuff until the answer magic morphs into your neurons.

Luci for dyeing

getting some people who think this is a joke. No! I am entirely serious! let me explain.

“Oblique Strategies” is a card deck by Brian Eno designed for getting him and his friends unstuck creatively, when they reach a creative block.

Programmers get stuck too, and when we do, often it is because we have some unbreakable and unstated rule we’re holding in our heads uncriticially.

Luci for dyeing

We exclude a heap of solutions as “invalid” without trying them because we believe the solutions are not good enough according to some arbitrary standard.

All the rules of programming are made up. mostly by white dudes looking to sell a seminar. If you can solve the problem and follow all of the rules you wanna follow? cool, good for you. this isn’t for you.

but if you’re getting stuck because you’re hung up on an algorithm being suboptimal, even though it’s barely used?

maybe let it go

Matt Stine

@zens I non-ironically suggested "maybe we should just keep the COBOL" this week

Mx Autumn :blobcatpumpkin:

@zens the number of times I’ve reviewed a pull request and approved with comments such as “this isn’t ideal but it’s got the job done and we need this out pronto” is pretty high.

Sometimes good enough code is what’s required even when we endeavour for perfect.

Paul Souders

@zens THANK YOU for this thread

there is so much Cargo Cult nonsense around programming

Paul Souders

@zens

a regex is only one problem

spaghettify your code

mix your concerns

nest another loop

don’t collaborate

be imperative; the computer is just here to do your bidding

Luci for dyeing

oblique strategies for programmers 3:

replace a hard problem with a much harder problem

what would forth do?

ask an expert in something other than programming

rename all your variables after your children

rewrite it from scratch in godot

can you use the UI while you’re high?

count your blessings, then curse twice that amount

hilbert curves are neat. See if you can use a hilbert curve somehow.

A Star is the wrong solution for this.

GOTO considered helpful

Matt Stine

@zens am less successful with this list...

Flatbush Gardener 🌈

@zens
I like it! A few that come to me.

What if you didn't?

Are you sure?

How do you know?

Defer the decision [e.g. last responsible moment].

Get rid of one thing.

Take a shortcut.

Relax an assumption.

Code like nobody's watching.

Go Up