sixty-six things tagged “tech hell”

On The People Who Truly Love The United States and Would Like to Restore it to it’s Former Glory

Just as terror, even in its pre-total, merely tyrannical form ruins all relationships between men, so the self-compulsion of ideological thinking ruins all relationships with reality. The preparation has succeeded when people have lost contact with their fellow men* as well as the reality around them; for together with these contacts, men lose the capacity of both experience and thought. The ideal subject of totalitarian rule is not the convinced Nazi or the convinced Communist, but people for whom the distinction between fact and fiction (i.e., the reality of experience) and the distinction between true and false (i.e., the standards of thought) no longer exist.

Hannah Arendt, The Origins of Totalitarianism

Here are two meditations in the form of Jordan Klepper’s excellent interactions with the deluded. I just wish that every supporter were as candid as the woman Jordan spoke to in this first one (starting 00:40) without resorting to shameless and awkward sophistry and whataboutism.

This is a fucking clown.

The most pathetic position, however, is one where you will readily admit to all of your Orange Leader’s “cruelties, collusions, corruptions, and crimes” but sigh and support the thrice-indicted buffoon’s second go at authoritarianism (with or without issuing a weak “both sides”). Consider this solemn Solomon from my home state:

It’s either malice or delusion. Either way, the Truth does not matter when they’re hurting the right people.

Men of Value by Robert Mitchell More Pasta

I have never given Jeff Bezos a moment’s thought before this week. I am always interested in extraordinary achievement and often admire it. I am fascinated by what extraordinary achievers understand, and how evolved they are as people.

Looking at him in his astronaut costume, and his cowboy hat, and his omega speedmaster moon watch, coming out of his penis craft, being greeted by his ling cod lipped girlfriend, dripping in oversized diamonds, I saw a man completely without a sense of irony. Not a man aware that he had been entrusted with the greatest fortune in human history to benefit all of humanity, but a small narcissistic buffoon, unaware that the universe is 10,000,000,000 light years wide and he had just spent $5,000,000,000 to fly sixty miles through it, so the whole world could look at him at once and see what a truly small man he is, and hear his Kermit the Frog voice declare that his big plan is to pollute space.

On Convenience in 2022

Definitely the future of television I had in mind was me having to google every movie I want to watch to see if it’s currently in one of its one-month windows on any of the seven streaming services I pay for. This is way easier than buying a DVD. I love it.

@chasemit

Oracle

Here’s Bryan Cantrill’s classic assessment of Oracle Corporation (taken from this talk.)

On Twitter, a year after that video:

If you were an enterprise database customer who hadn’t heard of the Nazis, might it be easiest to explain them with Oracle allegory?

@bcantrill

I know people who’ve worked there (none of whom are with the company, mercifully) and have heard nothing but fascinating tales of dysfunction, fiefdoms, sinecures, overwork, and bureaucracy. One engineer told me that, of all the bad places he’d worked at, he felt his “soul dying slowly” at Oracle. It’s a generic and very real Evil Corporation™, and probably the company the protagonists in Office Space work at.

And this wouldn’t be too far-fetched a thought. Consider that the producers of Terminator: Genisys, who are an Oracle Co-Founders’s own children, based “Cyberdyne Systems, the fictional defense company responsible for the creation of the evil AI Skynet” on their dad’s company. Amazing.

Some Laws of Software Engineering by GlobalNerdy More Pasta

Amdahl’s Law

The speedup gained from running a program on a parallel computer is greatly limited by the fraction of that program that can’t be parallelized.

Augustine’s Second Law of Socioscience

For every scientific (or engineering) action, there is an equal and opposite social reaction.

Brooks’ Law

Adding manpower to a late software project makes it later.

Clarke’s First Law

When a distinguished but elderly scientist states that something is possible he is almost certainly right. When he states that something is impossible, he is very probably wrong.

Clarke’s Second Law

The only way of discovering the limits of the possible is to venture a little way past them into the impossible.

Clarke’s Third Law

Any sufficiently advanced technology is indistinguishable from magic.

Conway’s Law

Any piece of software reflects the organizational structure that produced it.

Cope’s Rule

There is a general tendency toward size increase in evolution.

Dilbert Principle

The most ineffective workers are systematically moved to the place where they can do the least damage: management.

Ellison’s Law of Cryptography and Usability

The userbase for strong cryptography declines by half with every additional keystroke or mouseclick required to make it work.

Ellison’s Law of Data

Once the business data have been centralized and integrated, the value of the database is greater than the sum of the preexisting parts.

The Law of False Alerts

As the rate of erroneous alerts increases, operator reliance, or belief, in subsequent warnings decreases.

Fisher’s Fundamental Theorem

The more highly adapted an organism becomes, the less adaptable it is to any new change.

Fitts’ Law

The time to acquire a target is a function of the distance to and the size of the target.

Flon’s Axiom

There does not now, nor will there ever, exist a programming language in which it is the least bit hard to write bad programs.

Gilder’s Law

Bandwidth grows at least three times faster than computer power.

Godwin’s Law

As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one.

Grosch’s Law

The cost of computing systems increases as the square root of the computational power of the systems.

Hartree’s Law
Whatever the state of a project, the time a project-leader will estimate for completion is constant.

Heisenbug Uncertainty Principle

Most production software bugs are soft: they go away when you look at them.

Hick’s Law

The time to make a decision is a function of the possible choices he or she has.

Hoare’s Law of Large Programs

Inside every large problem is a small problem struggling to get out.

Hofstadter’s Law

A task always takes longer than you expect, even when you take into account Hofstadter’s Law.

Jakob’s Law of the Internet User Experience

Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know.

Joy’s Law

smart(employees) = log(employees), or “No matter who you are, most of the smartest people work for someone else.”

Kerckhoffs’ Principle

In cryptography, a system should be secure even if everything about the system, except for a small piece of information — the key — is public knowledge.

Linus Torvalds

Given enough eyeballs, all bugs are shallow.

Lister’s Law

People under time pressure don’t think faster.

Metcalfe’s Law

In network theory, the value of a system grows as approximately the square of the number of users of the system.

Moore’s Law

The number of transistors on an integrated circuit will double in about 18 months.

Murphy’s Law

If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.

Nathan’s First Law

Software is a gas; it expands to fill its container.

Ninety-ninety Law

The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.

Occam’s Razor

The explanation requiring the fewest assumptions is most likely to be correct.

Osborn’s Law

Variables won’t; constants aren’t.

Postel’s Law (the second clause of the Robustness Principle)

Be conservative in what you send, liberal in what you accept.

Pareto Principle (a.k.a. “The 80-20 Rule”)

For many phenomena, 80% of consequences stem from 20% of the causes.

Parkinson’s Law

Work expands so as to fill the time available for its completion.

Pesticide Paradox

Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual.

The Peter Principle

In a hierarchy, every employee tends to rise to his level of incompetence.

Reed’s Law

The utility of large networks, particularly social networks, scales exponentially with the size of the network.

Rock’s Law

The cost of a semiconductor chip fabrication plant doubles every four years.

Sixty-sixty Rule

Sixty percent of software’s dollar is spent on maintenance, and sixty percent of that maintenance is enhancement.

Spector’s Law

The time it takes your favorite application to complete a given task doubles with each new revision.

Spafford’s Adoption Rule

For just about any technology, be it an operating system, application or network, when a sufficient level of adoption is reached, that technology then becomes a threat vector.

Sturgeon’s Revelation

Ninety percent of everything is crud.

Tesler’s Law of Conservation as Complexity

You cannot reduce the complexity of a given task beyond a certain point. Once you’ve reached that point, you can only shift the burden around.

Weibull’s Power Law

The logarithm of failure rates increases linearly with the logarithm of age.

Wirth’s Law

Software gets slower faster than hardware gets faster.

Zawinski’s Law

Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.

The Freedom Phone

Just some quick notes about a piece of shit from the hit machine that is Conservative Tech.

The Freedom Phone is another grift for those inside the Sphere of Shit who are upset that their Orange Daddy got censored by Facebook (that mighty ethical paragon of Silicon Valley) and Twitter (they aight.) It’s about empowering Conservatives, and is a fine device for Newsmax-lobotomized patriots who proactively disregard their own digital safety and well-being in the interest of sticking it to the Libs as much as possible.

Hardware

It’s a skinned Umdigi A9 Pro you can pick up from AliExpress for $120 but which is sold through the website for $500 (plus $20 shipping because the grift never stops.)

It’s manufactured in Shenzhen, China, although you can totally ignore this like the good Conservative you are and lie about how it’s actually made in Hong Kong (which is a part of China) and hence supports the good democratic anti-China people there with zero fucking evidence.

Software

It runs FreedomOS, of course, which is a “blend of AOSP, LineageOS, GrapheneOS, and our personal development.” Because you have total and complete Freedom of Choice, it has preloaded Conservative-friendly apps like MeWe, Parler, Newsmax, and Rumble (a YouTube competitor that will definitely be around two years from now.)

Need more Conservative-friendly apps? You can get them from the uncensorable “PatriApp Store.” Yes, that’s the actual name. Who needs Liberal creatives when you can just ask your Aunt Sally to smush some shit together? And no more Big Tech censoring you! ‘Uncensorable’ also absolves the PatriApp store of any responsibility apropos terrible exploitative or neo-Nazi content. Freedom is freedom is freedom.

Security

It’s a fucking nightmare. But it’s not a problem if you’re willing to give up on personal liberty, safety, ethics, humanity, and data if you’ve just had it with anyone who hurts your Daddy’s fee-fees and doesn’t love him as much as you do.

Founder

It’s Erik Finman. He has, in his own words, “made it in Silicon Valley and accomplished a lot in my life already.” How, you ask? He invested in BitCoin when he was a wee lad and his investment is now worth some millions.

That’s it.

But winning the lottery makes this Discount Bin Steve Jobs completely trustworthy and eminently capable of dealing with supply-chains, ISPs, regulatory bodies, software and hardware engineering, and the few thousand moving parts needed to create a modern phone and ecosystem worth a shit. It’s not his fault though. As Conservatives like to say, the problem isn’t tech oligopolies… it’s regulation bro 🧐😡

Product Pitch

Enjoy. Plucking MLK’s “I Have A Dream” speech out of its context is totally appropriate here.

People Using It

Absolute fucking morons aside, a few Conservative people with large followings did express a lot of interest in this horror but appear to still spew their bile onto the internet with their iPhones and Androids.

On HTML5

The entire infotainment system is a HTML 5 super computer,” Milton said. “That’s the standard language for computer programmers around the world, so using it let’s [sic] us build our own chips. And HTML 5 is very secure. Every component is linked on the data network, all speaking the same language. It’s not a bunch of separate systems that somehow still manage to communicate.

Trevor Milton, Founder of electric truck company Nikola, indicted for fraud

Note that the company still had a market cap of $5B at the time of this writing.

Enterprise Software - A Camel is a Horse Designed by Committee by Arvind Narayanan More Pasta

The point is, some products are sold directly to the end user, and are forced to prioritize usability. Other products are sold to an intermediary whose concerns are typically different from the user’s needs. Such products don’t HAVE to end up as unusable garbage, but usually do.

Jira and Confluence, which I use at work, come to mind as formerly amazing products which have gone down the shitter with unnecessary Enterprise™ feature-bloat over the past few years. I wonder if there’s a way out of this mire (maybe start saying “No”?) Until then, #jobsecurity I guess.

My university just announced that it’s dumping Blackboard, and there was much rejoicing. Why is Blackboard universally reviled? There’s a standard story of why “enterprise software” sucks. If you’ll bear with me, I think this is best appreciated by talking about… baby clothes!

There are two types of baby outfits. The first is targeted at people buying gifts. It’s irresistible on the rack. It has no fewer than 18 buttons. At least 3 people are needed to get a screaming baby into it. It’s worn once, so you can send a photo to the gifter, then discarded.

Other baby outfits are meant for parents. They’re marked “Easy On, Easy Off” or some such, and they really mean it. Zippers aren’t easy enough so they fasten using MAGNETS. A busy parent (i.e. a parent) can change an outfit in 5 seconds, one handed, before rushing to work.

The point is, some products are sold directly to the end user, and are forced to prioritize usability. Other products are sold to an intermediary whose concerns are typically different from the user’s needs. Such products don’t HAVE to end up as unusable garbage, but usually do.

OK, back to Blackboard! It’s actually designed to look extremely attractive to the administrators (not professors and definitely not students) who make purchase decisions. Since they can’t easily test usability, they instead make comparisons based on… checklists of features. 🤦🏽‍♂️

And that’s exactly what’s wrong with Blackboard. It has every feature ever dreamed up. But like anything designed by a committee, the interface is incoherent and any task requires at least fifteen clicks (and that’s if you even remember the correct sequence the first time).

Software companies can be breathtakingly clueless when there’s a layer of indirection between them and their users. Everyone who’s suffered through Blackboard will have the same reaction to this: try having less functionality! edscoop.com/how-canvas-cam…

The grumbling about Blackboard has finally gotten loud enough that schools are paying a modicum of attention to usability when evaluating alternatives. Blackboard’s market share has dropped dramatically and this will probably continue. Good.

Here’s the kicker, though. It’s extremely likely that whichever vendor emerges on top will fall into the same trap. The incentives almost guarantee it. Once profs and students put down the pitchforks, committees will go back to their checklists, and feature creep will resume.

Blackboard is 20 years old. If Twitter is around in 20 years, let’s see how this prediction holds up. And now I have to go rescue a three-month old from an extremely cute and equally uncomfortable outfit.

The Universal Estimation Table

Estimate Actual Time
Very Easy 1 Hour
Easy 2 Hours
Quite Easy 4 Hours
Looks Quite Easy 6 Hours
Average 8 Hours
Looks Average 12 Hours
No Clue 16 Hours
Seems Complex 24 Hours
Complex 30 Hours
Very Complex 40 Hours
Can Take Some Time 48 Hours
Fuck 60 Hours
Yeah Looks Pretty Easy 80 Hours

Combine: “No Clue. Can take some time, but yeah… looks pretty easy” = 16 + 48 + 80 = 144 hours.

Source Unknown. See also: “Midwest Distances

AppleTalk

“For all that we’ve been able to achieve while many of us have been separated, the truth is that there has been something essential missing from this past year: each other,” [Tim Cook] said. “Video conference calling has narrowed the distance between us, to be sure, but there are things it simply cannot replicate.”

[…] “For now, let me simply say that I look forward to seeing your faces,” he said in closing. “I know I’m not alone in missing the hum of activity, the energy, creativity and collaboration of our in-person meetings and the sense of community we’ve all built.”

Apple asks staff to return to office three days a week starting in early September”, The Verge

“Come back or get fired. We didn’t build this giant spaceship for nothing. And how’s our overpaid middle-management supposed to micro-manage you?”

American Polarization

One of the most disheartening charts I’ve seen about the current hyperpartisan political climate. We fear each other so much more.

CBS poll on American Polarization

Source

I suppose all’s fine and dandy if you’re in news or social media and are spiritually obligated to deliver Value™ to stakeholders via those almighty engagement metrics that do nothing more than sow rancor among people who have a lot more in common than they’re led to believe. All Facebook does is hold a mirror up to society. All the news media does is report. Ethics and responsibility are for the Value™-illiterate. The only thing that matters, as the society and country you and your children live in devours itself, is making gobs of cash.

250 Bullshit Words by Unknown More Pasta

Here’s some Buzzword Bingo based on these words by the same company.

  • accelerate
  • accountability
  • action items
  • actionable
  • aggregator
  • agile
  • algorithm
  • alignment
  • analytics
  • at the end of the day
  • B2B/B2C
  • bandwidth
  • below the fold
  • best of breed
  • best practices
  • beta
  • big data
  • bleeding edge
  • blueprint
  • boil the ocean
  • bottom line
  • bounce rate
  • brand evangelist
  • bricks and clicks
  • bring to the party
  • bring to the table
  • brogrammer
  • BYOD
  • change agent
  • clickthrough
  • close the loop
  • codify
  • collaboration
  • collateral
  • come to Jesus
  • content strategy
  • convergence
  • coopetition
  • create value
  • credibility
  • cross the chasm
  • cross-platform
  • cross-pollinate
  • crowdfund
  • crowdsource
  • curate
  • cutting-edge
  • data mining
  • deep dive
  • design pattern
  • digital divide
  • digital natives
  • discovery
  • disruptive
  • diversity
  • DNA
  • do more with less
  • dot-bomb
  • downsizing
  • drink the Kool Aid
  • DRM
  • e-commerce hairball
  • eat your own dog food
  • emerging
  • empathy
  • enable
  • end-to-end
  • engagement
  • engaging
  • enterprise
  • entitled
  • epic
  • evangelist
  • exit strategy
  • eyeballs
  • face time
  • fail fast
  • fail forward
  • fanboy
  • finalize
  • first or best
  • flat
  • flow
  • freemium
  • funded
  • funnel
  • fusion
  • game changer
  • gameify
  • gamification
  • glamour metrics
  • globalization
  • green
  • groupthink
  • growth hack
  • guru
  • headlights
  • heads down
  • herding cats
  • high level
  • holistic
  • homerun
  • html5
  • hyperlocal
  • i _______
  • iconic
  • ideation
  • ignite
  • immersive
  • impact
  • impressions
  • in the weeds
  • infographic
  • innovate
  • integrated
  • IoT
  • jellyfish
  • knee deep
  • lean
  • lean in
  • let’s shake it and see what falls off
  • let’s socialize this
  • let’s table that
  • level up
  • leverage
  • like _______ for _______
  • lizard brain
  • long tail
  • low hanging fruit
  • make it pop
  • make the logo bigger
  • maker
  • marketing funnel
  • mashup
  • milestone
  • mindshare
  • mobile-first
  • modernity
  • monetize
  • moving forward
  • multi-channel
  • multi-level
  • MVP
  • netiquette
  • next gen
  • next level
  • ninja
  • no but, yes if
  • offshoring
  • on the runway
  • open the kimono
  • operationalize
  • opportunity
  • optimize
  • organic
  • out of pocket
  • outside the box
  • outsourcing
  • over the top
  • paradigm shift
  • patent pending design
  • peeling the onion
  • ping
  • pipeline
  • pivot
  • pop
  • portal
  • proactive
  • productize
  • proof of concept
  • public facing
  • pull the trigger
  • push the envelope
  • put it in the parking lot
  • qualified leads
  • quick-win
  • reach out
  • Ready. Fire. Aim.
  • real time
  • rearranging the deck chairs on the Titanic
  • reimagining
  • reinvent the wheel
  • responsive
  • revolutionize
  • rich
  • rightshoring
  • rightsizing
  • rockstar
  • ROI
  • run it up the flagpole
  • scalability
  • scratch your own itch
  • scrum
  • sea change
  • seamless
  • SEM
  • SEO
  • sexy
  • shift
  • sizzle
  • slam dunk
  • social currency
  • social media
  • social media expert
  • social proof
  • soft launch
  • solution
  • stakeholder
  • standup
  • startup
  • stealth mode
  • stealth startup
  • sticky
  • storytelling
  • strategery
  • strategy
  • sustainability
  • sweat your assets
  • synergy
  • take it offline
  • team building
  • tee off
  • the cloud
  • the mayor of _________
  • thought leader
  • tiger team
  • tollgate
  • top of mind
  • touch base
  • touchpoints
  • transgenerate
  • transparent
  • trickthrough
  • uber
  • unicorn
  • uniques
  • unpack
  • user
  • usercentric
  • value proposition
  • value-add
  • vertical cross-pollination
  • viral
  • visibility
  • vision
  • Web 2.0
  • webinar
  • what is our solve
  • what’s the ask?
  • win-win
  • wizard

On a Program’s Scope

“Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.” Coined by Jamie Zawinski (who called it the “Law of Software Envelopment”) to express his belief that all truly useful programs experience pressure to evolve into toolkits and application platforms (the mailer thing, he says, is just a side effect of that). It is commonly cited, though with widely varying degrees of accuracy.

Zawinski’s Law

The KCCI Website is a Terrible Crock of Shit

This is what it takes to view a read a bloody article with a PiHole to block ads. I don’t even want to get started on the AMP nonsense. First, a focus-stealing popup asking if you’d like to subscribe to some bullshit.

The KCCI Website is a Crock of Shit - Screenshot 1

.
.
.

followed by another popup asking you’d subscribe to more bullshit.

The KCCI Website is a Crock of Shit - Screenshot 2

.
.
.

after which you can finally see what you came for… which helpfully occupies the bottom 20% of the viewport 💯

The KCCI Website is a Crock of Shit - Screenshot 3

See also: Every Website in 2019. Nothing will change.

Disposable Software

The software industry is currently going through the “disposable plastic” crisis the physical world went through in the mid-20th century (and is still paying down the debt for). You can run software from 1980 or 2005 on a modern desktop without too much hassle, but anything between there and 2-3 years ago? Black hole of fad frameworks and brittle dependencies. Computer Archaeology is going to become a full-time job.

Source

Always be leveraging

On tech culture’s obsession with quantifying and optimizing every single moment of one’s existence1:

I hate this framing. It is pressuring, dehumanizing as it contextualizes human endeavor in transactional terms, usually in a market.

I know this goes against the ethos of high-tech, but humans don’t have an imperative to be as productive as possible. They don’t have to make the most use of their time. They don’t have to get as efficient as they could. These are metrics that work fine for our machines, our code. But humans are not machines. Sure, we shepherd the machines, and sure sometimes we are in rivalrous dynamics that increasing efficiency has a payoff, but it is never the goal in itself.

The real “currency” we have, if we are using the term in the sense of denoting essentialness, is our humanness, our mortality, our psyches, our connection with other people and seemingly mundane but meaningful parts of our lives. I mean, look how many of us started baking their breads and enjoying it. It is not a wise use of the “currency of time”, but it is part of life very well spent, as our internal reward mechanisms have been telling us.

@acituan on HackerNews, commenting on this article

  1. With corroboration via sophomoric interpretations of stoicism and objectivism, all aimed at summoning this latent, dispassionate übermensch whose sole purpose is to “leverage” and deliver value. ↩︎

On De-Duplication

I’ve usually heard this phenomenon called “incidental duplication”, and it’s something I find myself teaching junior engineers about quite often.

There are a lot of situations where 3-5 lines of many methods follow basically the same pattern, and it can be aggravating to look at. “Don’t repeat yourself!” Right?

So you try to extract that boilerplate into a method, and it’s fine until the very next change. Then you need to start passing options and configuration into your helper method… and before long your helper method is extremely difficult to reason about, because it’s actually handling a dozen cases that are superficially similar but full of important differences in the details.

I encourage my devs to follow a rule of thumb: don’t extract repetitive code right away, try and build the feature you’re working on with the duplication in place first. Let the code go through a few evolutions and waves of change. Then one of two things are likely to happen:

  1. you find that the code doesn’t look so repetitive anymore, or,
  2. you hit a bug where you needed to make the same change to the boilerplate in six places and you missed one.

In scenario 1, you can sigh and say “yeah it turned out to be incidental duplication, it’s not bothering me anymore.” In scenario 2, it’s probably time for a careful refactoring to pull out the bits that have proven to be identical (and, importantly, must be identical across all of the instances of the code).

@burlesona on HackerNews (emphasis and formatting mine.)

Whatever. I say we continue to abstract away and make better and better hammer factories and beam at our sophistication in creating unnecessary complexity #jobsecurity

The AppleTV Remote Sucks

Dec 9 It’s so bad a Swiss company made a much saner substitute that sells for ~$20.

The Salt Remove


Nov 16 Looks like you can use the old remote with the new AppleTV.


I’m annoyed every time I have to use the infernal thing.

  • It tries (poorly) to be something other than a damn TV remote1.
  • There’s no way to tell which end is up.
  • There’s no accidental tap detection when you pick it up.
  • It’s way too small.
  • It’s way too slippery.
  • I use Siri to skip forward and backward because the edge clicks are unmemorable and dysfunctional.

I use the iPhone app when I can and, while I can’t stand the terribly implemented inertial scroll, still find it better than the hardware.

Inertial scrolling does in fact exist on the Siri remote, but the effect is muted. The on-screen movement doesn’t accurately reflect your swiping — scrolling is staggered and it often stops abruptly, when you don’t intend to stop. This makes aspects of navigation, like manual search or entering your email address or password, extremely cumbersome.

– Dave Smith, “My biggest problem with the new Apple TV remote

See also: Steve Brykman of ArsTechnica’s thoughts on “the nightmare horrorshow” that’s the remote.

  1. “You’re basically getting a giant iPad game that you have to play with a tiny remote” ↩︎

Because God Can See

When I was little — and by the way, I was little once — my father told me a story about an 18th century watchmaker. And what this guy had done: he used to produce these fabulously beautiful watches.

And one day, one of his customers came into his workshop and asked him to clean the watch that he’d bought. And the guy took it apart, and one of the things he pulled out was one of the balance wheels. And as he did so, his customer noticed that on the back side of the balance wheel was an engraving, were words.

And he said to the guy, “Why have you put stuff on the back that no one will ever see?” And the watchmaker turned around and said, “God can see it.”

Now I’m not in the least bit religious, neither was my father, but at that point, I noticed something happening here. I felt something in this plexus of blood vessels and nerves, and there must be some muscles in there as well somewhere, I guess. But I felt something. And it was a physiological response. And from that point on, from my age at the time, I began to think of things in a different way. And as I took on my career as a designer, I began to ask myself the simple question: Do we actually think beauty, or do we feel it?

Richard Seymour, How Beauty Feels

I want it to be as beautiful as possible, even if it’s inside the box. A great carpenter isn’t going to use lousy wood for the back of a cabinet, even though nobody’s going to see it. When you’re a carpenter making a beautiful chest of drawers, you’re not going to use a piece of plywood on the back, even though it faces the wall and nobody will ever see it. You’ll know it’s there, so you’re going to use a beautiful piece of wood on the back. For you to sleep well at night, the aesthetic, the quality, has to be carried all the way through.

Steve Jobs

Do quite a bit more, good and invisible things, than required for the MVP or for the bloody “sprint.” You will then smile a lot and sleep quite well indeed. Excellence is a habit. It is yours. Nobody steals this from you.

Saved here via Stephanie Harcrow’s post.

Two Levels of Not Giving a Fuck

No Code is the best way to write secure and reliable applications. Write nothing; deploy nowhere.

Start by not writing any code.

Brilliant. I love both the presence and contents of the Dockerfile in that repo. As is always the case with such projects, the issues and pull requests are 💯

And if one is tempted to go against the tenets of No Code, there’s always my beloved fuckitpy, a (strangely well-thought-out) “Python error steamroller”1:

@fuckit
def buggy_function():
    problem_solved

@fuckit
class BuggyClass(object):
    def __init__(self):
        everything_works_now

And:

This module is like violence: if it doesn’t work, you just need more of it.

See also: The Fuck, another Python-based utility that addresses CLI frustrations.

  1. Inspired by FuckitJS. ↩︎

JavaScript Delenda Est

Back in the second century BC, Cato the Elder ended his speeches with the phrase ‘Carthago delenda est,’ which is to say, ‘Carthage must be destroyed.’ It didn’t matter what the ostensible topic of the speech was: above all, Carthage must be destroyed.

My opinion towards JavaScript is much like Cato’s towards Carthage: it must be rooted out, eliminated and destroyed entirely. I don’t know if I’d go quite so far as to say that the fundamental challenge of mass computing is the final destruction of JavaScript — but I want to say it, even though it’s false.

JavaScript is a pox, a disaster, a shame. It is the most embarrassingly bad thing to become popular in computing since Windows 3.1. Its one virtue (that it’s on every client device) is outshone by its plethora of flaws in much the same way that a matchstick is outshone by the sun, the stars and the primordial energy of the Big Bang added together.

JavaScript is the XML, the Yugo, the Therac-25 of programming languages. The sheer amount of human effort which has been expended working around its fundamental flaws instead of advancing the development of mankind is astounding. The fact that people would take this paragon of wasted opportunity and use it on the server side, where there are so many better alternatives (to a first approximation, every other programming language ever used), is utterly appalling.

JavaScript delenda est.

I don’t know what my newfound affection for it says about me. Via HackerNews.

Gandhi the Annihilator

At least in Civilization:

[. . .] Gandhi tends to be the first to use nuclear weapons, and spares no expense on wiping your civilization off the map. You probably always thought you were crazy — how could a series that prides itself on historical accuracy portray Gandhi so wrong? Well, you’ll be happy to know that both your sanity and Civilization’s historical integrity aren’t at fault. Instead, a bug’s to blame.

In the earlier Civs, leaders are given a set of attributes that dictate their behavior. One such attribute is a number scale associated with aggressiveness. Gandhi was given the lowest number possible, a rating of 1. However, when a civilization adopted democracy, it granted a civilization -2 to opponent aggression levels. This sent Gandhi’s rating of 1 into the negative, which swung it back around to 255 — the highest possible rating available, and thus, the infamous warmonger Gandhi was born.

Geek.com, What caused Gandhi’s insatiable bloodlust in Civilization

And they just left it in there as an homage:

This cyclical aggression scale was fixed in later versions of the game, but Gandhi wasn’t totally cured of his bloodlust. The team fixed Gandhi’s aggression rating, but as an Easter egg paying homage to the earlier aggressive versions of Gandhi, ramped his nuke rating through the roof. So, while it may be difficult to push Gandhi over the edge, he goes from zero to nuclear option once you do.

Via MS.

Alan Kay on OOP

OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I’m not aware of them.

Dr. Alan Kay on the Meaning of “Object-Oriented Programming”

So… Erlang? (RIP Joe Armstrong 🙏) And that was before this

(I’m not against types, but I don’t know of any type systems that aren’t a complete pain, so I still like dynamic typing.)

Indeed, Dr. Kay.

The Inventor: Out for Blood in Silicon Valley (2019) IMDb B+

A great complement to the book.

When I think of Theranos, I really think that there were two entirely different worlds. There was the carpeted world and there was the tiled world. In the carpeted world where Elizabeth was a goddess. Everyone, you know, almost worshipped the ground she walked on. She could do no wrong. She was the next Steve Jobs. Theranos was changing the world. And then you go into the tiled side and nothing works. We’re on a sinking ship. Everything is a lie. Reconciling the differences between those two worlds was really hard for me to do.

[…] I would leave the tiled world thinking, ‘Oh man, sinking ship.’ And I would go have one conversation with Elizabeth. And I would be so motivated to go back and work and I felt like I was changing the world again. And I would go back into the tiled world and I would go, ‘Wait, what just happened?’ You want it to be true so badly and even for me, I was working with these devices every single day and she could still kind of convince me. When I think back on those conversations, I just think ‘How did she do that?’

Tyler Schulz

The “Not Invented Here Syndrome”

In programming, it is also common to refer to the “NIH syndrome” as the tendency towards reinventing the wheel (reimplementing something that is already available) based on the belief that in-house developments are inherently better suited, more secure, more controlled, quicker to develop, and incur lower overall cost (including maintenance cost) than using existing implementations. In-house developments are often collaborative with each other. When two in-house developments come together, it is informally known as “computer incest.”

Wikipedia

Found when I was looking for a dependency-free XML-to-JSON parser wherein the author notes the “fine NIH tradition of JavaScript developers everywhere.” Reminded me of this

Via

11th Hour Panic

Shturmovshchina was a common Soviet work practice of frantic and overtime work at the end of a planning period in order to fulfill the planned production target. The practice usually gave rise to products of poor quality at the end of a planning cycle.

It has three very, very familiar stages

  • Spiachka (hibernation) – this is the first third of the planned period. Nobody’s doing anything, mostly because there are no orders to do anything
  • Raskachka (buildup) – at this stage it is more or less known what should be done, but there is too much time ahead, and during that time the requirements may change, as well as the management;
  • Goriachka (fever) – this is the last stage of the planned period; by the end of this stage the product is supposed to be ready, or the management may be reprimanded; everybody works like crazy, with the bright future being so near.

Node Modules

For a single project I made the mistake of working on in my Dropbox folder:

Wonder what the downsides are to hardlinking by default. And, fundamentally, why creating an amazing, Python-like standard library is such an intractable problem in the first place.

[. . .] core-js is also utils library, quite a big one honestly! It has so many functions inside I bet a lot of other packages will be using it!

Not really. Only babel-runtime has it in its deps. Oopsie.
And returning to the starting point, cli uses only 3 (trivial) methods from common-tags — stripIndents, stripIndent, oneLine. Oopsie daisy.

In order to use these 3 methods node_modules needs 1826 files. And that’s just 4 of mentioned 976 installed packages.

– Mateusz Morszczyzna, What’s really wrong with node_modules and why this is your fault

🤦‍♂️ The portion of the article that listed functionally similar packages and is-* packages was particularly dismaying. As he points out, there’s a good reason why jQuery and lodash are as immensely popular as they are1.

  1. Was wondering if we’ll ever get back to the magic of hand-crafted web pages and found this article which led me to this modern Geocities clone 💖 ↩︎

It’s what they do at Google

In addition, engineers have commoditized many technical solutions that used to be challenging in the past 15 years. Scaling used to be a tough challenge, not any more for many companies. In fact, part of my daily job is to prevent passionate engineers from reinventing wheels in the name of achieving scalability. It’s not because we don’t need to solve scalability problems, but because the infrastructure is good enough for most of companies. Building and operating so called “big data platform” used to be hard, not that hard any more. Building machine learning pipeline used to be hard, not that hard any more for many companies. Of course, it’s still challenging to build a highly flexible and automated machine learning pipeline with full support of closed feedback loop, but many companies can get by without that level of maturity.

– via Hacker News (emphasis mine)

Telling People Things

What’s going on is that without some kind of direct experience to use as a touchstone, people don’t have the context that gives them a place in their minds to put the things you are telling them. The things you say often don’t stick, and the few things that do stick are often distorted. Also, most people aren’t very good at visualizing hypotheticals, at imagining what something they haven’t experienced might be like, or even what something they have experienced might be like if it were somewhat different.

and

When people ask me about my life’s ambitions, I often joke that my goal is to become independently wealthy so that I can afford to get some work done. Mainly that’s about being able to do things without having to explain them first, so that the finished product can be the explanation. I think this will be a major labor saving improvement.

Chip Morningstar, “You can’t tell people anything