Meta-ware
2008.06.09 prev next
WHEN I was a teenager, my computer-loving friends and I spent a lot of time using computer software, programming, collecting hundreds of files on dozens of 5.25" floppy disks, and tricking out our computers with third-party circuit boards and custom-installed switches.
As I entered my late teens, though, I began to notice a trend among my computer friends and the software programs they wrote and used. A trend I didn’t really like. In my head, I came up with a name for this trend: Meta-ware.
Meta-ware was any software that existed only to manipulate and/or organize other software — for example, a program that alphabetized all the files on a disk. Or a program that scanned the contents of all your floppies and created a library of them. Or a program that assisted your code-writing efforts with keyboard shortcuts and special formatting. I don’t even recall all the meta-ware that was in use then, but I remember that there was a lot of it.
And gradually, I decided that I didn’t want to write meta-ware. I didn’t even really want to use it much except when I felt it very necessary. To me, a computer is great for a few basic things:
- Games and multimedia
- Writing/communicating
- Drawing/photo processing
- Scientific simulations
Most of my teenage computer friends seemed to be into computers for the sake of computers. The whole environment of circuit boards, blinking characters on a screen, keyboards, floppies, files — they really liked all that, as a hobby. I think this is a large part of the reason why I’ve gravitated to Apple products. Apple really seems to get this, in a way that the Windows PC world doesn’t. Still today, my most savvy Windows PC friends don’t like Apple primarily because they can’t build a Mac from parts, or overclock its processor to get 10% better performance than their computer-nerd buddy. They want to do that stuff. Apple targets people who don’t want to do that — they just want to do things that you really need a computer to do.
In Apple’s early years I thought of Steve Wozniak as the genius behind the company, and I regarded Steve Jobs as little more than a tag-along promoter. My opinion of Jobs hit an all-time low when a friend told me that Jobs didn’t even write code at Apple!
Today my opinion has reoriented 180° — I now regard Woz as someone who was into computers for computers’ sake, who built computers to impress his techie buddies, and who was just in the right place at the right time to make a zillion. And I now see Jobs as the visionary who wanted computers to do something really enjoyable for all those people who had no interest in building a computer or writing code. Which of these two ways of seeing computers had a big future ahead of it? It’s pretty obvious today.
I spent my late teens and post-teen years trying to become a successful game programmer. While my late-teen friends were showing off their program to organize files or to reformat code, I was trying to write an actual game. And of course I found out that it’s a lot harder to write an interesting, playable game than it is to write a utility that performs some file manipulation. Even seemingly simple games turn out to be fiendishly complicated when you actually have to create one yourself and make it work right. Maybe that’s part of what meta-ware is all about: avoiding the monumental task of making a game, a word processor, or a photo editor, and instead writing something relatively simple that provides some techie-oriented enhancement to the computer-using experience.
In college I found that the professors had virtually zero interest in writing anything that anyone would really like to use, much less teaching us how to write such an app. All they wanted to teach was programming theory, style, and methodology. As a college student I spent enormous effort making sure that my code satisfied some professor’s idea of what good code should look like. But what did that code actually do? Usually, nothing much. Writing a program to create an alphabetized word-count list from a text file was about as real-world-functional as any of our assignments got. Because computer code is complicated, a whole world of coding theory has grown up around the practice. Sadly, the true purpose of computers is lost in this world — computers and coding have become an end unto themselves.
As students of this academic world graduate and move into the corporate environment, they carry this mentality forward with them. How many programmers and separate code modules does it take to make a payment on an insurance policy? You don’t even want to know. Imagine a single, stale peanut surrounded by fifteen layers of wrapping and packaging, and it comes with an inch-thick rulebook describing how each layer of packaging works and is to be manipulated. Really makes you yearn for a good old Snickers bar. Yes, a Snickers bar needs a wrapper — but look how super thin that wrapper is! And how immensely thick the chocolate bar inside! What happens when the wrapper designers go nuts and start thinking they’re making the real product? You get something like the “architecture astronauts” described by Joel Spolsky (here and here):
The Architecture Astronauts will say things like: “Can you imagine a [peer-to-peer] program like Napster where you can download anything, not just songs?” Then they’ll build applications like Groove that they think are more general than Napster, but which seem to have neglected that wee little feature that lets you type the name of a song and then listen to it — the feature we wanted in the first place. Talk about missing the point. If Napster wasn’t peer-to-peer but it did let you type the name of a song and then listen to it, it would have been just as popular.
When I embarked on my two-year, half-hour-a-day hobby of writing SWTSG, I knew it was to satisfy my hunger to write code that really does something. Code that isn’t much more complex than the task at hand, but is nevertheless very complex because the task is complex. An app that does something really well, without degenerating into a geek’s dream of pointless controls and customization options. “I should be able to make my crawl text magenta.” Um, no, you shouldn’t. If you really want to, change its hue in your movie-editing app. I’m not putting in a control for that. Put it in yourself if you want to; the sourcecode is available.
On the internet I see people making pronouncements of what good code must be. “No decent text-handing app doesn’t understand Unicode.” Really? How about this instead: “No decent character-set specification requires programmers to abandon virtually universal ASCII except when they need to.” I don’t actually know if Unicode satisfies that statement or not. And I shouldn’t need to know.
“No app should use any processor time when idle. If I find that an app uses processor when idle, I throw it in the trash right away.” Really? When you find a cool app that does something really neato, and does it really well, and doesn’t need to be left open for extended periods of time when idle, and doesn’t seem to be slowing down your computing experience even when left open idle — you use a special utility to find out that the app is using a trickle of processor, then you trash it and never use it again? I don’t know whether to feel sorry for you or conclude you must be lying. I myself have tolerated truly annoying bugs in software (e.g. Photoshop) because it was a great app and I wanted to use it. (Incidentally, SWTSG now uses zero processor when idle. I found the workaround and deployed it.)
While developing SWTSG, I post a simple question to a C forum: Why can’t I pass a 2-D, non-dynamically allocated array to a function? Or pass a 1-D, non-dynamically allocated array to a function by its name only (myArray instead of &myArray[0])? To which I get half a dozen quick replies in the vein of “Yes you can; what’s your problem?” or “You must post your entire sourcecode before we can properly attempt to answer your question.” Finally, one helpful poster says, “Oh yeah, you’re right. You can’t do that, and here’s the official C FAQ statement to that effect.” Then I realize that all those other condescending posters hadn’t even tried to do it before responding to my question, and apparently had never written a programming project that caused them to attempt it, either.
When did the theory of computing become more important than the meat of writing useful code and lots of it? Anyone can look at someone else’s code and find a dozen reasons to dismiss it as crap. And if they can’t immediately tell how the code works at a glance (as almost certainly will be the case with code that does something even moderately complicated) it’s easy for them to think it really is crap.
Code is like art, in that any critic can arbitrarily laud or lambast any work — but getting large numbers of people to use it is the real proof of its value.
prev next
Hear, hear
prev next
Best recent articles
Make Your Own FBI Backdoor, Right Now
Polygon Triangulation With Hole
The Legacy of Windows Phone
Palm Fan
Vivek Wadhwa, Scamster Bitcoin Doomsayer
Fanboy Features (regularly updated)
When Starting A Game of Chicken With Apple, Expect To Lose — hilarious history of people who thought they could bluff Apple into doing whatever they wanted.
A Memory of Gateway — news chronology of Apple’s ascendancy to the top of the technology mountain.
iPhone Party-Poopers Redux and Silly iPad Spoilsports — amusing litanies of industry pundits desperately hoping iPhone and iPad will go away and die.
Embittered Anti-Apple Belligerents — general anger at Apple’s gi-normous success.
RSS FEED
My books
Now available on Apple Books!
Links
Daring Fireball
The Loop
RoughlyDrafted
Macalope
Red Meat
Despair, Inc.
Real Solution #9 (Mambo Mania Mix) over stock nuke tests. (OK, somebody made them rip out the music — try this instead.)
Ernie & Bert In Casino
Great Explanation of Star Wars
Best commercials (IMO) from Super Bowl 41, 43, 45, 46, 47, 53 and 55
Kirk & Spock get Closer
American football explained.
TV: Severance; Succession; The Unlikely Murderer; Survivor; The Jinx; Breaking Bad; Inside Amy Schumer
God’s kitchen
Celebrity Death Beeper — news you can use.
Making things for the web.
RedQueenCoder.
My vote for best commercial ever. (But this one’s a close second, and I love this one too.)
Recent commercials I admire: KFC, Audi, Volvo
Best reggae song I’ve discovered in quite a while: Virgin Islands Nice
d120 dice: You too (like me) can be the ultimate dice nerd.
WiFi problems? I didn’t know just how bad my WiFi was until I got eero.
Favorite local pad thai: Pho Asian Noodle on Lane Ave. Yes, that place; blame Taco Bell for the amenities. Use the lime, chopsticks, and sriracha. Yummm.
Um, could there something wrong with me if I like this? Or this?
This entire site as a zip file — last updated 2024.08.16
Previous articles
Fitness Startup Is Hard
Sweeney Translation
Collatz, Revisited
Downtown Isn’t Coming Back
Stig
Gaston
Nuclear War
Wolfspeare
Engström’s Motive
Google’s Decision
Warrening
The Two Envelopes Problem, Solved
The Practical Smartphone Buyer
Would Apple Actually Exit the EU Or UK?
See You Looked
Blackjack Strategy Card (Printable)
Swan Device 1956 — Probable Shape
Pu
RGB-To-Hue Conversion
Polygon Triangulation With Hole
One-Point Implosion: “Palm Fan”
Implosion: Were Those Two-Speed Lenses Really Necessary?
Apple Wants User/Developer Choice; Its Enemies Want Apple Ruin
Tim Sweeney Plays Dumb
The Jury of One
The Lesson of January 6
Amnesia Is Not A Good Plot
I Was Eating for 300 lbs, Not 220
Action Arcade Sounds and Reality
The Flea Market and the Retail Store
Squaring the Impossible
Yes, Crocodiles Are Dinosaurs — Duh
Broccoli and Apples Are Not the Antidote To Donuts and Potato Chips
Cydia and “Competition”
The Gift of Nukes
Prager University and the Anti-Socialists’ Big Blind Spot
In Defense of Apple’s 30% Markup, Part 2
In Defense of Apple’s 30% Markup
Make Your Own FBI Backdoor, Right Now
Storm
The Legacy of Windows Phone
Mindless Monsters
To the Bitter End
“Future Shock” Shock
Little Plutonium Boy
The iPhone Backdoor Already Exists
The Impulse To Be Lazy
HBO’s “Meth Storm” BS
Judos vs. Pin Place
Vizio M-Series 65" LCD (“LED”) TV — Best Settings (IMHO)
Tasting Vegemite (Bucket List)
The IHOP Coast
The Surprise Quiz Paradox, Solved
Apple, Amazon, Products, and Services — Not Even Close
Nader’s Open Blather
Health — All Or Nothing?
Vivek Wadhwa, Scamster Bitcoin Doomsayer
Backwards Eye Wiring — the Optical Focus Hypothesis
Apple’s Cash Is Not the Key
Nothing More Angry Than A Cornered Anti-Apple
Let ’Em Glow
The Ultimate, Simple, Fair Tax
Compassion and Vision
When Starting A Game of Chicken With Apple, Expect To Lose
The Caveat
Superb Owl
NavStar
Basic Reproduction Number
iBook Price-Fixing Lawsuit Redux — Apple Won
Delusion Made By Google
Religion Is A Wall
It’s Not A Criticism, It’s A Fact
Michigan Wolverines 2014 Football Season In Review
Sprinkler Shopping
Why There’s No MagSafe On the New MacBook
Sundar Pichai Says Devices Will Fade Away
The Question Every Apple Naysayer Must Answer
Apple’s Move To TSMC Is Fine For Apple, Bad For Samsung
Method of Implementing A Secure Backdoor In Mobile Devices
How I Clip My Cat’s Nails
Die Trying
Merger Hindsight
Human Life Decades
Fire and the Wheel — Not Good Examples of A Broken Patent System
Nobody Wants Public Transportation
Seasons By Temperature, Not Solstice
Ode To Coffee
Starting Over
FaceBook Messenger — Why I Don’t Use It
Happy Birthday, Anton Leeuwenhoek
Standard Deviation Defined
Not Hypocrisy
Simple Guide To Progress Bar Correctness
A Secure Backdoor Is Feasible
Don’t Blink
Predictive Value
Answering the Toughest Question About Disruption Theory
SSD TRIM Command In A Nutshell
The Enderle Grope
Aha! A New Way To Screw Apple
Champagne, By Any Other Maker
iOS Jailbreaking — A Perhaps-Biased Assessment
Embittered Anti-Apple Belligerents
Before 2001, After 2001
What A Difference Six Years Doesn’t Make
Stupefying New Year’s Stupidity
The Innovator’s Victory
The Cult of Free
Fitness — The Ultimate Transparency
Millions of Strange Devotees and Fanatics
Remember the iPod Killers?
Theory As Simulation
Four Analysts
What Was Christensen Thinking?
The Grass Is Always Greener — Viewing Angle
Is Using Your Own Patent Still Allowed?
The Upside-Down Tech Future
Motive of the Anti-Apple Pundit
Cheating Like A Human
Disremembering Microsoft
Security-Through-Obscurity Redux — The Best of Both Worlds
iPhone 2013 Score Card
Dominant and Recessive Traits, Demystified
Yes, You Do Have To Be the Best
The United States of Texas
Vertical Disintegration
He’s No Jobs — Fire Him
A Players
McEnroe, Not Borg, Had Class
Conflict Fades Away
Four-Color Theorem Analysis — Rules To Limit the Problem
The Unusual Monopolist
Reasonable Projection
Five Times What They Paid For It
Bypassable Security Certificates Are Useless
I’d Give My Right Arm To Go To Mars
Free Advice About Apple’s iOS App Store Guidelines
Inciting Violence
One Platform
Understanding IDC’s Tablet Market Share Graph
I Vote Socialist Because...
That Person
Product Naming — Google Is the Other Microsoft
Antecessor Hypotheticum
Apple Paves the Way For Apple
Why — A Poem
App Anger — the Supersized-Mastodon-In-the-Room That Marco Arment Doesn’t See
Apple’s Graphic Failure
Why Microsoft Copies Apple (and Google)
Coders Code, Bosses Boss
Droidfood For Thought
Investment Is Not A Sure Thing
Exercise is Two Thirds of Everything
Dan “Real Enderle” Lyons
Fairness
Ignoring the iPod touch
Manual Intervention Should Never Make A Computer Faster
Predictions ’13
Paperless
Zeroth — Why the Century Number Is One More Than the Year Number
Longer Than It Seems
Partners: Believe In Apple
Gun Control: Best Arguments
John C. Dvorak — Translation To English
Destructive Youth
Wiens’s Whine
Free Will — The Grand Equivocation
What Windows-vs.-Mac Actually Proved
A Tale of Two Logos
Microsoft’s Three Paths
Amazon Won’t Be A Big Winner In the DOJ’s Price-Fixing Suit
Infinite Sets, Infinite Authority
Strategy Analytics and Long Term Accountability
The Third Stage of Computing
Why 1 Isn’t Prime, 2 Is Prime, and 2 Is the Only Even Prime
Readability BS
Lie Detection and Psychos
Liking
Steps
Microsoft’s Dim Prospects
Humanity — Just Barely
Hanke-Henry Calendar Won’t Be Adopted
Collatz Conjecture Analysis (But No Proof; Sorry)
Rock-Solid iOS App Stability
Microsoft’s Uncreative Character
Microsoft’s Alternate Reality Bubble
Microsoft’s Three Ruts
Society’s Fascination With Mass Murder
PlaysForSure and Wikipedia — Revisionism At Its Finest
Procrastination
Patent Reform?
How Many Licks
Microsoft’s Incredible Run
Voting Socialist
Darwin Saves
The Size of Things In the Universe
The Self-Fulfilling Prophecy That Wasn’t
Fun
Nobody Was In Love With Windows
Apples To Apples — How Anti-Apple Pundits Shoot Themselves In the Foot
No Holds Barred
Betting Against Humanity
Apple’s Premium Features Are Free
Why So Many Computer Guys Hate Apple
3D TV With No Glasses and No Parallax/Focus Issues
Waves With Particle-Like Properties
Gridlock Is Just Fine
Sex Is A Fantasy
Major Player
Why the iPad Wannabes Will Definitely Flop
Predators and Parasites
Prison Is For Lotto Losers
The False Dichotomy
Wait and See — Windows-vs-Mac Will Repeat Itself
Dishonesty For the Greater Good
Barr Part 2
Enough Information
Zune Is For Apple Haters
Good Open, Bad Open
Beach Bodies — Who’s Really Shallow?
Upgrade? Maybe Not
Eliminating the Impossible
Selfish Desires
Farewell, Pirate Cachet
The Two Risk-Takers
Number of Companies — the Idiocy That Never Dies
Holding On To the Solution
Apple Religion
Long-Term Planning
What You Have To Give Up
The End of Elitism
Good and Evil
Life
How Religion Distorts Science
Laziness and Creativity
Sideloading and the Supersized-Mastodon-In-the-Room That Snell Doesn’t See
Long-Term Self-Delusion
App Store Success Won’t Translate To Books, Movies, and Shows
Silly iPad Spoilsports
I Disagree
Five Rational Counterarguments
Majority Report
Simply Unjust
Zooman Science
Reaganomics — Like A Diet — Works
Free R&D?
Apple’s On the Right Track
Mountains of Evidence
What We Do
Hope Conquers All
Humans Are Special — Just Not That Special
Life = Survival of the Fittest
Excuse Me, We’re Going To Build On Your Property
No Trademark iWorries
Knowing
Twisted Excuses
The Fall of Google
Real Painters
The Meaning of Kicking Ass
How To Really Stop Casual Movie Disc Ripping
The Solitary Path of the High-Talent Programmer
Fixing, Not Preaching
Why Blackmail Is Still Illegal
Designers Cannot Do Anything Imaginable
Wise Dr. Drew
Rats In A Too-Small Cage
Coming To Reason
Everything Isn’t Moving To the Web
Pragmatics, Not Rights
Grey Zone
Methodologically Dogmatic
The Purpose of Language
The Punishment Defines the Crime
Two Many Cooks
Pragmatism
One Last Splurge
Making Money
What Heaven and Hell Are Really About
America — The Last Suburb
Hoarding
What the Cloud Isn’t For
Diminishing Returns
What You’re Seeing
What My Life Needs To Be
Taking An Early Retirement
Office Buildings
A, B, C, D, Pointless Relativity
Stephen Meyer and Michael Medved — Where Is ID Going?
If You Didn’t Vote — Complain Away
iPhone Party-Poopers Redux
What Free Will Is Really About
Spectacularly Well
Pointless Wrappers
PTED — The P Is Silent
Out of Sync
Stupid Stickers
Security Through Normalcy
The Case For Corporate Bonuses
Movie Copyrights Are Forever
Permitted By Whom?
Quantum Cognition and Other Hogwash
The Problem With Message Theory
Bell’s Boring Inequality and the Insanity of the Gaps
Paying the Rent At the 6 Park Avenue Apartments
Primary + Reviewer — An Alternative IT Plan For Corporations
Yes Yes Yes
Feelings
Hey Hey Whine Whine
Microsoft About Microsoft Visual Microsoft Studio Microsoft
Hidden Purple Tiger
Forest Fair Mall and the Second Lamborghini
Intelligent Design — The Straight Dope
Maxwell’s Demon — Three Real-World Examples
Zealots
Entitlement BS
Agenderle
Mutations
Einstein’s Error — The Confusion of Laws With Their Effects
The Museum Is the Art
Polly Sooth the Air Rage
The Truth
The Darkness
Morality = STDs?
Fulfilling the Moral Duty To Disdain
MustWinForSure
Choice
Real Design
The Two Rules of Great Programming
Cynicism
The End of the Nerds
Poverty — Humanity’s Damage Control
Berners-Lee’s Rating System = Google
The Secret Anti-MP3 Trick In “Independent Women” and “You Sang To Me”
ID and the Large Hadron Collider Scare
Not A Bluff
The Fall of Microsoft
Life Sucks When You’re Not Winning
Aware
The Old-Fashioned Way
The Old People Who Pop Into Existence
Theodicy — A Big Stack of Papers
The Designed, Cause-and-Effect Brain
Mosaics
IC Counterarguments
The Capitalist’s Imaginary Line
Education Isn’t Everything
I Don’t Know
Funny iPhone Party-Poopers
Avoiding Conflict At All Costs
Behavior and Free Will, Unconfused
“Reduced To” Absurdum
Suzie and Bubba Redneck — the Carriers of Intelligence
Everything You Need To Know About Haldane’s Dilemma
Darwin + Hitler = Baloney
Meta-ware
Designed For Combat
Speed Racer R Us
Bold — Uh-huh
Conscious of Consciousness
Future Perfect
Where Real and Yahoo Went Wrong
The Purpose of Surface
Eradicating Religion Won’t Eradicate War
Documentation Overkill
A Tale of Two Movies
The Changing Face of Sam Adams
Dinesh D’Souza On ID
Why Quintic (and Higher) Polynomials Have No Algebraic Solution
Translation of Paul Graham’s Footnote To Plain English
What Happened To Moore’s Law?
Goldston On ID
The End of Martial Law
The Two Faces of Evolution
A Fine Recommendation
Free Will and Population Statistics
Dennett/D’Souza Debate — D’Souza
Dennett/D’Souza Debate — Dennett
The Non-Euclidean Geometry That Wasn’t There
Defective Attitude Towards Suburbia
The Twin Deficit Phantoms
Sleep Sync and Vertical Hold
More FUD In Your Eye
The Myth of Rubbernecking
Keeping Intelligent Design Honest
Failure of the Amiga — Not Just Mismanagement
Maxwell’s Silver Hammer = Be My Honey Do?
End Unsecured Debt
The Digits of Pi Cannot Be Sequentially Generated By A Computer Program
Faster Is Better
Goals Can’t Be Avoided
Propped-Up Products
Ignoring ID Won’t Work
The Crabs and the Bucket
Communism As A Side Effect of the Transition To Capitalism
Google and Wikipedia, Revisited
National Geographic’s Obesity BS
Cavemen
Theodicy Is For Losers
Seattle Redux
Quitting
Living Well
A Memory of Gateway
Is Apple’s Font Rendering Really Non-Pixel-Aware?
Humans Are Complexity, Not Choice
A Subtle Shift
Moralism — The Emperor’s New Success
Code Is Our Friend
The Edge of Religion
The Dark Side of Pixel-Aware Font Rendering
The Futility of DVD Encryption
ID Isn’t About Size or Speed
Blood-Curdling Screams
ID Venn Diagram
Rich and Good-Looking? Why Libertarianism Goes Nowhere
FUV — Fear, Uncertainty, and Vista
Malware Isn’t About Total Control
Howard = Second Coming?
Doomsday? Or Just Another Sunday
The Real Function of Wikipedia In A Google World
Objective-C Philosophy
Clarity From Cisco
2007 Macworld Keynote Prediction
FUZ — Fear, Uncertainty, and Zune
No Fear — The Most Important Thing About Intelligent Design
How About A Rational Theodicy
Napster and the Subscription Model
Intelligent Design — Introduction
The One Feature I Want To See In Apple’s Safari.