six things tagged “tech heaven”

Eliminating Distractions with MS-DOS

The Dune screenplay was written on MS-DOS on a program app called “Movie Master”. It has a 40 page limit which helps the writer, Eric Roth.

Writing is fundamentally about putting your ass in the chair and typing the words. Eliminating distractions (I’ve checked Twitter at least five times while writing this short blog) is a key to success. Nothing eliminates distractions like a stripped down simple program with no internet access. Roth also said the 40 page limit helps him structure his screenplays.“I like it because it makes acts,” he said. “I realize if I hadn’t said it in 40 pages I’m starting to get in trouble.”

Matthew Gault, “The ‘Dune’ Screenplay Was Written in MS-DOS”, Vice

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.

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.