# blog.nohup.io

Pouya Tafti's personal blog

## the great “push” reversal

once upon a time, going from polling (mail, news, ...) to push seemed like a good thing. good, as in, you didn't have to worry about remembering to check stuff so every often any more. one fewer interrup handler bound to your mental clock.

but that was then. in the age of sparsity. when the internet was populated by people who were building it and had something original to say. there was a balance between how much time you had to engage, and how much time others had to engage with you. so push instead of pull looked like an efficient idea.

yet today, we are in the age of the grand reversal. fighting a losing battle against the deluge of unsolicited chatter in the form of automated spam and “gamified” addictive behavioural manipulation, and the contest of the masses vying for popularity.

my thousands of undread emails are just one small piece of evidence of that. but i'm now pulling the plug, instating a policy of “deny (almost) all” against push notifications.

selective polling is back on.

## back to the terminal

In this timeline where Plan 9 did not supplant Unix, I have been a command-line guy for most of my computing life. Age and the need for convenience and maintaining my connection with humanity finally convinced me to buy my first Macbook Pro this year (I have had Macs for work on and off over the years).

Slightly overwhelmed by distractions, today I spent a little time finally re-configuring the Mac to better suit my weird needs.

Here are some pointers.

• koekeishiya/yabai as tiling window manager in the style of i3 (with koekeishiya/skhd for managing keyboard shortcuts)
• uluyol/xmenu, a dmenu replacement
• kovidgoyal/kitty as the default terminal
• links and a helper script to browse the web
• edbrowse, a line browser à la ed, which, if you will, is even more hard-core than a typical cli, and also does JavaScript!
• pouyatafti/mdef, my dictionary cli for macOS (reminiscent of dict but simpler)
• newsapi to read the news (e.g. using [pypi/newsapi-cli]())
• hub and gist to access some additional functionality of github (essentially creating new repos and gists)
• writeas/writeas-cli to blog (as now)

## Transparency and language

People sometimes say “transparent” when they really mean “opaque”.

Hiding something that (you imagine or wish) the user shouldn't care about is not transparent.

Maintaining an interface contract, so that the user doesn't have to worry that you are changing things “behind the scenes”, has obvious benefits.

But there is no change without a difference.

MCAS was not a “transparent” feature of the Boeing 737 Max.

Stretching words so far that they meet their complete opposite doesn't help clarity. Confused thinking can lead to bad decisions.

Orwell wrote about political language, that it was designed to “give the appearance of solidity to pure wind”.

Sometimes language, intentionally or not, may aspire to give the appearance of clarity to gibberish. ;)

But no one has the time or patience to read. And reading much of what is written (this text being a case in point ;) ) may well result in regret for the irretrievable time lost.

So we aim for catchy idioms, soundbites, bullet points, and visuals, over thoroughness and detail.

Patience is a lost virtue. Impatience for results is the name of the game—doing a million things at once, but having no time to do one right (or to do nothing, which, as it were, may also inspire creativity).

## “Scaled agile” is not agile

Agility is about creating—or, if that’s too much, at least responding to—change with speed.

Repeatability and change rarely add up. Much like “continuity with change”.

You don’t want your strategy to sound like a slogan from a satirical TV show. ;)

Unless, that is, your “repeatable pattern” is self-disruption.

It’s “0 to 1 vs 1 to 100” (Peter Thiel). “Day One vs Day Two” (Jeff Bezos).

Google and Amazon and Apple are indeed impressive.

But retro-fitting someone else’s success to your world by copying “form without content” rarely, if ever, works.

Innovation takes inspiration, and the autonomy and drive to turn that into reality. It can happen from the top. Or from the periphery. “Anything goes” (Feyerabend).

But most often, it simply doesn’t happen.

Because to be inspired, you need to be curious. And not fear leaving the safe past and “consistent” thoughts behind.

And beside inspiration, you also need the freedom and means to build what you imagined.

That means breaking the dichotomy of “leadership” without expertise vs “delivery” with no decision power.

The first time I saw this, I thought it was a parody. Even today, I imagine its creators must have had a good secret laugh. ;)

To break free, the last thing you need are PowerPoint decks that marry the Matrix Management anti-pattern to the rituals of the Cult of SCRUM.

But sadly it’s easier to fail like others (we hired the best advisers, and did what everyone else did), than it is to stand out, for a chance of success against the risk of exposed failure.