About
Archive
This Month In Scrivling

Your Robustness

*next post*

Mind Fork

Mind Fork

Ideas must run in the same general direction, and conceptual Integrity is probably the most important aspect of any successful project. (Read: 'The Mythical Man-Month' by Fred Brooks)

But forking is not the same as straying. Straying is letting your idea become something else -- design by (unwelcome) committee. Forking is sketching the wireframe, colouring in 10%, and being open to letting something else colour in some (or all) of the rest.

I'll leave you to colour in the rest.

*next post*

Simple Is Rarely Easy

Simple Is Rarely Easy

Simple Question: Why Are Simple Things So Hard To Make?

Simple Answer: Because The Process Is Complex

More descriptively, a simple implementation relies on simple rules. Any change to those simple rules often results in a drastic change to the result.

Nature seems to like this way of working though, so we best get used to it. Witness cellular automata, and this little snippet, which took me months to fully understand

function callcc (f,cc) { f(function(x,k) { cc(x) },cc) }
(for the CS people, see Matt Might's Article)

Note that we're talking about a simple implementation, not a simple presentation. Something that is presented simply can still be hoisted up by a trainwreck-like implementation (eg: the iPhone and iPad backed by iOS)

But as Rich Hickey points out, we aren't searching for simplicity per se. Rather, we are trying to avoid "Complecting" -- munging together multiple threads of meaning. Having multiple simple threads is hence considered perfectly fine.

In fact, what we see in nature is a range single-purpose implementations interacting together (using simple rules) to form a working whole. eg: We'd be pretty upset if the heart did any more than pump blood. Heck, it doesn't even need to know the contents of the blood to pump it -- let blood handle the chemical domain, I'll just stick to mechanical action.

Building a heart is a whole different matter, and it's obviously something that's kept people up at night, and which spans too many domains to enumerate. Once you've actually got a heart, then you need to work on the even harder task of getting it to coorporate with the rest of the (legacy) system.

Unfortunately, because of the aforementioned matters, there is no other way to achieve a simple implementation other than to understand to a large-enough degree the factors affecting your implementation, and then to experiment like crazy in trying to achieve the desired goal.

Practically speaking, a generalised Barbell Strategy is called for.

More importantly, we need shared wisdom to distill those simple rules for everyone's benefit. This is far too often an unrewarding exercise, for which the only reward is respect. This leaves a world largely unwilling to share "trade secrets". This is understandable, since there is a financial and social incentive for things to be kept secret.

I certainly keep things to myself, both personal and professional. But I certainly do not believe in the "Why Share When You Don't Have To Approach". (A Stance taken by Google, and many other entities wielding great power)

Fortunately, respect is an intangible, and hence potentially infinite resource. I'll make it a point to start giving more of it. It's the Simple Choice.

.

Post Credits:

Thanks to Rich Hickey for Clojure, and countless ideas.

Thanks to Matt Might for showing how theory is really practice.

Thanks to Nassim Nicholas Taleb for his ideas on Robustness.

Thanks to everyone who inspired the aforementioned people

*next post*

Share Vision. Guard Goals

share vision, guard goals

I've previously said that one should Learn to keep their goals a secret, the reason being that telling people about your stuff gives your brain the illusion that you've already done the work needed to accomplish said goal, when in fact, you haven't.

That's pretty much accurate, but it leaves out some important points. For starters, why does the brain "think that work has been done"?

I still don't know the exact reason, but I do know that it has something to do with the specificity of the goal achievement process. Once you can see so clearly the path from conception to implementation, your brain gets caught by conflicting thoughts of what to do in the moment, and what to do when the goal has been reached.

It is the helplessness of knowing EXACTLY what needs to be done, but being unable to do it (instantly), that just forces the brain into a vicious cycle that ends with "FUCK IT, I'm going to browse Reddit".

Vision, on the other hand, doesn't suffer from this. There is an infinite deadline to a vision that you want to see materialise. It constantly lives in the future, and therefore can constantly be "looked forward to".

For most creators, who are by nature forward thinkers, this ever-unreachable destination creates the strongest kind of fuel for work that you can possibly get. Align several minds on the same wavelength, and we have a force to be reckoned with.

Of course, most can't be free of goals, and I'm as guilty as anyone else at being overly-obsessed with them. I have however, found that shutting up about them helps.

*next post*

True Loyalty Is Always Implicit

2012

---

Anyone who gives you a reason for why they are your ally, isn't.