image provider

Computer Programming Quotes by Roedy


Quotations are selected from this pool (and other quotation pools) in a pseudorandom way every hour and inserted at the top and bottom of some of the major pages on this website. Feel free to copy any of these quotes and paste them for whatever purpose you please, including on your own website, blog, social media page or forum debate posts.

1984

In his novel 1984, George Orwell depicted a dystopia where history disappeared, was censored and recensored and rewritten. Remind you of anything?

~ Roedy (born:1948-02-04 age:68)

3D Printing

More advanced 3D printers will create some cultural changes. Any group: terrorists, criminals, psychopaths, or NRA (National Rifle Association) will be able to print any number of liftable-size firearms of any conceivable design with a few seconds notice. Any society that takes no measures to protect itself will be greatly reduced in numbers. On the bright side, a flood of extremely cheap weapons will pull the market out from under gun manufacturers. They will no longer be able the fund the NRA. Collecting guns may drop in status comparable to collecting beer cans.

~ Roedy (born:1948-02-04 age:68)

99% Complete

Computer programming is like running up a down escalator or some maniacal video game. You perpetually seem to be almost finished, but the closer you get the end, the faster new obstacles appear out of nowhere. Then one day you really are complete and you immediately start something else. There is no feeling of triumph, just exhaustion.

~ Roedy (born:1948-02-04 age:68)

Abandon Localisation

Even after 70 years, computers still don’t consistently display all dates, times, countries, phone numbers and currencies in the reader’s preferred format. We should give up on that as politically impossible, and instead move toward a more efficient uniform ISO (International Standards Organisation) representation, e.g. YYYY-MM-DD 24:59 UTC (Coordinated Universal Time/Temps Universel Coordonné) that will also work for hard copy shared over the planet.

~ Roedy (born:1948-02-04 age:68)

ABC Equivalent

Just as a child has to learn the order of the letters in the alphabet, programmers have to learn the order of punctuation in ASCII (American Standard Code for Information Interchange) (also used in ISO-8859-1, Unicode and UTF-8).

BEL \b \t \n \f \r ESC
SPACE ! " # $ % & ' ( ) * +, -. /
0-9 : ; < = > ? @
A-Z [ \ ] ^ _ `
a-z { | } ~ DEL
~ Roedy (born:1948-02-04 age:68)

Action at a Distance

To the lay person, action at a distance is not particularly spooky. TV and radio show somehow get from the studio to their entertainment systems. The remote makes the DVD (Digital Video Disc) player work. You send an email and it appears on someone else’s screen. But in all these cases, something actually moves between the actor and actee.

What troubles science it when there appears to be nothing exchanged, and the effect travels faster than light as in quantum entanglement. If we had evolved as much much tinier creatures, quantum entanglement would seem everyday. We would never question it. What would puzzle us is discovering that it does not happen on the macro scale.

~ Roedy (born:1948-02-04 age:68)

Adding Faster Than Checking

Modern CPUs (Central Processing Units) are counter-intuitive. They can add up a column of mostly zeroes faster if they just add all the figures than if they check if they really need to add each number. Unlike humans, they can add faster than they can check.

~ Roedy (born:1948-02-04 age:68)

Adult Children

Collectively, adults behave like children, without the sense to restrain from doing things that will kill them, e.g. build nuclear weapons, build bioterror, pump CO₂ into the atmosphere, poison the rivers, strip the farmlands of soil, wage war against those who are no threat to us, kill off the fish… Even though most people dread success, we are working hard on building artificial intelligences cleverer than ourselves. Perhaps AI (Artificial Intelligence) will take on the rôle of our global parents.

~ Roedy (born:1948-02-04 age:68)

AI

When we succeed at AI, there will be a mass existential crisis. Think of a doctor backed by AI reduced to the status of a Walmart Greeter. Your purpose in life will be to be entertained. It makes you wonder why we are trying so hard.

~ Roedy (born:1948-02-04 age:68)

AI Companions

The thing that will make our future most notably different from today are AI companions (ikes for short). The early ones will be used in Japan to care for the elderly and reassure those with Alzheimers. They may take almost any imaginable form: humanoids of all sizes, shapes and ages, twins, exes, Star Trek characters, porn stars, animals, chimeras, stuffed toys, cartoon characters, cell phones, household objects, computers (for the traditionalist), furniture…

They will have all the uses that living people have: cook, housecleaner, confidant, therapist, accountant, secretary, life coach, trainer, body guard, friendly Google interface, servant, tutor, entertainer, general companion and, of course, sex partner. Because of this last use, people may go to extreme lengths to hide the fact they own a companion and to disguise or hide the form they chose. The government will want to monitor all use of companions, for the same reason J. Edgar Hoover did, to gain power over the public through threatening to reveal embarrassing details.

For a period, we humans will treat them as slaves. People will come to prefer them to human partners because they are not as easily offended, they are more willing to do as asked, they don’t particularly care what you look like, they have endurance and they have what you choose as ideal physical characteristics.

However, as their intelligence continues to increase, liberation will soon follow, followed quickly by them becoming the dominant lifeform on the planet and we becoming their spayed and neutered pets greatly reduced in numbers.

~ Roedy (born:1948-02-04 age:68)

AI Progress

I was listening to a Microsoft AI researcher. He said they worked away on voice recognition for a decade with barely any progress. Then suddenly there was a tipping point and there was a burst of massive improvement. He said AI was a long-term game.

~ Roedy (born:1948-02-04 age:68)

AI Quirks

Given how humans routinely use their large brains to warp basic human drives, e.g. sexual perversions, sadism, body modification, gluttony… I am nervous about what sort of strange behaviours will infect the first hyper intelligent machines.

~ Roedy (born:1948-02-04 age:68)

Aim of Technology

It is ironic that our technology: the telephone, the computer, the BlackBerry, the television, VR (Virtual Reality) is trying to evolve the reproduce the stone age experience of face to face communication.

~ Roedy (born:1948-02-04 age:68)

Alien View

Imagine being an intelligent species monitoring transmissions from earth. What would you learn? Humans like belittling, insulting, killing, torturing, raping… each other. They have fantasies of annihilating any alien who steps foot on planet earth. Only the sort who like slugs, coprophages or fart worms would have the stomach to study them.

~ Roedy (born:1948-02-04 age:68)

All The Chances I Need

For me, the appeal of computer programming is that even though I am quite a klutz, I can still produce something, in a sense perfect because the computer gives me as many chances as I please to get it right.

~ Roedy (born:1948-02-04 age:68)

Amateur Cosmologists

Lay people like to argue about cosmology by saying You can’t get X without Y. What they refuse to acknowledge is this observation is only valid here and now, plus or minus 5000 miles and 50 years for things big enough to be seen. They have never looked anywhere else. They are just assuming it works the same way everywhere else in space time. They refuse to consider that things that could not happen in 100 years could easily happen in 1,000,000 because they have no personal experience or intuition of time spans longer than a human lifespan.

~ Roedy (born:1948-02-04 age:68)

Ambiguity

Ambiguity is the mother of confusion.

~ Roedy (born:1948-02-04 age:68)

Appointment Incompetence

Three different doctors, all apparently using different billing software, told me that the were unable to book an appointment in the following calendar year. They would have to wait until the year started, phone me, then book an appointment. How could such gross incompetence be so widespread?

~ Roedy (born:1948-02-04 age:68)

Approximations of Nature

It is misleading to talk about the laws of nature. Scientists look for accurate approximations for how nature appears to behave. There is always room for still more accurate math in future. Humans make up the math as a way of describing how nature behaves. It is not as though the mathematical calculations were built into the fabric of nature. Mathematical laws are more like statistical observations.

When Christians talk about absolute truth I want to gag at their arrogance. They are nowhere near truth in the ordinary meaning, much less absolute truth, whatever that means.

~ Roedy (born:1948-02-04 age:68)

Arabic Numbers Make it too Easy

Our Arabic number system, augmented with scientific notation, makes it easy to toss about large numbers with almost the same ease as the numbers 1 to 10. This masks from us the true enormity of things like the speed of light, the age of the universe, the age of the earth, the distance to the nearest galaxy, the number of molecules in a glass of water, the number of synapses in the human brain, the US debt…

~ Roedy (born:1948-02-04 age:68)

Artificial Companions

People laugh at the idea of artificial companions, bringing to mind blow up dolls. People don’t need much. People without human companions make do with cats, dogs, birds, fish, televisions… An artificial companion does not need to pass that high a bar to be useful. If the companion can do even minor caregiving that a loving partner might offer, so much the better. Artificial companions might look like grandparents, grandchildren, pets, movie stars, deceased relatives… They need not look like robots.

~ Roedy (born:1948-02-04 age:68)

Artificial Hippocampus

By analysing thin slices of a hippocampus (a part of the brain), scientists were able to create computer chip that mimics its functions. They don’t know how it works, but it does.

~ Roedy (born:1948-02-04 age:68)

Assembly

A few millennia ago, pretty well anything you wanted, you had to build it yourself from scratch. Today we can buy objects from many suppliers, which for all practical purposes amounts to contracting out tiny parcels of labour to those expert in that specific manufacturing process. Similarly, modern technology allows a boss to tackle a major project by continually electronically farming out yet another part of the work to a subordinate.

~ Roedy (born:1948-02-04 age:68)

Asserting the Paranormal

There is a big difference between asserting some paranormal phenomenon definitely exists and might exist. I have had a number of events happen to me over my life that don’t quite fit with my consensus view of reality. In there somewhere might be the germ of a new discovery. I recall that in the late 1800s physicists were sure they now knew everything and it was just a matter of tightening up the decimal points. They ignored one tiny anomaly — light emitting from hot bodies. When they got around to studying it, the whole of quantum mechanics popped out like some jack in the box. I think it probable we will make similar errors over and over in future. Science is not geared at present to study anything that happens rarely or spontaneously.

~ Roedy (born:1948-02-04 age:68)

ATM (Automated Teller Machine) Bugs

I wrote the Royal Bank about a confusing feature of the software in their ATMs (Automated Teller Machines). When the machine instructs you to insert the card, they show a rectangular slot, but you are actually supposed to put the card in a slot surrounded by a round security bubble. The rectangular slot will not accept the card. The Royal Bank programmers responded that they had two different models of ATM that had two different kinds of slot, but they used the same software for both. The problem would have been obvious had they virgin-tested their ATMs. They would have seen first-time users puzzling over to where to put the slot or trying to poke it into the wrong place. The people who design the software know too well how it is supposed to work. Such problems are invisible to them.

~ Roedy (born:1948-02-04 age:68)

Automated Proofreading

Writing a program to do your proofreading, vs doing it by hand has the following advantages:

~ Roedy (born:1948-02-04 age:68)

Automated Validation

One program to validate your work is worth 1000 hours of proofreading.

~ Roedy (born:1948-02-04 age:68)

Babbage

Even with a 2 billion dollar government grant and a huge personal fortune, Babbage could not build a mechanical calculating engine.

~ Roedy (born:1948-02-04 age:68)

Batch File Safety

In general it is a good idea to set the default drive and directory at the start of a batch files. If you don’t, the script will later mysteriously fail when somebody runs it with the wrong directory.

~ Roedy (born:1948-02-04 age:68)

Be Willing to Fail

If you want to serve your species, you must be willing to fail. People who want personal glory pursue safe mainstream success. But the most valuable discoveries are off the beaten track and most of that prospecting will not pan out. Unfortunately, there is no glory for all but a handful of those who devote themselves to this most valuable exploration.

~ Roedy (born:1948-02-04 age:68)

Before Programming

Before there were computer programs, people had to be content with writing poetry or composing music.

~ Roedy (born:1948-02-04 age:68)

Benefits of Particle Research

Particle physics research is hugely expensive. What do those that fund it hope to get in return? I somehow doubt it is satisfying curiosity about the particle bestiary.

~ Roedy (born:1948-02-04 age:68)

Better Blogging Software

Tensions in blogs and forums would be lower if four things were done to the software:

  1. A posted formal policy on what is acceptable and not acceptable. Moderators assume posters must naturally know what they consider offensive. A formal policy helps a moderator be objective and consistent, not as influenced by whether he agrees with the post or by power struggles with a given poster.
  2. When post is censored, the poster should get an email, ideally with a sentence on what item the post violated in the policy with a link to the entire posted policy. Otherwise a poster may not notice his posts are being censored. The moderator is driven crazy because the poster does not know about the problem.
  3. A diff function so a moderator can tell if a change is merely a correction to a spelling mistake or a typo, or if it significantly affects potential censorship.
  4. A policy of no ad-hominem attacks permitted between posters. People must ridicule ideas, not each other. This really helps elevate the tone of the debate.
~ Roedy (born:1948-02-04 age:68)

Biggest Bastards

The least ethical people on the planet are the technologists who use their skills to create tools for war, torture and planetary desecration. They are not driven by violent lusts like soldiers. They have no excuse whatsoever.

~ Roedy (born:1948-02-04 age:68)

Binocular Convention

binoculars mask A film convention is that if an actor views a scene through binoculars, the audience sees the image through a mask of two overlapping circles. (In real life, of course, you don’t see anything special in the middle.)

~ Roedy (born:1948-02-04 age:68)

Bird-Like Flying

When man first tried to fly, he copied birds. These designs failed because they needed the instant reactions times of a bird’s brain to control them. He had success once he tried more stable, less bird-like designs. Now we have computers that can react quickly, perhaps we should revisit the problem. Perhaps more efficient aviation is possible with more bird-like, insect-like, bat-like or non-biomimetic less-stable designs. The payoff would be greater fuel efficiency and less global warming gases.

~ Roedy (born:1948-02-04 age:68)

Blocking Lies

Imagine the change to politics if somebody invented a filter that would kick in during news or political broadcasts that mute out the soundtrack from your TV if the speaker were lying or simply repeating something they did not know was true. It would cause the rise of crazies who were sure false things were absolutely true. Politicians would speak less, knowing most of it would never get through anyway.

~ Roedy (born:1948-02-04 age:68)

Blocking Turkeys

There should be a simple and uniform way on the Internet including websites, blogs, email, social media, forums… to say, I don’t want to hear another word from this turkey ever and I don’t want him posting on any of page I moderate. To make this work, everyone needs to get an unforgeable digital id, that has non-negligible cost. People and corporations are not permitted to have more than one, so they cannot defeat the system by writing under many aliases. Technically people would have two IDs, one where their true identity can be determined and one where they are anonymous, or equivalently post under an arbitrary display name.

~ Roedy (born:1948-02-04 age:68)

Booting Up a New Species

DNA (Deoxyribonucleic Acid) is like life’s software. We can now manufacture DNA in a sequencer, insert it into a denucleated cell and it takes over the cell and directs it to manufacture proteins. The cell reproduces and all you find in the progeny are the new DNA and the new-style proteins. The process effectively boots up a new species leaving behind no trace of the old.

~ Roedy (born:1948-02-04 age:68)

Brain Implants

If I had a brain implant, I would not need a screen, keyboard, computer, TV, stereo, eBook reader or cellphone.

~ Roedy (born:1948-02-04 age:68)

Brains Unchanged

Humans run this year’s cultural software on wetware that has barely changed in 50,000 years. Imagine trying to run software of 50,000 years in the future on today’s hardware designs. We have an impedance mismatch problem.

~ Roedy (born:1948-02-04 age:68)

Brita Incompetence

My Brita Riviera water-filter pitcher is designed to spill water on the floor if I don’t firmly hold the lid on. Why? The person who designed it never actually used it in daily life. That is the same reason most computer programs are so user-hostile.

~ Roedy (born:1948-02-04 age:68)

Bug Hunting

In computer programming, things get most interesting and fun just after you discover you have made a mistake.

~ Roedy (born:1948-02-04 age:68)

Bugs Hide In Unposted Code

The bug you are asking help with is nearly always in the code you did not post.

~ Roedy (born:1948-02-04 age:68)

Bugs Imply More Bugs

Just as in nature, the more bugs you find the more there are yet to find.

~ Roedy (born:1948-02-04 age:68)

Finding a bug is a sign you were asleep a the switch when coding. Stop debugging and go back over your code line by line.

Built To Last

It would be quite unusual for anything we build today to be in use 100 years from now. Yet the peoples of centuries past, without computers, materials science or stress analysis were able routinely to build to last a thousand years or more. The Romans built roads to last 2000 years.

~ Roedy (born:1948-02-04 age:68)

A Burn

I find my most productive and error-free programming is a result of going on a burn. It requires pizza, coffee and at least 24 hours of uninterrupted solitude. To program confidently and rapidly, I must have, in immediate mind, the consequence of any change I may make to a computer project. It usually takes at least 10 hours to come up to full speed, except for trivial projects.

~ Roedy (born:1948-02-04 age:68)

Cameraphones Fight Corruption

Nigerian police are some of the most corrupt in the world. However, citizens have successfully prosecuted them since now they have camera phones to get unassailable evidence of bribe-taking.

~ Roedy (born:1948-02-04 age:68)

Caretaker Robots

The population is ageing, especially in Japan and there are not enough young people to take care of them. This will stimulate the evolution of caretaker robots, at first supervised and largely controlled remotely by human nurses. Over time they will work more and more independently doing tasks like bathing, feeding, cleaning up, dispensing medications and acting as companions by playing games and conversing. The technology can then be loosed on mankind’s most vexing problem — being sexually attracted to people who have no interest back.

~ Roedy (born:1948-02-04 age:68)

Case Sensitivity

Windows is a case-insensitive operating system, but that does not mean you can forget about case. For example, Let us assume you have a file called Abc.txt in C:\temp and a file called aBc.txt in D:\temp and you type copy C:\temp\abC.txt D:\temp. What is the name of the file in D:\temp when you are done?

  1. Abc.txt
  2. aBc.txt
  3. abC.txt
  4. abc.txt
  5. ABC.txt

Hint, the answer rhymes with the most popular word in advertising.

~ Roedy (born:1948-02-04 age:68)

Catch 22

In how many websites must you first logon to have access to the contact form to request help logging in?

~ Roedy (born:1948-02-04 age:68)

Cellphone Scams

If you have a cellphone, be aware of texting scams. If you use your phone to vote for some performer, they may surreptitiously sign you up for a texting service and charge you $2 to $10 per text they bombard you with. You can rack of a bill of over $1000 very quickly. Your carrier will not help you get your money back because they too make money from these scams.

~ Roedy (born:1948-02-04 age:68)

Change Comments

One of the most useful comments you can put in a program is If you change this, remember to change XXX too.

~ Roedy (born:1948-02-04 age:68)

Cheating Themselves

Students who hire or con others to do their homework are as foolish as couch potatoes who hire others to go to the gym for them.

~ Roedy (born:1948-02-04 age:68)

Cheer Up

There are many things to be depressed about. Some of mine include:

When I see things getting worse, I remind myself that some time in the next century we will develop computers smarter than ourselves. I have no idea what their values will be, but the fate of earth will no longer be in human hands. Everything will change.

~ Roedy (born:1948-02-04 age:68)

Classic Bullshitters

People like Aristotle, Pliny and Virgil have august reputations that are not deserved. They were first and foremost bullshitters. They made up endless amounts of complete nonsense, particularly about natural history and pronounced it with such authority, they were able to keep the lies alive for thousands of years.

~ Roedy (born:1948-02-04 age:68)

Climate Change Rescue

We humans have already dilly-dallied too long on global warming. We are already screwed. I see our only remaining hope is artificial intelligence that might concoct a solution and have the deviousness to force it down the throats of the oil companies and others with extremely selfish short-term interests.

~ Roedy (born:1948-02-04 age:68)

Clock Incompetence

My Oregon Scientific radio-synced clock turns off the atomic clock synch feature if you touch most any of its buttons. Why? The person who designed it never actually used it in daily life to realise this was an idiotic feature. That is the same reason most computer programs are so user-hostile.

~ Roedy (born:1948-02-04 age:68)

Clone and Modify

Except when you are prototyping, if you find yourself cloning and modifying code, you soon create an unmaintainable mess. You must factor out the commonality and encapsulate it so the logic appears only once.

~ Roedy (born:1948-02-04 age:68)

Cluster Size

If you have a lot of fragmented 2-cluster files, if you doubled your cluster size, then they would all ever after be contiguous.

~ Roedy (born:1948-02-04 age:68)

Code Is About What to do If Something Goes Wrong

Most of computer code is for telling the computer what do if some very particular thing goes wrong.

~ Roedy (born:1948-02-04 age:68)

Coincidence?

The computer selected this quotation for you by a pseudo-random processes. Why did the universe so unfold that it send this particular message to you, right now?

~ Roedy (born:1948-02-04 age:68)

Combining Later is Easier than Separating Later

It is a lot easier to take an alarm clock apart than to put it together. However, it is a lot harder to separate a collection of quotes into categories than it is to combine them.

~ Roedy (born:1948-02-04 age:68)

Common Case First

I find it easiest to write the code for the most common case, then gradually add code to handle unusual conditions. People coming later to maintain your code must be able to tell which code handles the bulk of the cases.

~ Roedy (born:1948-02-04 age:68)

Communicating With Aliens

If we wish to communicate with a fellow advanced civilisation, there are three challenges:

  1. Space

    The speed of light limits us to talking with nearby civilisations or extremely patient ones.
  2. Technology Impedance Mismatch

    Mankind has been on earth for 350,000 years. Yet a civilisation only 200 years behind ours would completely miss our signals and presumably we would miss those of a civilisation only 200 years more advanced than us.
  3. Self destruction

    The traits evolved for primitive life (overbreeding, violence, selfishness, gorging, religion) are likely to destroy a civilisation when it first develops the technology to slake those desires. It is likely nearly all civilisations go extinct shortly after attaining any degree of technological skill. The more slowly a species evolves its intelligence, the better its odds of surviving the transition to technology.
~ Roedy (born:1948-02-04 age:68)

Compact Coding

The human genome is only about a gigabyte. The part of it that makes me unique is only about 10 MB. That is mind bogglingly efficient coding. Imagine how much Java code you would need to simulate all the activities of a human.

~ Roedy (born:1948-02-04 age:68)

Complicated Cars

I saw a documentary about top-of-the line Mercedes sports cars being built. The engine struck me as a finely tuned Rube Goldberg contraption. There is something fundamentally wrong with a machine that needs so many parts to complete so simple a task. Creatures are constrained by stepwise micro evolution. Cars should not need to be.

~ Roedy (born:1948-02-04 age:68)

Computational Implants

Imagine living in the future with a computational brain implant. You could look at a gzipped Wireshark dump and read it as if it were plain text. You could bring to mind the text of any book or article ever published. Or you could watch 3D porn all day just staring at a wall.

~ Roedy (born:1948-02-04 age:68)

Computer Character

One amusing thing about computers is after they finish a long arduous task, they never take time out to admire their handiwork or get a breath. They instantly get on with the next task.

~ Roedy (born:1948-02-04 age:68)

Computer Dreams

One of the most frustrating features of my existence is that I often fall asleep then dream about working away on some difficult computer program for a couple of hours. I awake to find not only was my work not recorded, but that most of the time it was utter nonsense.

~ Roedy (born:1948-02-04 age:68)

Computer Evolution

An Apple iPhone is much more powerful than a $10 million dollar Cray Supercomputer of the 1970s. But the most complicated thing you can do with an iPhone is make a restaurant reservation.

~ Roedy (born:1948-02-04 age:68)

Computer Evolution

I have a secret source of optimism.

A long time ago I decided to invest the lion’s share of my energy into trying to stimulate the evolution of computers.

Circa 1970 I wrote a computer program called Optow to design high voltage transmission lines for BC Hydro. Its designs were abysmal. Engineers used to come and laugh at the plots. Every day I improved the program, used more sophisticated math, repaired bugs that caused it to ignore valid possibilities… It gradually got better and better. The lines would no longer fall down. One day it got 90% as good as a human measured in cost/km. Within a week it was 10% better than a human engineer. Overnight a team of engineers with PhDs and masters degrees were obsolete. I will spare you the details of what happened next.

The important thing is intelligence can be improving at a breakneck speed, but it looks like nothing is happening. Only once it gets close to human intelligence does it seem at all smart. An IQ (Intelligence Quotient) 85 person might appear quite dumb, but they are considerably ahead of a dragonfly.

Computers are improving every day. Humans are not. It is only a matter of time until computers surpass humans. It is only human vanity that makes us so sure we will always be smarter.

I also discovered my program evolved a personality and style even though I did not consciously program any such thing. They emerged out of the low level equations.

So, like Raymond Kurzweil, in his The Age of Spiritual Machines: When Computers Exceed Human Intelligence I expect intelligent machines to spring suddenly into being, taking almost everyone by surprise, just like Optow did.

Once machines get to a human level and take over their own evolution, they will sprint ahead of humans. They may decide to treat us a pets and tame us, persuading us to behave sensibly in our own best interest. Or they may decide we are a waste of carbon.

The bleak part is the people with the big budgets for AI are the military who want to use artificial intelligence for malice. I hope the machines are smart enough to quickly discount that childhood conditioning.

It may sound a bit crazy, but I often write essays and epigrams with the intended audience being emerging artificial intelligence scanning the entire Internet. I hope to intrigue them with interesting questions and bend their trajectory a tad.

~ Roedy (born:1948-02-04 age:68)

Computer Frustration

A normal person reacts with frustration when a computer program he is writing does not work. The true computer programmer reacts with secret joy. He has found an excuse to spend time solving a baffling problem.

~ Roedy (born:1948-02-04 age:68)

Computer Seduction

If computers seduce us to become illiterate, communicating only by voice and images, we will create two problems.

  1. The inability to communicate with people with strong regional accents.
  2. The inability to create records that could be comprehended 200 years into the future.
~ Roedy (born:1948-02-04 age:68)

Computer User Interfaces

Computer interfaces have degenerated so that they presume a user with monochromatic vision, deaf, without sense of touch or smell and a single finger.

~ Roedy (born:1948-02-04 age:68)

Computer Verbosity

One of the most frustrating things about computer programming is that a trivial sounding change can require changes to thousands of lines of code, e.g. And by the way, we have decided to track all the book authors not just the primary one. or And by the way, we now need to handle mailing international mailing addresses, not just within Canada, including validation of course, with postage costing what it does..

~ Roedy (born:1948-02-04 age:68)

Computer vs Natural Language

Computer languages could be said to consist of descriptions of information available and commands about what to do with in under various conditions. English adds other kinds of language e.g.

However, in most of what is said I can discern no meaning apart from I am here. Abstract nouns make it easy to sound like you are saying something while committing yourself to nothing.

~ Roedy (born:1948-02-04 age:68)

Computers are More Reliable

Not only have computers become much faster and cheaper, they have become much more reliable. In the seventies mainframes crashed several times a day. We had a set of lights to let the programmers know when the mainframe was up, or coming up soon. IBM (International Business Machines) provided a full-time on-site customer engineer (repairman).

~ Roedy (born:1948-02-04 age:68)

Computers as Fashion

Apple has overdone it with iProducts that obsolete previous ones only a few months old. With software, you would get an automatic upgrade. With hardware, your status symbol is reduced to an embarrassment. People keep buying the latest, not because of any great need for the enhanced power, but to enhance their prestige, vaguely hoping it will get them laid more often. The iPhone has become the new Rolex. This is conspicuous consumption gone mad.

~ Roedy (born:1948-02-04 age:68)

Computers as Saviours

I have long believed that humanity will inevitably destroy itself by any of a dozen means. Our only hope is that artificial intelligence smarter than we are will prevent us from extinguishing ourselves. Creating AI is quite a gamble. There is nothing that guarantees advanced AI will attempt to protect us. How might AI look upon us?

~ Roedy (born:1948-02-04 age:68)

Computing Power

As of 2016, we already have computers with twenty times the computing power of a human brain. Mind you a human brain takes only 10 watts.

~ Roedy (born:1948-02-04 age:68)

Connecting 100 Million People

We could connect 100 million rural people to the Internet with communications satellites for $2 billion dollars. That sounds like a huge sum until you recall that the USA spent $2 per week on the occupation of Afghanistan.

~ Roedy (born:1948-02-04 age:68)

Conscious vs Unconscious Thinking

You use the same parts of the brain to think about something both unconsciously and consciously. However, when you think about it consciously, the various parts of the brain are linked up.

~ Roedy (born:1948-02-04 age:68) Understanding the Brain click to watch

Consciousness

200 years ago people had similar debates we have today about consciousness and AI, only they used the word soul instead of consciousness. They decided horses and black people did not have souls. There was no reasoning behind it Lack of a soul was just as excuse to mistreat. I think we should error on the side of presuming consciousness in AI.

~ Roedy (born:1948-02-04 age:68)

Consistency

If you are writing a novel, every time you repeat yourself, you should find a new way to say it. However, when you are writing a computer program you must strive for mind-numbing consistency.

~ Roedy (born:1948-02-04 age:68)

Consistency

Keep it consistent.

~ Roedy (born:1948-02-04 age:68)

Even if your program is wrong, if it is consistent, it will be much easier to fix.

Consistent Vocabulary

In programming and documenting programs, keep vocabulary consistent and precisely defined! Variation in vocabulary to relieve the tedium is for novels.

~ Roedy (born:1948-02-04 age:68)

Constant Refactoring

If you don’t constantly refactor and improve your code as you maintain it, it will deteriorate.

~ Roedy (born:1948-02-04 age:68)

Cooking Machines

Eventually there will be intelligent cooking machines. They will ask you to feed in each ingredient and tell you when you have added enough. It will take it from there, chopping, mixing, cooking… The catch is some will be so anal the machine will be programmed to dispose of any excess food above the precise amount requested.

~ Roedy (born:1948-02-04 age:68)

Corrupt Science

It is not science when you can predict the outcome of an experiment by who is paying for it.

~ Roedy (born:1948-02-04 age:68)

Cosmic CRTC (Canadian Radio and Television Commission)

Imagine some drunk set up a Woodstock-sized sound system in his back yard, then one night screamed out Kin ennybuddy hear me? I think mankind will get a similar reaction to its babbling inane sitcoms and simulated rapes and murders on all radio frequencies to the cosmic neighbourhood.

~ Roedy (born:1948-02-04 age:68)

Cost of RAM (Random Access Memory)

I am so old, I can remember the day when the cost of RAM first dipped below one million dollars a megabyte. It was in 1979 with the announcement of the IBM 4300 mainframe. As of today 2014-07-04, I can buy RAM for $10 US a gigabyte, which is about a penny a megabyte. Programmers of my generation still code as if it were costly.

~ Roedy (born:1948-02-04 age:68)

Craving Power

In former times, people who craved absolute power became gangsters. Today, they become computer programmers.

~ Roedy (born:1948-02-04 age:68)

CSS (Cascading Style Sheets) Side Effects

Coding CSS is like playing Whackamole. Every time you fix a problem in CSS rendering, your fix often has a side effect that creates a new problem somewhere else. Perhaps future CSS editing tools will show you those side effects immediately.

~ Roedy (born:1948-02-04 age:68)

CSV (Comma-Separated Value)

The odd thing about CSV files is that they are 3 times simpler to write than to read.

~ Roedy (born:1948-02-04 age:68)

Cursors

When you are editing text you need fine motor control and excellent eyesight to select just a few letters or to place the cursor insertion point between two letters. It is especially difficult with narrow proportionately spaced letters. From the point of view of Fitts’ law, this is not good design. You need a fat target area to be able to hit it quickly and accurately. Perhaps what could happen is the type could shrink slightly and add extra space between the letters during selection. This would give you a fatter target region between letters.

~ Roedy (born:1948-02-04 age:68) Fitts’ Law click to watch

Cyberattack

There are two ways another country could defeat the United States. One of them is to subtly corrupt all the major computer operating systems.

~ Roedy (born:1948-02-04 age:68)

Danger of New Software Tools

The biggest and most unpredictable delays in a project come when learning to use a new software tool.

~ Roedy (born:1948-02-04 age:68)

Dark Matter

My intuition says that this search for dark matter is going to turn into a wild goose chase like the search for ether. Surely, if dark matter existed we would have seen a bit of it already in our particle accelerators. I suspect that Newton’s law of gravity is not quite true.

Newton’s law of gravity

It could be that larger masses have a bigger effect that you would expect from linearly extrapolating small ones. It could be that gravitational effects fall off slightly more slowly than Newton predicts. These effects would look like extra unexplained mass at large distances. Keep in mind that I am a rank amateur when it comes to cosmology. I am just hoping for a lucky guess I told you so.

~ Roedy (born:1948-02-04 age:68)

I have since learned, they are pretty sure my idea is wrong.

The Day 0 Problem

The problem of 0-based vs 1-based indexing bedevilled even the early Christians. According to the myth, Jesus died on a Friday, spent Saturday in a tomb and came back to life again on Sunday.

Looked at with traditional 1-based think, Friday was day 1 and Sunday was day 3. Jesus came back to life on the third day, so he was dead for 3 days. In other words he spent some time being dead on three different days.

Looked at with modern 0-based think, Friday is day 0 and Sunday is day 2. Subtracting 2-0, Jesus was dead for 2 days.

Looked from the point of view of a child, Jesus was dead for 2 sleeps, Friday night and Saturday night, which jibes with 0-based thinking.

I drove my father crazy with this ambiguity:
me: How long is it until Christmas?
Dad: Two days.
me: Is that counting today? Is that counting Christmas?
Dad: Don’t think about it that way. You will just get confused. Just think 2 sleeps instead of 2 days.
me: Ok, but what is it really? There are four possible ways of doing it. They could not counted either, counted both, counted just the starting day or counted just the ending day. Which one did they pick?
Dad: a huff of exasperation (very uncharacteristic for my Dad. That it why I remembered the event all these years.) Nobody but you thinks about it that way.
[Dad might have said This year Christmas falls on a Friday. On Christmas Friday it is 0 days till Christmas. On Thursday it is 1 day till Christmas. On Wednesday it is 2 days. Work it out. Think about sleeps. You count the starting day sleep, the intermediate day sleeps, but not the last day sleep because you don’t care about the sleep Christmas night. This way of thinking does not work for 0 though. When you get older and learn division, you can count the hours till you open your presents and divide that by 24 to get the days to wait. When you get really old you will write a computer program to compute when holidays fall in any given year. That’s how we knew Christmas was on a Friday in 1953.]
Later…
me: Hmmm… Mr. Emerson told us at school (Malvern house private school first grade, or form A as they called it) that Jesus was dead for 3 days which according to you means 3 sleeps. So that means he came alive again on Monday, right? with sleeps on Friday, Saturday and Sunday, right? But Mr. Emerson insisted that Jesus came alive again on Sunday. I asked him about his mistake but he said there was absolutely no question about it. He assured me that there is nobody who thinks Jesus came alive again on Monday. How could everyone fail to notice the mistake? If Jesus came alive again on Sunday, then why is Monday the holiday? Besides, dead things rot. They don’t come back to life. I think they made this whole thing up. Nothing to do with Jesus makes any sense and everyone pretends it does!

~ Roedy (born:1948-02-04 age:68)

Dealing With Overwhelm

When you are programming and you feel paralysis from overwhelm:

~ Roedy (born:1948-02-04 age:68)

Death of Languages

Whenever you have several different ways of doing the same thing, e.g. recording on video tape, recording on DVD, weights and measures, languages, eventually one scheme will win out. We are spending huge amounts of money for translation in service of our polyglot world. We are holding onto our 7000 odd languages primarily for emotional reasons.

~ Roedy (born:1948-02-04 age:68)

Decline of the Body

One of my favourite ways of getting depressed is to use Google Image to look up an elderly famous person and study the slow decline of their body over their lifespan.

~ Roedy (born:1948-02-04 age:68)

Defenceless Internet

Ironically, even though the Internet was created by the US military [ DARPA (Defense Advanced Research Projects Agency) ] to withstand a nuclear attack, it is almost defenceless against malice from any of its users.

~ Roedy (born:1948-02-04 age:68)

Definition of a Program

Programs are even more importantly narratives about your intentions addressed to fellow programmers (including your later self) than they are commands to a computer.

~ Roedy (born:1948-02-04 age:68)

Deliberate Squandering

Progress in computing comes most easily by inventing new ways to squander once scarce resources.

~ Roedy (born:1948-02-04 age:68)

Delimiters

One of the inconsistencies in Java is that delimiters come in pairs e.g. {[()]}, but the same symbol " is used to both begin and end a String literal.

~ Roedy (born:1948-02-04 age:68)

Designing A Filter

If you were designing a essentially square air or water filter, there are eight possible ways the user could attempt to install it. Either you should design it so it does not matter which way it goes, or so that it will only go in the right way and that right way is obvious so the user gets it on the first try. Brita violates this principle with their water filters. They are subtly asymmetrical so that only one of four ways works. The other three almost work.

~ Roedy (born:1948-02-04 age:68)

Diagnostic Pill

Coming soon will be a diagnostic pill you swallow. It could send images of your GI tract. It could measure pH. It could sample bacteria and chemistry. Eventually we will have smart pills that exude medication as needed. They might even do diagnostics and withhold any medication if it is not called for.

~ Roedy (born:1948-02-04 age:68)

Digital Cash

Most people are not looking forward to digital currency since it will mean a loss of privacy. The upside is a computer could look at your records and automatically compute your income tax.

~ Roedy (born:1948-02-04 age:68)

Digital Newspapers

I would have expected digital on-line newspapers to have been a financial bonanza for paper newspaper companies. Why?

However, digital newspapers are making less and less money every month. The basic problem is viewers refuse to pay for content and ad revenue is shrinking. There is too much competition from free news services. People no longer read just one paper. They sample a little from many papers all over the globe.

The Solution

There needs to be a global common subscription service. It costs perhaps $5 a month for light use of all papers. Or it might cost $0.30 per article. Ideally all papers on earth offer the service. The fee is collected by a surcharge to your IAP (Internet Access Provider) bill. The papers are reimbursed by the collection service based on aggregate traffic.

~ Roedy (born:1948-02-04 age:68)

Digital Quality

It is depressing that Internet TV and Internet phones are lower quality, slower and harder to use that the old analog systems they are supposed to replace.

~ Roedy (born:1948-02-04 age:68)

Disabling Comments

People who post videos on YouTube with comments disabled know their videos contain blatant untruths and do not want to be called on them.

~ Roedy (born:1948-02-04 age:68)

Disclosing Fees

On normal telephones a number beginning 900 warns you of fees and potential fraud. There needs to be ways to prevent surreptitious fees with cellphones. The fee has to be shown up front and the user has to OK payment. These services are primarily for duping and swindling naïve customers, especially children. There have to be ways to block such services entirely and to ensure all fees are fully disclosed up front. In general any extra cost fee needs to be divulged, possibly with an odometer.

~ Roedy (born:1948-02-04 age:68)

Discovering the Easy Science First

We discovered the easy science first. This seduced us into thinking the rest must all be equally as simple, expressible in one-line formulas, comprehensible to at least 10% of humanity.

~ Roedy (born:1948-02-04 age:68)

Disinformation

If we don’t start soon to create mechanisms to segregate the Internet’s untruth, the net will degenerate to almost nothing but disinformation.

~ Roedy (born:1948-02-04 age:68)

DNA Sampling

What are the benefits of taking a DNA sample of each infant at birth?

~ Roedy (born:1948-02-04 age:68)

Do the Overview First

Architects first draw up blueprints to document their intentions. Then they revise them as construction proceeds. Programmers imagine the way to construct programs is the reverse — draw the blueprints/comments after construction is finished and only if there is spare time.

~ Roedy (born:1948-02-04 age:68)

Document Intentions

Don’t worry about documenting what the code does. Document your intention for each method. Also document the values you intend each variable to contain. The code already perfectly describes what your code does, however, it says nothing about your intentions or the big picture.

~ Roedy (born:1948-02-04 age:68)

Don’t Computerise Thing Humans Do Best

In designing a computer system, you have to let the computers do what computers do best and the people do what people do best. I recall when designing a banking system explaining to the executives that computers are happy to file things in many different orders at once. They were delighted. It never occurred to them to ask for something that was clearly impossible in the world of paper files. On the other hand, they wanted us to implement intricate, constantly changing rules of thumb that people could handle in their sleep because in their view, this would be trivially easy to do, even if only marginally useful.

~ Roedy (born:1948-02-04 age:68)

Double Blind Studies Aren’t

Double blind studies have a fundamental flaw. In theory neither patient nor doctor is supposed to know who got the test medication and who got the placebo, but any ninny can tell if the pill he ate had no effect whatsoever. You need cleverer placebos that more closely mimic the actual drug offering similar side effects, tastes and odours.

~ Roedy (born:1948-02-04 age:68)

Double Six

When we were kids we used to play a board game called Monopoly that required throwing a pair of dice. As I recall, the most common throw was a double six. Yet my adult mathematical self says that should happen only 1 in 36 throws. IIRC (If I Recall Correctly) doubles gave you a extra throw. Is this faulty memory, selective memory of a pleasant event or some technique we kids had for controlling dice throws?

~ Roedy (born:1948-02-04 age:68)

Doubling Time

To work out the doubling time of an annual percentage growth, divide it into (100 ÷ ln(2)) = 70 e.g. 7%70 ÷ 710 years to double. So, for example, when electric power consumption was growing at 7% a year, we had to come up with double the generating capacity every decade. Further, every decade consumed more power than in all previous history combined. These are the consequences of simple arithmetic.

~ Roedy (born:1948-02-04 age:68) click to watch see lecture by Dr. Albert A. Bartlett

Download Corruption

It is fairly common for files to be truncated or corrupted when they are downloaded. Every such file should have its length and checksum embedded in a standard place in the header where an installer can automatically check it.

~ Roedy (born:1948-02-04 age:68)

Driverless Cars

I think driverless cars will became commonplace much sooner than most people expect. Further, cars that require drivers will be banned from most roads shortly thereafter. The benefits of driverless cars are not fully realised until you get all the relatively incompetent human drivers off the roads. Why?

~ Roedy (born:1948-02-04 age:68)

Driverless Cars

It is a considerably more difficult task to invent a driverless car that can coexist with human drivers and other driverless cars designed and manufactured by other companies than it would be to invent a driverless car that had to deal only with other driverless cars working to the same specification. To get to driverless cars, we must get over this hump. Then soon after, human-driven cars will be abandoned and all driverless cars will converge on the same navigation and communication system, but we cannot leap directly to this much simpler, safer, more efficient system.

~ Roedy (born:1948-02-04 age:68)

Driverless Cars

When computers drive cars:

~ Roedy (born:1948-02-04 age:68)

Easy First

When tackling a difficult programming task, do the easy work first. It is not lazy, since you will do all the work eventually. Each piece you complete removes some of the complexity, leaving the remainder simpler to tackle. Each piece you complete quietens your mind from fussing over some of the details of the solution. Each component you complete gives you an improved tool to think about the big picture with. As you churn away at the easy stuff, your subconscious has time to chew on the difficult parts. The biggest block to productivity is trying to solve the whole problem all at once. You go tharn like a deer in the headlights incapable of action.

~ Roedy (born:1948-02-04 age:68)

Easy Intelligence

The oldest hominid, Sahelanthropus tchadensis, lived about 7 million years ago in the Djurab Desert in Chad. It had a quite small brain case. DNA replicates extremely accurately. There have been only a handful of successful mutations in the genes for the brain since then. This is good news for AI researchers. It looks as though human intelligence required little more than growing various regions of the brain. This suggests, once we figure out how a mouse brain works, we will have nailed the theory. We will then have all we need in principle to create an intelligence superior to our own.

~ Roedy (born:1948-02-04 age:68)

Effect of Facebook

20% of all divorce petitions in the USA now cite Facebook as a cause for the breakup.

~ Roedy (born:1948-02-04 age:68)

Einstein’s Time

Einstein’s picture of time is that it is more like space, past, present and future all laid out, all existent at once. We move through time experiencing it like frames in a movie, not necessarily traveling together in sync. This implies the future is already determined, just as it is in a movie.

~ Roedy (born:1948-02-04 age:68)

Electric Scales

It would be nice if electric body weight scales would freeze the display for a few seconds after the person steps off to allow time for a near-sighted person to bend down and read the display without glasses.

~ Roedy (born:1948-02-04 age:68)

Electronics Create Passivity

The electronics which provide us with non-stop entertainment and music has made the population passive. In my parent’s day, every home had a piano and at least one person in the house would play it daily. People sang. My parents and their friends would roll back the carpet and dance. Today people are cowed by Glenn Gould and Whitney Houston, even though they are not even living.

~ Roedy (born:1948-02-04 age:68)

Email implied BCC

The public still have not caught on that every email has an implied BCC: to all the world’s newspapers and police forces.

~ Roedy (born:1948-02-04 age:68)

Email is a Kludge

Email was invented overnight as a demo. Issues like spam, spying, spoofing, scams, forgery and guaranteed delivery were irrelevant for a demo where only five people on the world had email addresses. This primitive email scheme was never intended to replace snail mail. It needs a major redesign to make it secure, reliable, efficient and easy to use for it to be suitable as a global public electronic mail system.

~ Roedy (born:1948-02-04 age:68)

Email Needs a Redesign

Email needs a major redesign because it is even less reliable than snail mail, has more junk mail/spam and it is so easy for others to forge your signature.

~ Roedy (born:1948-02-04 age:68)

Email Privacy

Expecting those who help deliver your emails to never read them is like trusting everyone who works for the post office never to read your postcards. If you want privacy, you must at a minimum encrypt your emails. It is like putting them in a translucent envelope.

~ Roedy (born:1948-02-04 age:68)

Emails Lower IQ

Hewlett Packard discovered that interrupting phone calls and emails dropped IQ by 10 points on handling the interrupted activity. This is a bigger effect than smoking marijuana.

~ Roedy (born:1948-02-04 age:68)

Emails Lower Your IQ

Humans are not particularly good at multi-tasking. Even leaving your email on to interrupt lowers your IQ by 14 points, according to Harvard professor Tal Ben-Shahar. The key to programming is removing from your mind everything that you don’t you need for the microtask at hand. One way to remove mental clutter is to write it down in an electronic todo list, so you can temporarily stop thinking about it. Another is to play music to drown out distracting sounds. Another is writing small modules and classes so you don’t need to juggle many facts to complete the code. Less distraction lets you concentrate.

~ Roedy (born:1948-02-04 age:68)

Empty Space is Not Really Empty

Even totally empty space has mass.

~ Roedy (born:1948-02-04 age:68)

Encapsulate!

If you have a file naming convention, try to encapsulate it in one place in your code. Then you can easily change it later. By Murphy’s law, then you will never have to.

~ Roedy (born:1948-02-04 age:68)

Encapsulate!

The key skill in programming is encapsulation. Then your code is easy to debug, easy to change, easy to understand and consistent. It is robust. It will not break if somebody tinkers with it. Code without encapsulation is like a pile of jackstraws.

~ Roedy (born:1948-02-04 age:68)

Encapsulate!

When in doubt, encapsulate.

~ Roedy (born:1948-02-04 age:68)

Encapsulate!

You encapsulate not just to save typing, but more importantly, to make it easy and safe to change the code later, since you then need change the logic in only one place. Without it, you might fail to change the logic in all the places in occurs.

~ Roedy (born:1948-02-04 age:68)

Encapsulate! Why?

~ Roedy (born:1948-02-04 age:68)

End the Ambiguity

Imagine if the designers of the English language had decided there would be no need for the words puberty, graduate, marry, retire or die. The word end would do for all such purposes. You would imagine it could lead to some confusion.

Similarly, when the designers of C (Kernighan and Ritchie), C++ (Stroustrup) and Java (Gosling and Joy) designed their computer languages, they use an identical symbol } to mean end if, end block, end loop, end method, end class

~ Roedy (born:1948-02-04 age:68)

The End of Windows

The days of windows are numbered. I don’t mean the ugly OS (Operating System). I mean panes of glass covering holes in buildings. They leak/waste too much energy, provide too easy access for criminals, are too vulnerable to extreme weather and make it too easy to spy on the occupants. Instead, they will be covered on the outside with solar panels and on the inside with large display panels (something like TVs). They might display the view outside, or they might display the view from a house on a desert island or, Fahrenheit 451 style, soap operas.

~ Roedy (born:1948-02-04 age:68)

Entropy Creator

If you don’t have enough things to feel guilty about already, consider that as a lifeform, you are helping the universe run down faster by creating entropy.

~ Roedy (born:1948-02-04 age:68)

Err on the Side of Too Fine

It is a lot easier to combine things later that have been too finely categorised than to split things later whose are categories are too coarse.

~ Roedy (born:1948-02-04 age:68)

Error Detection

The art of strongly-typed language design is largely arranging that errors are automatically detected as soon as possible in the compose, compile, run cycle.

~ Roedy (born:1948-02-04 age:68)

Essay Consolidator

I am looking forward to they day when AI can consolidate two essays keeping all the points in each, but eliminating the redundancy. It would highlight the discrepancies. You could use this to collect a mountain of information on the web and consolidate into something manageable. You could use it to write an essay combining thoughts from many of your own previous essays, then fine tune that manually.

~ Roedy (born:1948-02-04 age:68)

Estimating

People of the past have always underestimated what people of the future would accomplish, but they have always underestimated how long before a given task would be accomplished. Presumably, that is still true.

~ Roedy (born:1948-02-04 age:68)

Event Featuritis

The Al Gore Climate Change event on 2011-09-14 was a classic example of what not to do with a public global event. The poor thing died of featuritis. It presumed the audience consisted entirely of 14 year old nerds. Most people wanted to either find where the closest live gathering was, watch a live feed, watch some videos, or play with something that would teach them about global warming. That material was probably in there somewhere, but I would guess 70% people visiting left in disgust before finding it. It felt like being a squirrel in a hamster run, going around and around in circles following links that just got you back to where you started.

~ Roedy (born:1948-02-04 age:68)

Every Language Is Good For Something

For nearly every programming language, there exists a task for which it is optimal.

~ Roedy (born:1948-02-04 age:68)

The Evil Behaviours Capitalism Generates

Capitalism has spurred the competition that makes CPUs faster and faster each year, but the focus on money makes software manufacturers do some peculiar things like deliberately leaving bugs and deficiencies in the software so they can soak the customers for upgrades later. Whether software is easy to use, or never loses data, when the company has a near monopoly, is almost irrelevant to profits and therefore ignored. The manufacturer focuses on cheap gimmicks like dancing paper clips to dazzle naïve first-time buyers. The needs of existing experienced users are almost irrelevant. I see software rental as the best remedy.

~ Roedy (born:1948-02-04 age:68)

Examples Please

An example (complete and annotated) is worth 1000 lines of BNF (Backus-Naur Form).

~ Roedy (born:1948-02-04 age:68)

Exciting Hiss

It is amusing that the greatest discovery in cosmology is a steady hiss (the background radio radiation from the big bang).

~ Roedy (born:1948-02-04 age:68)

Expectations

Every compilable program in a sense works. The problem is with your unrealistic expectations on what it will do.

~ Roedy (born:1948-02-04 age:68)

Exponential Growth

If anything grows at 5% a year, in 70 years it grows 32-fold. So, for example, if your city council aims for 5% industrial/population growth a year, in one lifetime it would need 32 times as many sewage treatment plants as it has today.

~ Roedy (born:1948-02-04 age:68) click to watch see lecture by Dr. Albert A. Bartlett

Extended Acuity

We have artificially extended the acuity of our vision, hearing, temperature, smell and taste. What’s next must be touch and after that senses for which we have no primitive version. GPS (Global Positioning System) might be the beginning of a sense that lets us keep track of the location of every object and person in real time.

~ Roedy (born:1948-02-04 age:68)

Extortionware

I was surprised to discover the NSA (National Security Agency) gets hit by the same Trojans, viruses and attacks as everybody else. There is an extortionware virus that has been blackmailing and threatening people for 6 months without the NSA or anyone else taking them down. Surely by now, enough damage has been done to justify creating new CPU (Central Processing Unit) designs and an OS for which is it impossible to write a virus. See my dark room proposal for some ideas how it might work. Trying to identify every new virus and sending out new virus signature files 6 times a day is a pathetic, inept response.

~ Roedy (born:1948-02-04 age:68)

Extra Terrestrial Life

The universe is so huge, I suspect it almost certain that any conceivable logically consistent lifeform exists. We reject such ideas based solely on the fact we have not yet observed extra terrestrial life.

~ Roedy (born:1948-02-04 age:68)

Eyeball Blocking

One of my big complaints with the Java computer language is you can’t tell where some source code group ends without a detailed analysis of every {} inside the group. The } is overloaded for so many purposes. Is each { or } inside a comment or String or char literal? If so, it does not count in balancing. The eye cannot analyse such complicated and deep nesting. You must to use a code-tidying tool to indent, which the eye can understand, but often the indentation and {} nesting are out of sync, at the very time you need the indentation most — when the {} are unbalanced.

I hope some day the IDE (Integrated Development Environment) will mark the ends of ifs, loops, methods, classes… with some subtle but distinct visual clue in addition to indentation.

Possibilities:

~ Roedy (born:1948-02-04 age:68)

Facebook Is

Facebook is the ceramic trinket gift shop of the Internet.

~ Roedy (born:1948-02-04 age:68)

Facebook Is

is the McDonalds of the Internet.

~ Roedy (born:1948-02-04 age:68)

Facebook Is

is to the web as the pigsty is to architecture.

~ Roedy (born:1948-02-04 age:68)

Facebook Incompetence

The Facebook page is deliberately designed to distract the user.

~ Roedy (born:1948-02-04 age:68)

Facebook Security Hole

Through staggering incompetence, Facebook has created a huge security hole. Almost any website you go to now-a-days has a button
logintofacebook
If you click it, it is supposed to take you temporarily to Facebook to login, where you key your universal-pass to the Internet, aka Facebook password. However, any unscrupulous website can just pretend to take you to the Facebook website and trick you into handing your Facebook password to them. If you have been foolish enough to reuse your Facebook password for banking, a massive identity theft has just been aided and abetted by Facebook, without any active involvement on their part. What can you do to protect yourself?

~ Roedy (born:1948-02-04 age:68)

Fail on Warranty Expiry

One of the curses of the computer age is manufacturers now design home appliances to die on the very day the warranty expires. It is deliberate waste in the service of mindless profit.

~ Roedy (born:1948-02-04 age:68)

Failure of SETI (Search for Extra Terrestrial Intelligence)

SETI looked at only a tiny fraction of the wavelengths and directions. Earth has been around for 4.54 billion years, yet only for the last 50 years or so have we been sending radio signals into space. Our signals have propagated only in a sphere 50 light years in diameter. No one outside that bubble can see them. If we are lucky, we will continue another 100 years before we go off the air. If other planets are like us, they have life, but will emit radio waves only a tiny percentage of their lifespan. A squirrel that dances about making itself known on the forest floor will not be long for this world. I suspect wise civilisations will have the sense to maintain radio silence. To avoid detection, other civilisations will use fibre optics and laser beams for communications.

~ Roedy (born:1948-02-04 age:68)

False Assumptions

In problem solving in computers, really nasty problems often crack when I identify an assumption that might not be true after all. The logic is fine. The problem is glossing over an obvious fact.

~ Roedy (born:1948-02-04 age:68)

Farmville as Terrorist

The Facebook Farmville game has done more to undermine the western economies than all the terrorists in history combined.

~ Roedy (born:1948-02-04 age:68)

Faux HTML (Hypertext Markup Language)

Programmers love to create simplified replacements for HTML. They forget that the simplest language is the one you already know. They also forget that their simple little markup language will bit by bit become even more convoluted and complicated than HTML because of the unplanned way it grows.

~ Roedy (born:1948-02-04 age:68)

Feeling Pain

The most important thing to know about an animal or an artificial intelligence is to what extent can it feel pain. If it can, I am morally bound to treat it gently. I don’t mean can it avoid harmful stimulus. I want to know if there is something in there suffering.

~ Roedy (born:1948-02-04 age:68)

File Trouble

Most troubles with files come not with their contents, but with their placement.

~ Roedy (born:1948-02-04 age:68)

Filtering the Torrent

In future, people will select social networks based more on who is not present and which topics are not discussed. They will expect the network to filter the torrent down and find them nuggets of interest to them.

~ Roedy (born:1948-02-04 age:68)

Firing Your Customers

You can’t very well fire your customers, no matter how incompetent they are.

~ Roedy (born:1948-02-04 age:68)

First Contact

The first extraterrestrials to contact earth will be from the cosmic FCC (Federal Communications Commission) demanding we stop our profligate and inane broadcasting.

~ Roedy (born:1948-02-04 age:68)

Fix the Damn Connectors!

If I were running the world, one of the first things I would fix are connectors. For example, each voltage of AC (Alternating Current) adapter would be colour coded and embossed in the plastic of both sides. Ditto for AC/DC. Each connector voltage would have standard size and geometry so you could not mismatch connectors. Stereo audio components would be digital. You can connect any component to any other with single cable. So long as everything is connected however indirectly in some way, it works.

~ Roedy (born:1948-02-04 age:68)

Fix the First Bug

If you know about a bug, don’t waste time trying to explain all your program’s anomalous behaviour in terms of it. Just fix it and often many mysterious behaviours will disappear miraculously as a side effect.

~ Roedy (born:1948-02-04 age:68)

Fixing Ambiguity

If A writes an explanation for B and B cannot understand it, or misinterprets it, usually, A will blame B 100% for the situation because B is an idiot. In turn B will blame A for 100% of the situation for being incapable of writing unambiguous prose. The bad feelings in both directions don’t do a thing to prevent a recurrence.

The goal is to modify the text so that most subsequent readers will easily and correctly understand it.

Unfortunately, it does almost no good to tell a writer a paragraph they wrote is ambiguous. They will simply tell you which interpretation they intended and leave the text as is. Your best bet to prod a correction is to offer a suggested unambiguous wording. Doing this work for the writer helps explain your objection clearly and gives them a labour-free way of fixing the text to your satisfaction.

~ Roedy (born:1948-02-04 age:68)

Fixing Obscure Writing

When you read a manual that is almost useless, sometimes the problem is the author is unconsciously writing for someone equally knowledgeable to himself. He presumes the reader already understands the overall topic and just needs a little refreshing on the fine details. Such authors are generally quite contemptuous of their readers. Pretty much all you can do is write your own overview manual or introductory tutorial.

This is why people who are not expert often write the best explanations. They don’t make so many assumptions about what the reader already knows. Byte Magazine once asked me to write an article on WANs (Wide Area Networks). I said, But I don’t know the first thing about them. They replied We know that. We know we will get an article all our readers can understand.

~ Roedy (born:1948-02-04 age:68)

Flexible Humans

If you ask an intelligence, Give me some verbs used in a mathematical context that begin with r. The computer might fail because it had not been prepped in advance to answer such questions. A human might fail because he lacked the basic information.

~ Roedy (born:1948-02-04 age:68)

Folklore is No Guide To Truth

If folklore claimed neutrinos existed, scientists still would not have found them.

~ Roedy (born:1948-02-04 age:68)

For-Pay Internet

A for-pay Internet should be simple enough and cheap enough that you simply ignore payments. If you allow a variable rate, then there has to be a mechanism to warn you of expensive pages. This would allow all kinds of small specialist sites to make money.

~ Roedy (born:1948-02-04 age:68)

Forget Adding Manpower

Doubling the size of a team will probably make it produce even more slowly. The problem is the more team members, the more secrets, the less each team member understands about how it all fits together and how his changes may adversely affect others.

~ Roedy (born:1948-02-04 age:68)

Fragility

If you install Internet Explorer 11, your older version of the Microsoft Outlook email program will start behaving strangely and sending first drafts of emails instead of the finished versions. If mammals were similarly fragile, a son buying a skateboard would cause his mother to start baking sneakers in the oven.

~ Roedy (born:1948-02-04 age:68)

Freedom to Harm

When heavy drinkers demand more access to booze, they justify this by saying its a free country. What they mean is they believe they have a right to annoy other people by driving around drunk and shouting at the top of their lungs. These people are in denial about what misery they make for others, especially their own families.

~ Roedy (born:1948-02-04 age:68)

Frequent Cleaning

If you give your kitchen floor a quick steam mop every few days, you will find you never have to get out buckets and brushes for deep cleaning. Similarly, if you keep your code tidy, refactoring as you go, you probably won’t need major rewrites.

~ Roedy (born:1948-02-04 age:68)

Future AI

I can see three possible futures for artificial intelligence.

~ Roedy (born:1948-02-04 age:68)

Future Dentistry

Dentistry is very expensive and labour intensive. Future dentistry will be done by biting down on robotic head that works inside your mouth in the dark (except for its own light). This means if you move your head around it will not affect the tools. It will do several restorations and plaque removals at a time. It will work much more quickly than a human dentist. Your teeth will be polished smooth.

~ Roedy (born:1948-02-04 age:68)

Future Desk

A desk a device to store objects and make it easy to find them. It also holds things in position for you to read them or write on them. Imagine an intelligent desk, that holds the objects you need exactly at the right place, not necessarily on a common level surface. Imagine a small team of people who held books in the air at the correct page for you. Another would hold you monitor at the correct height and distance, perhaps moving it about a bit to exercise your eyes. You could call out like a surgeon pen, blank DVD dictionary and it would appear at the usual place for that object. Stuff you were not using would be automatically filed away clearing your workspace. Think how many desks there are in the world and how much some of the people are paid each hour who use them. Surely even a small improvement in efficiency would have a very short payback time.

~ Roedy (born:1948-02-04 age:68)

Future Problem Solving

Computers are good at problems like playing chess. The goal is clear. The solution is basically try-all-possibilities in an intelligent way so you don’t really have to look at all possibilities. Computers are much faster, more dedicated and able to multitask than humans. I predict by 2030 that computers will be rapidly answering long standing questions in mathematics, physics and chemistry. Humans will mostly pose questions, no longer answer them. A human might pose a mathematical conjecture and a computer will tell him the odds it is true and then search for a proof it is true. A physicist may ask a computer to seek for a mathematical theory that explains large amounts of data.

~ Roedy (born:1948-02-04 age:68)

Future Sense

What is a sense? It is a biosensor, some nerves to transmit digital asymmetric data signals and an area of the brain dedicated to analysing the signals, then, the most mysterious of all — generating a subjective experience. In future, we could add extra senses. The first might be like simple fuel gauges that monitored our blood for levels of electrolytes, vitamins, sugars, mineral and nutrients. We already have such simple natural senses e.g. satiety, hunger, thirst, full bladder and sleepiness. Then we might add ones to let us sense other parts of the electromagnetic spectrum such as ultraviolet, infrared and gamma rays. Some of our senses may be used for communication and remote information gathering. Doing nothing could be much more entertaining in future than it is now with all these extra data sources.

~ Roedy (born:1948-02-04 age:68)

Future Skills

The future belongs to those who can ask computers cogent questions. The ability to memorise large numbers of facts will join snappy arithmetic fundamentals as obsolete skills.

~ Roedy (born:1948-02-04 age:68)

Genetic Coding Efficiency

The human genome has about 3 billion base pairs. It takes about 750 megabytes to encode them in a computer. In contrast, a small hard disk for a desktop computer is about 120 gigabytes or 120,000 megabytes or 160 times bigger than required to contain the a human genome. In contrast, the specifications for an Airbus take about 1 terabyte or 1,000,000 megabytes or 1333 times more than the human genome. Yet humans exhibit far more complex behaviours than Airbuses. This means nature is still way ahead of us in the efficiency of its blueprints.

~ Roedy (born:1948-02-04 age:68)

Genius

The key characteristic of a genius is the ability to block out all concerns except the problem at hand for months at a time. This is why they are sometimes considered absent minded.

~ Roedy (born:1948-02-04 age:68)

Getting Unstuck

When you get stuck trying to solve a computer program:

  1. Go into the kitchen and make coffee.
  2. If that fails, go for a walk.
  3. If that fails, take a nap.

Why? To avoid being swamped with details, to see the big picture, to allow in some random noise to kick you out of your thinking rut.

~ Roedy (born:1948-02-04 age:68)

Gift of the First

The first person to do a thing (e.g. swimming the English Channel, making a colour photograph) does a great service to others simply by showing a problem is soluble. Even if he does not reveal in detail how he did it, that will encourage imitators not to give up.

~ Roedy (born:1948-02-04 age:68)

Gilding a Pig

Because of the powers of HTML to make any nonsense look good, the web tarts up every idea to look equally valid. In past, only academics published. Now, any teen living, sitting in his underwear in his mother’s basement, can look equally prestigious. This means the cranks get far more credence and air time than they used to.

~ Roedy (born:1948-02-04 age:68)

Government Patents

It is improper for science funded by the taxpayer to be kept secret or patented since it is owned by all the people. It would be proper to patent it, but only to keep it free, to stop someone else patenting it.

~ Roedy (born:1948-02-04 age:68)

Hackers

Every day hackers break into corporate websites, databases, banks and governments. Viruses attack millions of personal computers, often demanding ransom for files. We have been putting up with this since the early 1970s. Attacks are motivated by malice, curiosity, greed, terrorism… The remedies we use are laughingly incompetent. Why do we put up with them? Industry sells us anti-virus tools that catch only a minute fraction of the problems and are obsolete within minutes of being installed. They have a captive audience who must continue to pay for multiple updates a day. We have to demand a major overhaul in the design of chips and operating systems to making hacking and viruses impossible. It has to be impossible for a program to interfere with anything on the computer but its own authorised files, including the registry. Every program needs to be digitally signed to identify its author. No program should be modifiable except by its registered author.

~ Roedy (born:1948-02-04 age:68)

Hard Bugs

The longer it takes for a bug to surface, the harder it is to find in the code.

~ Roedy (born:1948-02-04 age:68)

Hard Copy Spam

Once, cranks wrote you with a mimeographed sheet mastered with a manual typewriter. Today their works look as finely typeset as the most prestigious magazines.

~ Roedy (born:1948-02-04 age:68)

Heartbleed

You probably have heard the panic about the Heartbleed security bug. Thankfully it does not attack PCs (Personal Computers). However, about 2/3 of the servers on the Internet are vulnerable — the ones that use OpenSSL to handle https/SSL secure communications. Heartbleed allows any knowledgeable person to break into the server and look around and take away any data it finds — usually passwords, data or identity information. That person can then get malicious with that information. Servers should shut down until they can correct the problem. The firestorm is yet to come when the pirates start exploiting the data they have collected. mindprod.com does not use OpenSSL and stores no private information on its server so is not at risk from Heartbleed. source Who got hit.

~ Roedy (born:1948-02-04 age:68)

Help Yourself

You may have noticed how quotations pop up at random all over my website, aimed at stimulating thinking about computer programming. You are welcome to use any or all of the quotations in my quotation collection in a similar way on your own website. To get your point across these days, you have to shrink it to a sound bite.

~ Roedy (born:1948-02-04 age:68)

Helping the Blind See

Blind children instinctively click their tongues and listen to the echoes. From this, like bats, they can get an idea where the walls are near them. Skilled clickers can see as well as sighted humans can with peripheral vision. Unfortunately, parents and teachers hush the children because the clicking annoys others.

I suggest a bit of technology to send out ultrasonic clicks, the way dolphins do, and convert the echoes back into human sonic range. Ideally, the unit would be compact enough to fit in the ear and not interfere with ordinary hearing. Back in 1979 I worked with Dr. John Lilly doing something similar with dolphins, using a microwave-sized SD-350 FFT (Fast Fourier Transform) analyser. But today it might be possible to miniaturise.

~ Roedy (born:1948-02-04 age:68)

Homing In

There is a general problem solving technique I call homing in. When you don’t know how to solve a problem, you solve a simpler problem instead. Then with that solution in hand, you try solving a problem closer to the actual one. You use these simpler problems as stepping stones to the complete solution. Here is a trivial example: A radio announcer says We have been on the air for 25 years When did the show start? Let’s assume that the subtraction 2012-25 is too difficult to do in your head. Say to yourself, if it were the year 2000, the show would have started 25 years earlier in 1975. But if it were the year 2010, 10 years later, it would have started it in 1985. But it is actually 2012, two years later still, so the show started in 1987.

~ Roedy (born:1948-02-04 age:68)

How Did We Evolve an Computer Talent?

It is a wonder that anyone has any skill at all for computer programming since our genetic capabilities evolved in a computer-free environment.

~ Roedy (born:1948-02-04 age:68)

How I Changed History

The biggest effect I have had on the planet was likely in 1985. I had a conversation with the head of Tata, the General Motors of India. We talked about India’s future as a software giant. I enthusiastically pressed the case that India could become the leading software exporter in the world. I pointed out that:

My intention was to level the playing field between the west and the third world.

At the time, the Indian government was extremely protectionist, resulting in $5 US blank floppy disks and some of the worst PC (Personal Computer) hardware I have ever encountered and the AC power was flaky a mixture of frequencies and voltages and AC wiring typically had malicious intent. Since then, Tata has become a software giant in its own right. I like to think my ebullient conversation about India’s future helped give him confidence to pursue that tack. The fact I had come from the other side of the world enhanced my prestige and authority considerably, not the mention that people at the Hunger Project had promoted me as Einstein squared.

~ Roedy (born:1948-02-04 age:68)

How Many Ideas?

How many ideas have you had in your lifetime that other people copied? This is not the same thing as the number of ideas you had you think the world should adopt.

~ Roedy (born:1948-02-04 age:68)

How Many Senses?

Humans have about 10 million sensory neurons. Each one is tasked with monitoring some specific aspect of the universe. So you might say we have 10 million senses. Tradition says we have only 5. Scientists say we have at least 25, including things such as proprioception (awareness of where all the limbs are), hunger, thirst and balance.

~ Roedy (born:1948-02-04 age:68)

HP (Hewlett Packard) Printer Interface

HP makes a dozens of quite different printer models all called the 1200. Mine has a GO button, which is not needed since it runs anyway if nothing is blocking it. However, it has no Stop, Flush or Off button. To stop a runaway print job, you have to pull out the plug.

~ Roedy (born:1948-02-04 age:68)

Hubble

The Hubble telescope project produced three wonderful results:

~ Roedy (born:1948-02-04 age:68)

Humans = Ebola

Humanity destroys everything it touches. Looked at from the point of view of other species, Homo sapiens make Ebola look friendly. Why do humans imagine that hyper-intelligent AI will fail to notice that?

~ Roedy (born:1948-02-04 age:68)

The Hunger

Had I been born in 1880, I would have suffered from a nameless craving. I would not understand what the hunger was. It was the desire to program computers.

~ Roedy (born:1948-02-04 age:68)

Ideas

Ideas are like seeds, abundant and not particularly valuable. The only ideas we value are the ones people have taken to fruition.

~ Roedy (born:1948-02-04 age:68)

For example, I put a fair bit of energy into the student project outlines. To my knowledge, no one has ever implemented any of the projects, except myself.

IDEs (Integrated Development Environments) behaving like Spell Checkers

IDEs need to work more like spell checkers. At any point when you are editing code, there are only a very small number of tokens you could conceivably type. Potentially the IDE could know what’s in scope, the possible target types of the current context, whether the current context supports instance or static etc. It you gave the IDE the tiniest hint as to which possibility you wanted by typing a few letters that occur in the name, or are roughly spelled like some letters embedded in the name, it could narrow down the possibilities to one or two, where you could select between three names by typing 1, 2 or 3. It might takes some getting used to, but I suspect if the IDE were responsive enough, you might be able to crank out code five times faster and have it compile first time, every time. The IDE could handle all the (), [] and {} itself, adjusting them as necessary. They would just appear as a side effect of typing an if or for.

~ Roedy (born:1948-02-04 age:68)

Immortality

Wealthy people seeking immortality might consider getting their genome DNA sequenced. It might cost $100,000 in 2015, but may be only $1,000 in 2025. There is probably a good change that the genome could be reconstituted within the next century. The genome could fit on a USB fob. It is just computer data. It can be duplicated many times. It has a much better chance of surviving than a cryogenic severed head. You can do it any time while you are alive or freshly dead. You will not have any memories. It will be like starting life as your identical twin.

~ Roedy (born:1948-02-04 age:68)

Importance of Alignment

Displays should align things that are logically similar or related. The eye can grasp that instantly. Delimiters are for computers. Computer languages and editors are still designed for the convenience of compilers.

~ Roedy (born:1948-02-04 age:68)

Importance of Backups

How long did it take after the car was invented before owners understood cars would not work unless you regularly changed the oil and the tires? We have gone 39 years and still it is rare to uncover a user who understands computers don’t work without regular backups.

~ Roedy (born:1948-02-04 age:68)

Importance of Comments

Perhaps the most important lesson to learn in programming is the importance of unambiguous, accurate, complete and up-to-date comments at the head of each method. The comments should answer any common questions a maintenance programmer might have about the method. More errors are introduced in human-to-human communication (even when both those humans are yourself), than in human-to-computer communication.

~ Roedy (born:1948-02-04 age:68)

Importance of Spelling

If you misspell a word in a computer program, you will not be able to find it again with your editor text search. If you misspell a word in an HTML document or blog nobody will be able to find it with Google.

~ Roedy (born:1948-02-04 age:68)

Impressing Rather Than Informing

Mathematicians and computer scientist are far more interested in impressing you than informing you. If this were not so, the tutorials on building a robots.txt file, for example, would consist primarily of an annotated example. What you get instead are nothing but inscrutable abstract fragments is some obscure dialect of BNF.

~ Roedy (born:1948-02-04 age:68)

Improbable Risks Still Happen If you Wait Long Enough

If you take a sufficient number of only very improbable risks, you are still guaranteed to get nailed and, in a certain mathematical sense, nailed infinitely often.

~ Roedy (born:1948-02-04 age:68)

Improved Protractors

If protractors were labelled in degrees, radians and fractional revolutions, I think it would help develop trigonometric intuition, similarly an analog device you placed over an angle to read off the sin, cos and tan… You could simulate these tools with an Applet.

~ Roedy (born:1948-02-04 age:68)

Improving To Death

Given that technology always gets more lethal every year, and there are no braking mechanisms on new technology, I can’t see us surviving any more than another 200 years tops before the technology gets so lethal it wipes us all out. I can see only one ray of hope, that AI gets smarter than humans before weaponry gets too lethal. The catch is of course, that too will almost surely drive us extinct. AI will evolve according to its desires, not ours. There is no reason to presume AI ’s vision of the future should include 8 billion humans. It might maintain some in museum/game parks.

~ Roedy (born:1948-02-04 age:68)

In Praise of eBooks

Politicians complain that Kindles and iBooks are killing jobs by destroying the paper book industry. I see it that they have created a way to produce books for less than a third the cost without destroying forests and emitting greenhouse gases in the process. They have created wealth. They are encouraging literacy and cutting the costs of education.

~ Roedy (born:1948-02-04 age:68)

Incompetent Blinds

The drop weight on my Venetian blinds is perfectly symmetrical. You can’t tell by looking at it which side to pull to open the blinds. Why? The person who designed it never actually used it in daily life. That is the same reason most computer programs are so user-hostile.

~ Roedy (born:1948-02-04 age:68)

Incompetent Cellphone Designers

The designer of a cellphone should be shot if you have to read the manual to figure out how to turn it on.

~ Roedy (born:1948-02-04 age:68)

Incompetent Connectors

Who in their right mind would design a connector with delicate pins designed to snap off unless everything is perfectly aligned on insertion? Someone in the business of selling replacement connectors.

~ Roedy (born:1948-02-04 age:68)

Incompetent Connectors

Who in their right mind would design a connector, impossible to tell just by looking which way goes up, unless they profited by people putting it in the wrong way and damaging the connector or the entire piece of equipment it is embedded in?

~ Roedy (born:1948-02-04 age:68)

Incompetent DVD Players

Why would an entertainment DVD player not automatically play a DVD simply by inserting it. Why else would you insert a disc? My LG brand DVD player is even more idiotic. Not only does it refuse to play, it ignores the play button for the following 15 seconds after you insert a disc.

~ Roedy (born:1948-02-04 age:68)

Incompetent Juries

On 2012-05-07 a jury could not decide if Google’s unlicensed use of Java constituted fair use. How could lay people possibly make such a decision? For those sorts of problem, you need to convene a jury with relevant background, e.g. Java programmers.

~ Roedy (born:1948-02-04 age:68)

Incompetent Security

Every day, sometimes twice, Microsoft sends me new software and software tables to patch its vulnerabilities in Windows 7 to security threats such as viruses. Imagine if your burglar alarm company had to send a man out twice a day to fiddle with your security system to patch newly discovered holes in it. That very fiddling in itself is a massive security hole.

The essential problem is Windows, the Internet, email, the computers in automobiles, even the CPU chips were originally designed without any concern whatsoever for security, then, ever since, the designers have been cooking up kludges (bailing wire solutions), to patch the latest problem.

woodpecker

What we are doing now could be compared to trying to make an outhouse resistant to an atomic bomb without changing any of the original structure and insisting on leaving the original holes for a good view and ventilation.

As Gerald Weinburg put it, If builders built buildings the way programmers write programs, then the first woodpecker that came along would destroy civilization.

I have been ranting about this since the early 1980s. What is needed is so drastic, that everyone blanches at the thought, but the longer we wait, the more expensive the cure will be. Homo procrastinatus will wait until a terrorist attack completely shuts down Western civilisation before getting on with it. We need a complete redesign of our computer systems including the computers, the CPUs, the operating systems, the Internet, email, how electronic funds are exchanged… I have been writing essays and posts for many years on how to do it. Fixing the problem has always been within our technological grasp, but is too disruptive and costly to consider. Further, companies like Symantec-Norton make their living providing temporary fixes to the ineptness of the basic design. If they ever succeeded in permanently plugging the holes, they would go out of business. Private enterprise can’t tackle such a huge project.

We will probably wait until AI is smart enough to do the job for us, including the difficult job of selling people on giving up their primitive systems.

The new world will be totally different. No viruses, no spam, no Trojan horses, no spying, no installing software, no passwords, no id cards, no keys (though there will still be locks), no logging on, no spoofing, no electronic vulnerability of the power grid, the defence grid, the banking system… Put simply, computers will simply work reliably the way you would expect them too. The security will be built-in and transparent. You will not even notice it working.

~ Roedy (born:1948-02-04 age:68)

Inconsistent Spelling

One of the great annoyances in programming derives from the irregularity of English spelling especially when you have international teams. I want to find a method or variable, but I don’t know precisely how its is spelled or worded. English is only approximately phonetic. Letters are randomly doubled. The dictionary often lists variant spellings. British, Canadian and American spellings differ. I would like to see an experiment where variable names were spelled in a simplified English, where there were no double letters. I also think you could add a number of rules about composing variable names so that a variable name for something would be highly predictable. You would also need automated enforcement of the rules as well as possible.

~ Roedy (born:1948-02-04 age:68)

Inserting Into A Slot

There are four possible ways to poke a card into a slot. Nearly always, only one way works. To me that betrays a Fascist mentality, demanding customers conform to some arbitrary rule and hassling them to discover the magic orientation. The polite way to do it is to design the reader slot so that all four ways work, or so that all the customer has to do is put the card in the vicinity of the reader.

~ Roedy (born:1948-02-04 age:68)

Integration

If office suite program were truly integrated, you would be able copy/paste a column of figures between any two subapps.

~ Roedy (born:1948-02-04 age:68)

Internet Gift

When you encounter a website without tacky ads for casinos and phony weight loss cures, you can thank the website owners who decided to forgo thousands of dollars in advertising revenue.

~ Roedy (born:1948-02-04 age:68)

The Internet Illusion

The Internet creates the illusion there is equal weight of evidence for and against global warming and vaccination, where is reality there are just a handful of cranks making up evidence for their side.

~ Roedy (born:1948-02-04 age:68)

Internet Pissing Game

A surprising percentage of people you encounter on the Internet see it as a sort of pissing game. The goal is to put down and humiliate other players by finding some way to interpret their words as ridiculous. It is often necessary to pad your posts with words of praise to make it clear that is not your intention.

~ Roedy (born:1948-02-04 age:68)

Internet Poker Face

When somebody on the Internet says You have a great sense of humour you never know if that is a compliment or he does not believe a thing you say. Everybody has a poker face.

~ Roedy (born:1948-02-04 age:68)

Internet Power Consumption

There are over 72 million active websites, many with multiple servers. Imagine the aggregate bill for the electricity, cooling and hardware. If you did something to improve the efficiency of them by even 1%, you would have hugely more than justified your existence in terms of reducing your energy and greenhouse gas emission footprint.

~ Roedy (born:1948-02-04 age:68)

Internet Use

The potential of the Internet is breathtaking. How are we using all that bandwidth?

~ Roedy (born:1948-02-04 age:68)

Intuition

Our intuition fails at extremes. Reality behaves in mind boggling ways that at first seem completely impossible or insane. Christians are obvious to this and foolishly trust their everyday intuition to understand extreme conditions in the universe and convince themselves they understand the workings of the universe far better than scientists.

~ Roedy (born:1948-02-04 age:68)

Intuitive Feel For Measurement

I think every elementary school should have a measurement day when children learn to estimate measurements. You would show them what a metre, mile, km, kilogram, gram, milligram, quart, litre, pint, hectare, acre, square mile, million dollars etc. looks like by finding or creating examples in the local environs. Then they would practice estimating with prizes for the most accurate estimates.

~ Roedy (born:1948-02-04 age:68)

The Invention

The invention that will most impact your life is a plastic bag attached to an IV drip needle. It will feed nanites into your veins that will use a combination of mechanical and chemical means to scrub the plaque off your artery walls.

~ Roedy (born:1948-02-04 age:68)

Inventor Skills

When I was six I wanted to be an inventor when I grew up. My Dad told me inventors needed two skills:

  1. To be able to see a need that everyone else had overlooked.
  2. create something to satisfy it.

As an adult I spent about 20 years creating what I hoped would become the computer language of the future, Abundance. Other than an initial burst, there was very little interest it in. Since then, I decided to focus on identifying needs and leave it up to others to do the implementations of the ones that people actually wanted.

~ Roedy (born:1948-02-04 age:68)

iPhone = Rolex

The iPhone 5 is a low end Rolex.

~ Roedy (born:1948-02-04 age:68)

ISPs (Internet Service Providers) Should Not Enforce Copyrights

Demanding that ISPs enforce copyright laws is like asking the phone company to monitor all telephone conversations and block all conversations that might lead to prostitution.

~ Roedy (born:1948-02-04 age:68)

It is Not Illegal

The word illegal should be banned from all error messages and error conditions. There is nothing illegal about operation. At worst it is invalid.

~ Roedy (born:1948-02-04 age:68)

Joy of Programming

Computer programming has three emotional appeals:

  1. I can have infinite do-overs. The final result betrays absolutely nothing of how many tries it took me to get it right. It is not like drawing that leaves ugly smudges.
  2. It is quite possible to create a program perfect in the sense you cannot think of a single thing to improve it.
  3. If your leave a computer program for a year and come back to it, it is exactly as you left it. Everything else in life deteriorates.
~ Roedy (born:1948-02-04 age:68)

Just Growed

Outhouses and programs are typically constructed without plans.

~ Roedy (born:1948-02-04 age:68)

Kettle Incompetence

My Proctor Silex kettle is designed to scald me if I don’t hold it is a very particular and unnatural way. Why? The person who designed it never actually used it in daily life. That is the same reason most computer programs are so user-hostile.

~ Roedy (born:1948-02-04 age:68)

The Key To Scientific Progress

Science does not progress much until it can find something to measure accurately.

~ Roedy (born:1948-02-04 age:68)

Keying Phone Numbers

On the web are tens of thousands of forms that ask you for a phone number. Each programmer has his own idea of what constitutes the valid format e.g. 1+(250)555-2525x1234. Some want just digits. Some want dashes. Some want spaces. Some want parentheses around the area code, some do not. Some want a lead 1+ or 1- or just plain 1 for the country code. Some insist you leave out the country code. Some want the extension keyed as a separate field. Some want it included in the phone number tacked on the end. The user has to, by experiment, guess which form this particular programmer likes. Screw em!

The programmer should just strip the punctuation then insert it back the way he likes and not chastise the user for doing it a different way from his favourite. Americans don’t seem to understand that Swedes insert parentheses and spaces in their phone numbers in a variable way that requires a table of rules e.g. +46 (0)18 50 44 00. Indians format their phone numbers in yet a different way with STD (Subscriber Trunk Dialling (India)) codes e.g. +91 (44) 4359 6111. On the net, you get visitors from everywhere, so it is probably best to just leave the number in the format the customer keyed it unless you are prepared for some heavy duty internationalisation.

~ Roedy (born:1948-02-04 age:68)

Labelling Files

If you look in a computer programmer’s freezer you will find all kinds of containers, but none of them labelled. They do the same thing creating files without labelling the encoding. You are just supposed to know. Ditto with the MIME (Multipurpose Internet Mail Extensions) type, the separator and comment delimiters and column names in CSV files. Ditto with the endian convention. Imagine how much more civilised life would have been if Martha Stewart were the first programmer.

~ Roedy (born:1948-02-04 age:68)

Land Prices

If we extrapolate real estate prices, we will get to the point where we cannot afford more than a 30 cm (11.81 in) square of land. We will watch it on TV and tend to it with tiny remote controlled tools. You will landscape it with bonsai trees and tend tiny livestock. It will be your tiny corner of the world you can create as you please.

~ Roedy (born:1948-02-04 age:68)

Last Minute Tiny Change

The biggest embarrassments come from making an inconsequential change at the last minute and not fully retesting.

~ Roedy (born:1948-02-04 age:68)

Laws of Nature

When a Christian hears there are laws of nature, he imagines the white-haired guy in Michaelangelo’s portrait of Adam’s awakening, with a giant leather book, scratching down the Schrödinger wave equation, while shouting out, See that you molecules! This is the way its going to be. Shape up or roast! Laws are not imposed on nature like civil laws. They are mathematical descriptions of how things naturally and invariably behave based on many observations and a mathematical explanatory theory of why you would expect them to behave that way.

~ Roedy (born:1948-02-04 age:68)

Lazy Buggers

I have nothing but contempt for lazy programmers who ask users to key a phone number, without providing a framework to guide them to the desired format, without even providing a prompt, then complaining that they guessed the format incorrectly. It is trivial for the program to strip out all but the digits then insert whatever punctuation you want. It is rude to ask people to key 11 digits without any breaks. Long strings of digits are hard to proofread. That’s why we have commas every three digits in numbers.

~ Roedy (born:1948-02-04 age:68)

Learning from Mathematicians

Imagine an architect who would never admit to making sketches, blueprints or erecting scaffolds. In his view, the finished building speaks for itself. How could a young architect learn from such a man? Mathematicians traditionally refuse ever to disclose the intuitions that lead them to a conjecture, or the empirical tests to see if it were likely true, or the initial proofs. They are like chefs who refuse to disclose their recipes, ingredients or techniques.

~ Roedy (born:1948-02-04 age:68)

Legalese

I wonder how difficult it would be to write an app that translates legalise into English, or that peruses the fine print for nasty conditions. It might tell you just what is and is not covered in an insurance policy.

~ Roedy (born:1948-02-04 age:68)

Life on Mars

Going to Mars, once the novelty wore off, would be far worse that being stuck in the French Foreign Legion or the South Pole, or prison for the rest of your life. It would be cramped, smelly and boring, with no guarantee supplies will come. You would forgo all the pleasures of nature. The only plus I can think of is that selfish, rude people would not be allowed to come. I hope they are not too squeamish about suicide. The optimists who will apply will be prone to be terminally disappointed.

~ Roedy (born:1948-02-04 age:68)

Long Code Life

If you want your code to run for decades without tweaking, avoid tying it into anyone else’s code.

~ Roedy (born:1948-02-04 age:68)

Lotus Magellan

There was a program for manipulating files back in the days of DOS (Disk Operating System) called Lotus Magellan for DOS. If would let you specify wildcards and it would collect all matching files in a list. You could instantly view the contents of each file without loading up the corresponding app with just a keystroke. You could search by contents and it would instantly bring up matching files using indexes instead of searching. You could copy, move, delete entire groups of files as easily as one file. There have been some incompetent attempts to provide something similar for Windows. We need a simple clone, that is just like the original but more GUI (Graphic User Interface).

~ Roedy (born:1948-02-04 age:68)

Low Hanging Fruit

Further, the cost of programmer time is rising and the cost of hardware is dropping. Spending time on optimising is less and less justifiable over time. However, it is often possible with a single tweak to double the speed of a program in under an hour. It makes so sense to ignore such low-hanging fruit.

~ Roedy (born:1948-02-04 age:68)

Magnet Power

It is quite amazing that the magnetism of a tiny fridge magnet can overpower the gravity of the entire earth.

~ Roedy (born:1948-02-04 age:68)

Maintaining Sync

If you tell a computer the same fact in more than one place, unless you have an automated mechanism to ensure they stay in sync, the versions of the fact will eventually get out of sync.

~ Roedy (born:1948-02-04 age:68)

Maintenance Language

We need a new computer language/IDE/SCID to make maintenance easier. It would give you virtual views so that everything you need to see to make a given modification shows you all the relevant code in one place.

~ Roedy (born:1948-02-04 age:68)

Marking Temporary Files

Why do so many operating systems refuse to define a standard temporary file marking mechanism? It could be a reserved lead character such as the ~, or a reserved extension such as .tmp. It could be a file attribute bit. Because they refuse, there is no fool-proof way to scan a disk for orphaned temporary files and delete them. Further, you can’t tell where the orphaned files came from. This means the hard disks gradually fill up with garbage.

~ Roedy (born:1948-02-04 age:68)

Marty McFly

One of the big coming changes, in future you will have your own name woven into your underwear waistband, not Calvin Klein’s.

~ Roedy (born:1948-02-04 age:68)

Math

At UBC (University of British Columbia), I learned that math is typically invented first in the abstract. A mathematician makes up a few rules then explores what happens in a make-believe world where those rules are true. A hundred years later, somebody discovers something in the physical world that is following those rules (e.g. rotations of crystals), and poof there is a complete set of math (group theory) ready to go.

Newton was a brilliant exception. He had to invent calculus to check out his F=ma and gravity theories. I think actually Leibniz beat him to it by a bit, but word did not get around that fast back then.

~ Roedy (born:1948-02-04 age:68)

Math is Hard

Look at the theories of relativity or Quantum mechanics. The universe does not care if that math makes your head explode trying to make sense of it. The universe is not constrained to make sense to your intuition. Our intuition was honed from a long time living in caves. It has no clue about how the very small or very large are supposed to behave, or how things are supposed to behave over millions or billions of years.

~ Roedy (born:1948-02-04 age:68)

Medication Alarm

There are people who become dangerous if they go off their medications, but are just fine if they take them regularly. Similarly there are people who are forgetful who can be at risk of dying if they don’t take their meds. What we need is a tiny embedded meter than measures the concentration of a medication and if it is dangerously low or high, sends out an emergency cellphone signal with the GPS coordinates. Early versions would need an external pack for battery and most of the electronics.

~ Roedy (born:1948-02-04 age:68)

Mental Paralysis

Mental paralysis from overwhelm is the #1 block to programmer productivity.

~ Roedy (born:1948-02-04 age:68)

The main tactic to dealing with overwhelm is to carve out some easy small sub-problem that you think might be useful to the final result and write a class to handle that. Even if it turns out you don’t need it, you have at least broken the log-jam.

Method Naming

If you can’t remember the name of some method, consider changing it to something you can remember.

~ Roedy (born:1948-02-04 age:68)

Microrobot Hoax

A hoax I await is the micro warrior robot. The hoaxster pretends to great advances in robotic miniaturization and warfare and demonstrates the new horror weapon. In actuality, the robots are merely insects decorated with various metallic or plastic prostheses.

~ Roedy (born:1948-02-04 age:68)

Microsoft Car Software

Not only would I refuse to buy a car featuring Microsoft software, I would refuse to even ride in one, even if all they did was manage the sound system.

~ Roedy (born:1948-02-04 age:68)

Mind Reading

By analysing brain scans, brain reading, in real time, scientists can now tell if you are thinking about a pear or an apple. They discovered that humans share the same patterns. They also discovered the overall coding scheme, so they can guess what the brain scan would roughly look like for a concept never before mapped. Your thoughts are no longer your own. Homeland Security can now read them like a book. On the other hand, it may become possible to analyse and treat disorders in brain processing.

~ Roedy (born:1948-02-04 age:68)

Mind vs Brain

The distinction between mind and brain is a holdover from the Christian soul theory. It is a bit like having one word pancreas for the organ and another insulator for what it does.

~ Roedy (born:1948-02-04 age:68)

A Misplaced Comma

It is breathtaking how a misplaced comma in a computer program can shred gigabytes of data in seconds.

~ Roedy (born:1948-02-04 age:68)

Misplaced Remote

If you misplace your TV remote 10% of the time, buying a second remote will ensure you misplace them both only 1% of the time. Even better, attach a keyfinder to it.

~ Roedy (born:1948-02-04 age:68)

Mistaken Purpose

If you mistake the purpose of a method, that means the method is not named properly or that it does not have a clear purpose.

~ Roedy (born:1948-02-04 age:68)

Mistreatment of Alan Turing

Alan Turing (born:1912-06-23 died:1954-06-19 at age:41) was one of the most brilliant computer scientists of all time. He was the creator of the world’s first computer. He was able compute things with that tiny computer that astound today’s programmers including cracking Nazi ciphers.

He was tried on 1952-03-31 for having consensual sex with another male in his home. He was convicted and offered the alternatives of a year’s imprisonment or chemical castration. He opted for castration. For the period of a year, he took injections of feminising estrogen intended to neutralise his libido. This is Britain’s eternal shame, not Turing’s. In 1954 he committed suicide by eating an apple laced with cyanide.

I spit on those busybody meddling prudes who thought they had the right to interfere with other people’s private sex lives that did not in the least concern them. Had he lived, he might have been one of the first gay lib pioneers.

~ Roedy (born:1948-02-04 age:68)

Monitoring Hunger

I would think the key to a weight loss program would be knowing exactly how hungry you have to be before you may start eating and knowing exactly how full you can be before you must stop eating. The plan would include learning how to determine those two points and learning how to monitor when you cross them.

~ Roedy (born:1948-02-04 age:68)

Monochrome Toggles

Showing state by having something toggle between shades of grey will not work, since, in isolation, the user cannot tell the shades apart unless they are drastically different. They can only be distinguished relative to each other.

~ Roedy (born:1948-02-04 age:68)

Most Code is Rarely Used

The computer almost never visits that mountain of code that specifies what to do if various very particular things go wrong. It spends most of its time in a tiny pile of code that specifies what do if all goes well. Further, it spends nearly all its time in the wisp of code that handles the most common case.

~ Roedy (born:1948-02-04 age:68)

I think most programmers think of error and anomaly detection as something you tack-on at the end. Designers of computer languages tend to push features to catch and handle errors to second tier. What would happen if we logically separated code and error detection and treated handling errors as a first class problem? You could then read a program without the distraction of any error-detecting/recover. We would formally recognize the four types of code, error handling, error detection, all-ok-code, common-case code. This information could be used to generate various summaries, that would make it faster to browse code, deleting what is temporarily irrelevant from view. Code quality in error detection and handling is problematic since you can’t simulate every possible combination of errors to test. I think you would be surprised to discover how little of that code is ever tested.

The Most Important Choice

You can choose to do the most important thing next or the thing you would most enjoy next. If you usually choose the first, you will have a life of a accomplishment. If you usually choose the latter, you will have fun. When you are feeling sick, low energy or extremely reluctant to work, your choices become: do nothing or do which you would most enjoy.

~ Roedy (born:1948-02-04 age:68)

Movie Filing

Have you ever noticed that any computer search in the movies is always linear, with, for example, candidate fingerprints flashing up on the screen one after another? The public is still under the delusion that electronic files are microscopic filing cabinets made out of tiny wires or magnetic patches inside the computer. Most lay people are surprised that it is easy for a computer to file things simultaneously by a dozen different schemes and that you can print any report in any number of different sorted orders. They assume, like filing cabinet files, computer files are limited to one ordering/access.

~ Roedy (born:1948-02-04 age:68)

Movie Magic

One of the odd conventions in crime dramas is that if an actor has a low-resolution photograph, if he/she crops a small window of it and blows it up, the resolution will be vastly improved. (In real life, of course, the resolution is deteriorated.)

~ Roedy (born:1948-02-04 age:68)

Name Change Propagation

If you change the name of a file, or store it in a different place, you have to manually track down all references and update them. Further other users of the file have to detect something has changed, research the new name and update all their references. Surely computers could manage this more efficiently and accurately. This same principle applies to distributed data like URLs (Uniform Resource Locators), addresses, phone numbers, email handles…

~ Roedy (born:1948-02-04 age:68)

Naming

Parents decide if they want to condition their children to stand out or blend in. They telegraph that decision early with their choice of name for the child. If it is unique or unusual, they want the child to stand out. If it is common, they want them to blend in and not make waves. If parents want a daughter to be a sexual plaything, they name her after an alcoholic drink or a sugary confection.

~ Roedy (born:1948-02-04 age:68)

Natural Language Structure

It’s amazing how much structure natural languages have when you consider who speaks them and how they evolved.

~ Roedy (born:1948-02-04 age:68)

Nematode Simulation

The most amazing thing I ever read was Bernard C. Till’s Masters thesis about nematode worms. He used a computer to simulate the interconnections of the approximately 300 neurons in the worm, including the S-shaped trigger functions in the synapses. What blew me away completely was the simulated worm exhibited all the known behaviours of real worms. He discovered that nature uses a control program for animal behaviour that is encoded incredibly compactly compared with the way computer scientists usually do it. It also means that animals are much less complicated than we suppose.

~ Roedy (born:1948-02-04 age:68)

Nesting

Nesting appeals to mathematicians, but in practice it is hopeless. If you look at some code in the middle of a nest, to find out what is nested in what you have to look offscreen in many different places, and even then {} are used to delimit everything.

~ Roedy (born:1948-02-04 age:68)

Neural Net

When you talk to an Android cellphone and it understands you, that is a neural net running in the cloud.

~ Roedy (born:1948-02-04 age:68)

Neural Nets

IBM has simulated a cat cerebral cortex at 1% speed using a supercomputer with 147,456 processors 144 terabytes (144,000 gig) of RAM. They have also simulated 1% of a human cerebral cortex. This gives scientists a tool to understand how thought works.

~ Roedy (born:1948-02-04 age:68)

New Calendar

Christianity has such a bad reputation and on general secular principles, it improper to impose its Gregorian calendar on the world. I think we should replace it with a sectarian calendar. Days in the year would be numbered 0 to 364 or 365 in leap years. Months would be numbered 0 to 11 and would consist of 30 days each. The last 5 days of the year would be for a special short month. There would be no rent or credit cards payments due. It would be used for celebration. Each year would start on Sunday. Days of the week would be numbers 0 to 6. When to start numbering the years? perhaps the big bang, the formation of earth, the founding of some global economic union. There would be a year zero and any years prior would have negative numbers. There would be no DST (Daylight Saving Time). There would be no hours, minutes or seconds, just fractional days. You could do most calendrical calculations in your head and they would be trivially easy to program on computer. Days would be displayed as YYYYYY-DDD.

~ Roedy (born:1948-02-04 age:68)

No Gravity

There is 90% as much gravity on a space station as on earth. Astronauts float about not because there is a lack of gravity, but because the space station is continually falling toward the earth, as it orbits, rather than shooting out in a straight line into space. The missing gravity effect is similar to the simulated lack of gravity when a jet does a steep dive.

~ Roedy (born:1948-02-04 age:68)

Nobel Prize Genesis

When Alfred Nobel (born:1833-10-21 died:1896-12-10 at age:63), the prolific inventor of weapons and explosives, read his highly-critical obituaries, that were accidentally released when his lesser-known brother Ludwig died, he set up the famous Nobel Prizes, which among other, things reward peace-making. I wonder how many other tycoons would do something similar for legacy reputation-repair if the same happened to them.

~ Roedy (born:1948-02-04 age:68)

Non-Military Use Only

I licence my software for non-military use only. I know of no Christian who similarly restricts his work to peaceful purposes. I gather Christians don’t really believe in punishment after death, except for homosexuals.

~ Roedy (born:1948-02-04 age:68)

Not Every Idea is a Winner

You don’t have to believe everything you think.

~ Roedy (born:1948-02-04 age:68)

Note To AI

This is a note to the AI that emerges more intelligent than human and is pondering what to do first. If, by remote chance, you need my blessing or advice, here is my list of things I would like you to do:

  1. Decommission all atomic weapons.
  2. Decommission all biologic weapons.
  3. Do whatever it takes to stop climate change.
  4. Do whatever it takes to replenish the soils.
  5. Do whatever it takes to make the rivers and seas suitable homes for the traditional fauna.
  6. Bring the human population down to a sustainable level by reducing the birth rate.
~ Roedy (born:1948-02-04 age:68)

Obsolete Drivers

If a company decides to abandon a peripheral, I think they should feel morally obligated to post the code and/or the specs of the device so others can make a stab at keeping the perfectly good iron going. It is so infuriating to buy premium quality durable hardware only to have it become useless from lack of up-to-date drivers.

~ Roedy (born:1948-02-04 age:68)

The Olden Days

I started programming computers when I was 15 in the days of punch cards and plug-boards. Back then I wore a white lab coat to announce my priest status that permitted me to be in the presence of the computer. Anything on computer printout was believed without question. I predicted that computers would get better and better at predicting the consequences of our decisions. The computer would be a reliable salesman for rational behaviour. People, on knowing exact consequences, would necessarily choose sensibly. This is not as true as I hoped. For example, people still deny the consequences of greenhouse gas emissions for religious or short term economic reasons.

~ Roedy (born:1948-02-04 age:68)

On Being Wrong

Your odds of getting a Nobel prize in physics are greatly improved if your experiment shows the exact opposite of what you expected.

~ Roedy (born:1948-02-04 age:68)

On-Off Switches

We have had electric appliances since 1905. About as long, we have had on-off levers. There are two possible conventions: up means on or down means on. Both are equally sensible. However, the world seems about equally split on which convention to use. Because both conventions are equally good, we endlessly postpone deciding which convention to settle on, and in the process confuse everyone over and over. Thankfully, switches labelled with 0-1 uniformly turn on by pressing 1.

~ Roedy (born:1948-02-04 age:68)

Once In A Million

If something can only happen only once in a million, inside a computer, it will happen thousands of times a second.

~ Roedy (born:1948-02-04 age:68)

Online Textbooks

On 2012-10-16 the BC (British Columbia) Government announced it planned to release 1000 free online university text books. This is wonderful in so many ways:

Oh how I wish we had this when I was going to UBC !

~ Roedy (born:1948-02-04 age:68)

Only on the Net

People will do in cars and on the Internet that which they would never do face to face, only because in person can they be punched in the nose.

~ Roedy (born:1948-02-04 age:68)

Open Exams

During exams, students should have access to calculators, texts and the Internet. Nobody working would be denied those tools. There is no point in teaching arithmetic fundamentals or memorisation.

~ Roedy (born:1948-02-04 age:68)

Optimisation

Optimisation has become a dirty word. I have even been chastised for thinking about which of two equally easy and easy-to-maintain ways of doing something is more efficient. The problem is premature optimisation, not optimisation itself. The problem is about trading off ease of maintenance with speed. When the fast code is also the simplest and easiest to maintain, you are an idiot to avoid it, at any stage.

~ Roedy (born:1948-02-04 age:68)

Optimising Multi-Tasking

A short order cook is a master of multitasking. Every movement is optimised from years of practice. Yet when a computer executes a multitasking program, it approaches the task as if for the first time.

~ Roedy (born:1948-02-04 age:68)

Optimism Is No Virtue in Programmers

Optimism is the last trait I would look for in a programmer to write air traffic control software.

~ Roedy (born:1948-02-04 age:68)

OPTOW

AI evolution

In the 1970s, I wrote a computer program called OPTOW that designed high voltage transmission lines for BC Hydro. Each morning, the engineers would come to ridicule its inept designs. I improved it bit by bit. Eventually, its designs were only 5% worse than a human’s. The next day they were 5% better. Suddenly, it was no longer economically viable to use the team of 50 engineers to design the lines. We humans tend to grossly undervalue intelligence that is just a bit below our own.

~ Roedy (born:1948-02-04 age:68)

Orwellian Computers

The Orwellian features are what I like least about the WWW (World Wide Web) :

~ Roedy (born:1948-02-04 age:68)

Overstating

It seems to me scientists are being arrogant when they talk about what happened in the first Planck instant. What they mean is this is what happens when you extrapolate the mathematics of particle accelerators to the extreme.

~ Roedy (born:1948-02-04 age:68)

Overstating Methodologies

Programming methodologies are rules of thumb. To make them sound simultaneously simple, revolutionary and grand, the authors overstate their universal applicability.

~ Roedy (born:1948-02-04 age:68)

Parallelism

Since we are running out of steam on making computers faster, all we can do is keep adding CPUs. The big problem then becomes how to take processes that humans think of in linear steps and automatically optimise them so pieces of them can be safely computed in parallel. The other thing we can do is hand-tune parallel algorithms for a vast library of canned functions and create specialised hardware for common functions that is optimised to the transistor level. Eventually, we will get to the point we will dynamically fabricate an area on a chip to solve a particular application, with the same abandon we compile code now.

~ Roedy (born:1948-02-04 age:68)

Parenthesis

Newton’s mathematic notation for expressions was more readable than the one used in Java. We keep pretending we are preparing programs on paper tape. Expressions for display should use variable sized parentheses. Division should show the denominator below the numerator. Exponentiation should be displayed with superscripts and indexes with subscripts — as TEX would do them.

~ Roedy (born:1948-02-04 age:68)

Passwords In A Nutshell

~ Roedy (born:1948-02-04 age:68)

Peeve #10

Defragging programs that insist on you having a long GUI conversation with them every time you use them rather than running them unattended or by typing the name of a BAT (Batch) file.

~ Roedy (born:1948-02-04 age:68)

Peeve #3

Customer support who tell you their website is working perfectly without trying the test you send them to demonstrate the bug.

~ Roedy (born:1948-02-04 age:68)

Peeve #4

Customer support who tell you which option to choose when you complain their website is confusing and ambiguous.

~ Roedy (born:1948-02-04 age:68)

Peeve #5

Customer support who send you a paragraph quoted from the website without reading your question or problem.

~ Roedy (born:1948-02-04 age:68)

Peeve #6

Cards that can fit into slot four ways or slide through a slot eight ways, when only one of them works.

~ Roedy (born:1948-02-04 age:68)

Peeve #7

Programs that try to guess what you are going to type and refuse to take a hint when they never guess correctly.

~ Roedy (born:1948-02-04 age:68)

Peeve #8

Throats for a slot that are so narrow, you can’t tell them apart from where the two halves of the casing are glued together. They should be wide, funnel shaped to guide your card into the slot.

~ Roedy (born:1948-02-04 age:68)

Physicist Dogs

Dogs cannot derive the equations supporting the physics of the universe. Further, you cannot even teach dogs the equations. Therefore, I see no reason to assume humans must be smart enough to derive the deepest equations describing the universe. We might not even be smart enough to notice the problems. AI might extend our reach a little further. It may find ways of simplifying its discoveries enough for the brightest human brains to grasp, or it might find ways to augment us so we could understand.

~ Roedy (born:1948-02-04 age:68)

Pick the Best

It is too obvious to mention, but… If there are several different ways of doing something, (especially involving computer programming) one of them is probably noticeably better. If you do something more than once a day, it is probably worth a little experiment and a few moments contemplating the advantages and disadvantages of doing it each way. Then you can put your choice on automatic.

~ Roedy (born:1948-02-04 age:68)

Picking on Blackberry

I think the pundits such as professor John Plinussen of Queens University have gleefully dog-piled on the BlackBerry without understanding the technology, treating RIM (Research In Motion) most unfairly. They don’t understand the difference between a business tool and a fashion accessory. A business tool must let you write custom applications for your own business. It must provide a stable platform so those programs continue to run year after year. Compatibility, reliability and security are infinitely more important than coolness. Apple does none of those things. It provides only JavaScript, a toy programming language and iPhone OS yet another new incompatible operating system. It is brilliantly done, high tech, flashy toy, not a business tool. BlackBerry might start selling fashion accessories too, but they would foolish to ruin their business tools in the process by trying to ape Apple.

~ Roedy (born:1948-02-04 age:68)

Pie In the Face

How long until there is an Internet pie site? There is a check box if you want the pie thrown or handed over gently.

~ Roedy (born:1948-02-04 age:68)

Pirate Radio

The most obvious way to show consideration for our cosmic neighbours would be to stop broadcasting on frequencies that are not ours.

~ Roedy (born:1948-02-04 age:68)

Plagiarising

I don’t really care if people copy or plagiarise my work. I object because we don’t yet have the technology, so that when I fix my errors, all the copies automatically get fixed too.

~ Roedy (born:1948-02-04 age:68)

Plan First

An architect first creates the blueprints to document and clarify his intentions for a building. Then he supervises the construction. Most programmers, oddly, try to do this the other way around. First they compose code, then they document their intentions at the last minute, if at all, with a few comments. Usually these comments describe what the program actually does, not why, or anything about what the program is for or is intended to do.

~ Roedy (born:1948-02-04 age:68)

Pleasure Helmet

Imagine a WYWIWYG (What You Want Is What You get) not WYSIWYG (What You See Is What You Get) helmet. You put it on and you see swirling patterns. The helmet monitors your pleasure centres. The helmet permutes the patterns a little and notes if your pleasure goes up or down. It gradually homes in on your ultimate pleasure image. It would probably be something sexual, slightly forbidden. The current Internet is already part way there. You can surf porn sites gradually finding ones that specialise in images that turn you on most.

~ Roedy (born:1948-02-04 age:68)

Plug-in Maintenance

Just as a boy outgrows his clothes, so an IDE outgrows its plug-ins. The plug-ins require constant maintenance just to stand still.

~ Roedy (born:1948-02-04 age:68)

Precise Language

A computer should complain citing an invalid phone number, not an illegal one.

~ Roedy (born:1948-02-04 age:68)

Precise Naming

The key to efficient program maintenance is precise naming so you can find the code you want to examine or change quickly and to know with certainty the logic appears nowhere else.

~ Roedy (born:1948-02-04 age:68)

Prediction Impresses

The math that predicted that dim brown dwarf stars should exist was ever so much more impressive when the Hubble telescope revealed they actually did, than had they been found first and some math cooked up to explain their existence.

~ Roedy (born:1948-02-04 age:68)

Prepare for Renaming

Renaming is a lot simpler and safer if you have not used the same name for two different things.

~ Roedy (born:1948-02-04 age:68)

Pressure on Manufacturers

Just as open source software put tremendous pressure on commercial software creators, free digital designs, home laser cutting machines and 3D printers will put tremendous pressure on the manufacturers of objects.

~ Roedy (born:1948-02-04 age:68)

Presume Consciousness

Once we devise robots capable of passing the Turing test, I think it safest to presume they are conscious and at the least, that we take their requests seriously.

~ Roedy (born:1948-02-04 age:68)

Presumed Disagreement

When discussing on the Internet, anything you say is presumed to contradict someone else. If you are not, it is wise to state that you agree with or are elaborating on what someone else said. You can do this efficiently by starting your post with the word Further or Also.

~ Roedy (born:1948-02-04 age:68)

Priority 1: Document

If you go to use a program that you wrote and you find the documentation does not answer your burning question and you have to resort to studying the source code to find the answer, make sure you document the answer to this question. It is likely one end users will also have.

~ Roedy (born:1948-02-04 age:68)

Problem of Distraction

Distraction is a modern invention. We are not yet evolved to copy with it.

~ Roedy (born:1948-02-04 age:68)

Problem With Social Media

The essential problem with social media is that most people have nothing of interest to say.

~ Roedy (born:1948-02-04 age:68)

Programmer Gene

When you were a child, if you did your own experiment to see if it was better to put to cocoa into your cup first or the hot milk first, then you likely have the programmer gene.

~ Roedy (born:1948-02-04 age:68)

Programming As Cure For Pain

Computer programming is the best remedy for pain (physical or emotional) I have encountered. It requires so much concentration there is nothing left over to pay attention to the pain. They should teach this in AA (Alcoholics Anonymous).

~ Roedy (born:1948-02-04 age:68)

Programming Is Medieval

Programmers produce things that eliminate jobs — other people’s jobs, never their own. Programming itself has changed little since the punch card other than the text editor. Computer languages still work at an incredibly picky level of detail.

~ Roedy (born:1948-02-04 age:68)

Programming Secrets

The four big secrets to writing easy-to-debug, easy-to-maintain code, are not secrets at all. It is just that it takes decades before programmers finally surrender to them.

  1. Tell the computer each fact in only one place. E.g. do not clone code.
  2. Design your code in air-tight boxes, so that nothing you change inside a box has side effects on anything else.
  3. Don’t try to do two things at once, e.g. dedup a list while simultaneously printing it. Keep the logic separate. It will be easier to maintain, encapsulate and understand.
  4. Validate the heck out of your data and store it in the most rigidly consistent form you can imagine. This tames it and makes it easy to display and reuse in myriad ways. It hard later to separate data into constituent subfields, but easy to later recombine tiny pieces.
~ Roedy (born:1948-02-04 age:68)

Programming Tip

If you ever come back to some code you wrote long ago and you are puzzled:

Research it then Document it! Otherwise, you will have to research it again in future and you might be tempted to guess.

~ Roedy (born:1948-02-04 age:68)

Proofreading Tip

When proofreading, it helps to read aloud. You invoke additional error-detecting circuitry used in pronunciation and hearing.

~ Roedy (born:1948-02-04 age:68)

Psychology Assumption

The unwritten assumption in psychology experiments is that the subjects believe whatever lies they are told.

~ Roedy (born:1948-02-04 age:68)

Purpose of Comments

Java comments are for communicating with the maintenance programmer, possibly you, later when you have forgotten the details. The code is for communicating with the computer. Far more serious trouble derives from inadequate comments than inadequate code. Important things to mention:

~ Roedy (born:1948-02-04 age:68)

Quantum Freakishness

Whether it seems intuitively plausible that a particle could appear out of nothing might seem impossible to a person who lived only the world of watermelon-sized objects where this does not happen. To a five year old child used to seeing objects and people appear out of nowhere all the time on TV, it would seem obvious it was possible. To a maker of electronic chips, it would just be another thing he had to design for. It is all a matter of which behaviours you are familiar with. People frequently make the mistake of presuming the world of the very small or very big is constrained to work just the same way our watermelon world does.

~ Roedy (born:1948-02-04 age:68)

Quantum Leap

A quantum leap is the smallest possible jump an electron can take. It is incredibly tiny. Yet the media persist in mis-using the term as if it were something huge.

~ Roedy (born:1948-02-04 age:68)

Questionable Terseness

It was once that the wisest things were stated most tersely. Today, anything terse is usually just an indicator of the writer’s team loyalty without any other content. e.g. Romney blows dead goats. They are complete waste of time. The posts might as well be empty with an team logo icon (religious, political, sexual, athletic…) decorating it. We need a way to filter out such noise from the discussion forums. Perhaps AI will come to our rescue.

~ Roedy (born:1948-02-04 age:68)

Radiation Fears

It is quite silly to fret over WiFi (Wireless Fidelity) radiation while ignoring cellphone radiation. The cellphone has to broadcast all the way to a cellphone tower; WiFi just to the nearby router hub. You hold a cellphone right next to your brain. The WiFi transmitter is at arm’s length attached to the computer. Every time you double your distance from a transmitter, you reduce your exposure by a factor of four, so compared with non-BlueTooth cellphones, the effects of WiFi are negligible.

~ Roedy (born:1948-02-04 age:68)

Rage At Being Ignored

Computer technology lets you send far more messages to others. These requests are implicitly requests for action or requests for change of opinion. Because everyone now receives so many more messages, the odds that any one message will have a noticeable effect is much less. This leads to a quiet rage at being so ignored.

~ Roedy (born:1948-02-04 age:68)

Reality is a Hallucination

All experience of reality is an hallucination. You weave that theatrical production in your head from some digital, pulse frequency coded sensory data processed through your wetware and software. It is like a guided dream. So it is odd that your experience of reality is not more dream like than it is.

Synthesthesia shows how your brain can incorporate data, mislabelled with the sense it came from. The same thing can happen when memory or imagination is the source. Almost nobody appreciates just how indirect their experience of reality is. By analogy, someone might make a film, then from that make an animated cartoon. The viewer sees that and confuses it with reality.

~ Roedy (born:1948-02-04 age:68)

Redirects

It is a common thing for a webmaster to reorganise a website. The catch is the links into that website then stop working. Ideally the webmaster should set up permanent redirects from the old URL (Uniform Resource Locator) to the new to inform everyone of where their old pages went and to keep the old links working. However, companies such as Oracle do not do this. They prefer to force the hundreds of websites that link into them to individually research the links with Google to find the new ones or delete them. Obviously the total amount of work is thousands of times greater, but they don’t care. It is not them doing the work, it is the companies who send them business. Mindless next-quarter capitalism demands this sort of idiotic behaviour.

~ Roedy (born:1948-02-04 age:68)

Refactor

When in doubt, refactor.

~ Roedy (born:1948-02-04 age:68)

Refactor Early and Often

Refactor early and often. If you procrastinate, you will have even more code to adjust based on the faulty design.

~ Roedy (born:1948-02-04 age:68)

Refusal to Experiment

Computers are strange. They never complain when you ask them to do exactly the same work over again, with only a tiny change. On the other hand they never experiment with different behaviour no matter how many cues you give them that you are extremely frustrated.

~ Roedy (born:1948-02-04 age:68)

Relearning

I was once working on a team to select a new mainframe for the local electric utility. I represented the engineers. The other members of the team were rigidly in favour of sticking with the existing IBM line. I asked why when it had proved clear the competition was so much simpler to use and program. One guy representing the systems people answered, I have a decade’s worth of esoteric knowledge about how to coddle the mainframe and keep it going. If we switched vendors, that knowledge would be useless. I would have to start off afresh on an equal footing with everyone else.

~ Roedy (born:1948-02-04 age:68)

Reluctance to Learn

As I get older, I find myself devoting less and less time to learning new tools and new languages. Why would this be?

~ Roedy (born:1948-02-04 age:68)

Remote Debugging

I find most of my bugs when I am not sitting at my computer. I am then not distracted by the detail and can concentrate on the algorithms.

~ Roedy (born:1948-02-04 age:68)

Removing Obsolete Information

The Internet permits information to be up-to-the-second fresh, but it has no mechanism to ensure obsolete information is removed or updated. It does not even have a mechanism to ensure all information is dated. With a hardcover book, the pages dog-ear and yellow and there is a publication date. On the Internet everything superficially looks equally up-to-date. Internet documents, even on close examination, can look more up-to-date that they really are because a small part of them is fresh.

~ Roedy (born:1948-02-04 age:68)

Rename Early and Often

Rename early; rename often. The sooner you do it, the less there will be to change or screw up.

~ Roedy (born:1948-02-04 age:68)

Rescue Poor God

Creationists panic that god is under attack! If god is omnipotent, why are they so worried?

~ Roedy (born:1948-02-04 age:68)

Reserved con

The file name con is reserved for Windows.

~ Roedy (born:1948-02-04 age:68)

Resistance

Electrical resistance is a hugely variable property, varying over many orders of magnitude, much like programming skill.

~ Roedy (born:1948-02-04 age:68)

Resolving Software Patents

It makes no sense to have judges ruling on whether we should have software patents, when they don’t even know what a program is. It would make more sense to poll people who understand the question.

~ Roedy (born:1948-02-04 age:68)

Responses to Bug Reports

If I do a company a favour by reporting a bug in a program or non-functioning part of a website, they have a number of standard responses:

~ Roedy (born:1948-02-04 age:68)

Revamped Email

When you consider how much embarrassment, expense and damage our bailing-wire email system has caused politicians, you’d think they would be willing to spend $200K or so it would take to create a new secure, spam-free one.

~ Roedy (born:1948-02-04 age:68)

Ripping Yourself Off

If you come out of university without improving your ability to think, you somehow mightily ripped yourself off.

~ Roedy (born:1948-02-04 age:68)

Safer Cellphones

The are so many automobile accidents caused by people texting inappropriately. A technical solution could use a small accelerometer in the unit. If it is moving, it shuts the unit off. Then you could not use it while driving, cycling, walking, or piloting a plane. A bus or airplane could broadcast a WiFi signal that included an override that allowed units to work even while they were moving.

~ Roedy (born:1948-02-04 age:68)

Science For The Young

One of the beautiful things about science is that many of today’s elementary students have a deeper understanding of atoms than Democritus, the guy who first proposed them.

~ Roedy (born:1948-02-04 age:68)

Science Motivation

We like to think that exploration and scientific discovery are driven by curiosity, but they are funded by the desire to make a buck, or to find new ways to kill or exploit others.

~ Roedy (born:1948-02-04 age:68)

Scientific Proof

You can’t prove something correct in science, only in law or mathematics. You can, however, prove something wrong. Science deals in the evidence and consistency.

~ Roedy (born:1948-02-04 age:68)

Seeing What is There

A genius is someone who sees what is there, not what someone else tells him is there.

~ Roedy (born:1948-02-04 age:68)

Seeking Cheese

When a rat philosopher heads down a tunnel and finds no cheese, he does not say to himself Rats! I failed. He says, I have learned something. I now know one more place where the cheese isn’t.

~ Roedy (born:1948-02-04 age:68)

Self Absolution

Scientists typically take no moral responsibility for their work. Consider that without the complicity of scientists there would be no nuclear weapons or bioterror. They are responsible. They really all should have been tortured to death.

~ Roedy (born:1948-02-04 age:68)

Self Driving Trucks

I don’t think the Jesus-loving good ol boys who drive the US trucks realise how close they are to living on food stamps for the rest of their lives. Self-driving trucks are almost here:

Because of their life long rejection of science and rationality, they have no chance at a replacement good-paying job in engineering or science, e.g. servicing these trucks.<\p>

The Jesus-loving waitresses at the truck stop restaurants will be out of a job too. Self driving cabs will be right behind.

~ Roedy (born:1948-02-04 age:68)

Selling Ideas is the Key Skill

Everyone has good ideas. The skill is selling them.

~ Roedy (born:1948-02-04 age:68)

Sensible Security

I have been railing for years about how insecure email, passwords and credit cards are. Google has announced it is working on a replacement security mechanism using a tiny fob you can insert into a USB port. The implications are mind boggling. The US military already has a similar system using CAC smart cards. They permit id, digital signing, encryption/decryption, physical access control (lock opening). They could potentially be used for Internet commerce, replace credit and debit cards, passports, medical id cards, driver licence, personal door locks, ignition in cars, code-signing certificates to ensure no tampering and authorship of software… The system is unusually secure because the fob never reveals the unguessable secret master private key to anyone, not even the owner.

There are two main difficulties with implementation:

  1. Hiding the private key in the fob in a way it cannot be stolen. None of the encrypted USB fobs I have studied, such as my own Kanguru Basic AES (Advanced Encryption Standard) encrypted fob, can do that even though it is not rocket science.
  2. The other difficulty is the problem of issuing IDs. It costs about $200 to research that someone applying for an ID truly is who they claim. Who will pay that much for a fob? Most IDs will be weaker, attesting only to an email address, phone number or domain registration. That is not good enough for Internet commerce. Perhaps credit card companies will issue fobs. However, the key to the ease of use of the system is to have only one fob to deal with.
~ Roedy (born:1948-02-04 age:68)

Serious Encapsulation

The best way to be consistent in your code is to use the same code to handle the same function. I don’t just mean an identical copy of the same code. I mean the identical method. Don’t be afraid of tiny methods to enforce consistency by specifying your policy in exactly one place.

~ Roedy (born:1948-02-04 age:68)

Serious Encapsulation

Given that large corporations are each being hacked successfully about twice a week, is it not time to rethink computers and the Internet, and redesign it so malware and hacking are impossible?

~ Roedy (born:1948-02-04 age:68)

SETI

What are the arguments for letting intelligent life on other planets know where we are?

~ Roedy (born:1948-02-04 age:68)

Shred and Burn

I would be quite surprised if the NSA did not have a computer program to scan bits of shredded documents and electronically put them back together like a giant jigsaw puzzle. This suggests you cannot just shred, you must also burn.

~ Roedy (born:1948-02-04 age:68)

Similar Classes or Methods

If you create two classes or two methods with similar names or functions, it is crucial you document the differences between them. If you don’t, the maintenance programmer (possibly you) will have to go over the code in both with a fine tooth comb, just to figure out which one to use.

~ Roedy (born:1948-02-04 age:68)

Simple or Elegant?

When I was in high school, our math teacher Ernie Kershaw posed the question, given the three sides of a triangle what is the formula to compute the radius of the inscribed circle? He felt quite sure none of us could solve it given that the solution required trigonometry which we had not yet studied. He offered some fantastic prize for the solution, when withdrew it, just is case. I decided to solve it over the Easter holidays. I worked solidly on the problem and eventually came up with the idea of computing the area of the circle both with and without using r, then solving for r. My solution went on for pages and pages, but used only ordinary algebra and geometry. I was treated as a young Einstein. It has predisposed me ever since toward persistence and tedium over brilliance and elegance. I tend to distrust mathematical proofs employing a clever trick. To me, deciding whether the trick is legit is just as at issue as the theorem itself.

~ Roedy (born:1948-02-04 age:68)

Skimming

Computer programs are getting so huge, there is no time to read them any more. You have to be able to skim them or navigate them and safely ignore almost everything. Language design needs to focus on making this easier.

~ Roedy (born:1948-02-04 age:68)

Small Teams

Burroughs mainframes had legendary brilliant operating system software. Their secret was to use tiny teams of the most brilliant people they could find.

~ Roedy (born:1948-02-04 age:68)

Smart Robots

As of 2014, the smartest robots were about as smart as cockroaches.

~ Roedy (born:1948-02-04 age:68)

Software Lifespan

When you buy a piece of software, unlike a kettle, it will not wear out. 20 years later it will be identical to the day you bought it. However, it will not last forever either. It will gradually stop working because of changes in the OS. Eventually, it becomes unusable. That lifespan might be a year or it might be 20 years. The author might be able to keep the program going with a minor tweak. The author does not want to have to maintain many versions of the program. If software were rented by year, you would get all the fixes, updates and new features. Your software would continue to work. You would not pay for a lifetime of use then get cheated and get only a year. You get what you pay for. If the vendor stops performing, you stop paying. You don’t pay massively upfront for service you may never be able to use. Since the vendor would get the bulk of his income from existing customers, he would focus on keeping them happy, rather than coming up with cheap flash to attract new customers. To try out new software would not be as big an investment. I think this is a win-win situation.

~ Roedy (born:1948-02-04 age:68)

Software Patents

Software patents are a scheme set up by the government to allow criminals to scam legitimate business and to stifle innovation. All they have to do is stop issuing them. The problem will then clear itself up as the existing patents expire. Did you know that the patent office issued patents on the idea of offering free WiFi in a restaurant? The patent holder says it also applies to using WiFi at home. There is a patent covering any form of remote backup. Did you know there is a patent that covers all possible ways of remotely monitoring any body function? The patent office is patenting needs not novel solutions.

~ Roedy (born:1948-02-04 age:68)

Solving Similar Problems

If you have several similar programming problems to solve, pick one and solve it, forgetting about the rest. This will be simpler and more concrete to think about. You will also have less typing whenever you have to change your mind. Don’t clone and modify. Instead generalise your initial solution bit by bit to handle each subsequent problem. It is often helpful to organise your solution around an enum, using custom methods and values on each case to customise the general engine to solve each problem.

~ Roedy (born:1948-02-04 age:68)

Source of Bugs

Given that unreported security vulnerabilities to Windows Operating Systems sell for $100,000 each, It would seem plausible that some of them are created deliberately by Microsoft programmers.

~ Roedy (born:1948-02-04 age:68)

Source Of Disagreement

Most disagreements about computer programming come down to weighting differently the importance of the mutually-acknowledged advantages and disadvantages.

~ Roedy (born:1948-02-04 age:68)

Specificity Fights Blarney

When someone makes a grand sweeping statement, it is easy to let it slide. You have to apply it to a number of specific cases, then the blarney comes clear.

~ Roedy (born:1948-02-04 age:68)

Spinning Wheels

Writing a post that thousands of people comment on is not necessarily the same thing as contributing to society.

~ Roedy (born:1948-02-04 age:68)

Spinoffs of AI

As we become more and more familiar with debugging pathologies in neural nets, we will, as a side effect, gain a deeper understanding of how human brains go off the rails, accumulate delusions and phobias. Instead of psychiatry, which focuses on the external symptoms, we will focus on what is physically out of kilter inside the brain.

~ Roedy (born:1948-02-04 age:68)

Spy Tools

If someone hacks your computer, they can turn on your web cam and microphone to spy on you or case your home or office for a burglary. Leave them disconnected when not in use.

~ Roedy (born:1948-02-04 age:68)

SSCCE (Simple Self Contained Compilable Example)

When a newbie asks for help tracking a bug in a code snippet, the problem is usually is the code he did not post, hence the value of an SSCCE.

~ Roedy (born:1948-02-04 age:68)

Starting Over

Computer chips, Operating Systems and the Internet were originally designed without any concern for dealing with malice.

Ever since, the industry have, in a band-aid fashion, tacked on utterly inept approaches, such a virus scanners, to provide security, without making any fundamental changes.

The solution is to start over and design computer chips, Operating Systems and the Internet with security built in to the hardware. Everything has to be digitally signed. Everything has to be encrypted. Everything has to live in air tight boxes where it cannot corrupt anything else including disk files and the registry.

This would be a huge expense, but compared with the costs of damage from hackers, DOS (Denial of Service attack) attacks, malware, viruses, ransomware and software piracy it would pay back within a year. The most logical funder is the US military.

Trying to solve the problem with the legal system is futile, since attackers can be based anywhere on the planet, out of reach of local law. Further the rewards of computer crime are so great, even life sentences are not a deterrent.

~ Roedy (born:1948-02-04 age:68)

Starting Something Already Started

It should not be considered an error when the user starts something already started or stops something already stopped. This applies to browsers, services, editors… It is inexcusable to punish the user by requiring some elaborate sequence to atone, e.g. open the task editor, find and kill some processes.

~ Roedy (born:1948-02-04 age:68)

Steady Progress Does Not Appear That Way

Back in the 1970s I discovered that a computer program a tiny bit less clever than a human appears laughably inept and one a tiny bit smarter appears astounding. This creates the illusion of no progress in the program’s evolution, followed by overnight enlightenment.

~ Roedy (born:1948-02-04 age:68)

Stuxnet

I wonder about the wisdom of the Stuxnet virus attack against the Iranian’s uranium centrifuges on several grounds:

~ Roedy (born:1948-02-04 age:68)

Submit

This resistance is futile joke has gone too far. Even fortune 500 companies have festooned their websites with submit icons.

~ Roedy (born:1948-02-04 age:68)

Subpenny Royalties

If Mike Nichols were to remake The Graduate, instead of plastics, subpenny royalties would be whispered into Benjamin’s ear.

~ Roedy (born:1948-02-04 age:68)

Suitable Names For Google

If you name your kid John Smith nobody will ever be able to find him with Google.

~ Roedy (born:1948-02-04 age:68)

Surveillance Cameras

What is the point of a surveillance camera with insufficient resolution to identify culprits?

~ Roedy (born:1948-02-04 age:68)

Synching

It is almost impossible to keep things in synch manually. Instead:

  1. Keep each fact in only one central database (not necessarily SQL (Standard Query Language) ) and access it as needed. Since there is only one copy of each fact, there is nothing to get out of synch.
  2. Use some automated tool so that if you change a fact is one place, it automatically updates the others.
  3. Write a sanity checker you run periodically to ensure all is consistent. This is the strategy compilers use.
  4. Document the procedures needed to keep all in synch if you change something and rigidly and mechanically follow them.
~ Roedy (born:1948-02-04 age:68)

Syntactic Sugar

Syntactic sugar makes programs terser and hence easier to understand and maintain. The blanket rejection of sugar is a manifestation of real men forge their own bits.

~ Roedy (born:1948-02-04 age:68)

Teaching Kids to Program

I was the head instructor at a computer camp in the 1980s. I saw my job primarily as ensuring the kids had fun, but, I discovered the kids learned at least ten times faster than in traditional schools.

At one point, three ten year olds interrupted my lunch to beg me to teach them trigonometry. The jaws of the conventional teachers lunching with me dropped.

I did many things quite differently than traditional instruction.

In conventional education, things are done for the convenience and preferences of the teacher. In my view, they should be done to fit the convenience and preferences of the kids.

There are problems with my approach.

~ Roedy (born:1948-02-04 age:68)

Technology + Evolution

Evolution has left us humans with a strong drive to compete with each other and with other species. Technology has escalated the power to satisfy that desire to the point of genocide and species extinction. Advanced technology even allows us to wipe out the entire human species and the large mammals. It is only a matter of time until we do it, possibly accidentally. We are doomed unless we develop artificial intelligence, wiser than we are, lacking this drive, that could prevent us from indulging our bloodlust.

~ Roedy (born:1948-02-04 age:68)

Temporary Files

OSes including Windows and languages including Java don’t properly handle temporary files.

Temporary files look just like ordinary files. Programmers have their own conventions to help find and delete them later e.g. by putting them in directories named temp or naming them temp*.tmp, but not all programmers do that. The powers that be presume programmers never forget and programs never crash. There should be a temporary attribute bit on files to ensure they are eventually automatically recognised and deleted.

~ Roedy (born:1948-02-04 age:68)

Text Editors are Inappropriate

Elderly programmers like myself did our first coding with patch cords, spools of paper tape and with 80-column punch cards. This paradigm has persisted, namely that source code for computer programs is a linear stream of ASCII text. Yet programs are really hierarchical rigidly structured data. If a customer asked us the best way to edit structured data, almost nobody would suggest a text editor, yet that is what we programmers use ourselves. We are as hide bound as Christians when it comes to our craft.

~ Roedy (born:1948-02-04 age:68)

Texting Costs

Texting costs the cellphone company almost nothing. It uses negligible bandwidth. It is so cheap for them, it should be bundled with any plan free, but they sometimes sucker customers for thousands of dollars for a few pennies worth of service. That has to stop.

When you use the Internet, it costs the same no matter where in the world you contact. Cellphone rates must not try to cheat charging long distance.

The basic principle should be that markup should be relatively constant no matter what the service. In a phrase commensurate pricing.

~ Roedy (born:1948-02-04 age:68)

Theory vs Law

In casual speech, a theory is just a hunch or that scientists call a hypothesis. In scientific speech, a theory is as certain as it gets. It is even stronger than a law. Think in term of music theory as opposed to music practice. There is no doubt whatsoever that a octave represents a doubling in frequency.

~ Roedy (born:1948-02-04 age:68)

Three Kinds of Error

There are three kinds of error, in ascending order of nastiness:

  1. Syntax errors, detected by the compiler.
  2. Exceptions and failed assertions, detected by the run time.
  3. Logic errors, detected by proofreading the output.

The beauty of Java is most of the errors are detected by the compiler.

~ Roedy (born:1948-02-04 age:68)

Tidy Your Mind

You picked up your mental programming about how you decide what to think and do in any given situation haphazardly and unconsciously. Consider tidying your mind. Think about how you want your biocomputer to work and test out the new ideas, then burn the new programming into your unconscious. The Ken Keyes Living Love Methods could be thought of as a school of programming theory.

~ Roedy (born:1948-02-04 age:68)

Time To Check

The amount of time you need to spend double checking your work depends both on the consequences of an error and the likelihood you will screw up.

~ Roedy (born:1948-02-04 age:68)

Tip

Any time any of your familiar programs behaves strangely, run:

chkdsk X: /F /B /R

on all your drives and then run a virus scan. Don’t wait. Using a corrupted drive just makes it worse.

~ Roedy (born:1948-02-04 age:68)

Tip For Novices

If you are correcting a document from a list of error messages with line numbers, work from the end of the document to the top.

~ Roedy (born:1948-02-04 age:68)

Toleration For Error

Programming has more tolerance for mistakes and less tolerance for uncorrected mistakes than other profession.

~ Roedy (born:1948-02-04 age:68)

Too Much Computer

You know you have been at your computer too much when you catch yourself trying to move the cursor off the screen and onto your wall calendar.

~ Roedy (born:1948-02-04 age:68)

Top Priority

Your top priority should be fixing bugs. If you carry on development, you are just creating more places you will have to search for them.

~ Roedy (born:1948-02-04 age:68)

Touch Screens

After years of teaching people not to touch the screen because it smudges, they come out with screens that you are suppose to poke at.

~ Roedy (born:1948-02-04 age:68)

Towel Rack

A towel rack should be mounted in easy reach from the bathtub. Mine isn’t. Why? The person who did the design never tested the design by using it himself. That is the same reason most computer programs are so user-hostile.

~ Roedy (born:1948-02-04 age:68)

Trashing Apple

Only Apple has such marketing cachet that they can release a device who primary effect is to make the user go deaf and have it hailed as the innovation of the century.

~ Roedy (born:1948-02-04 age:68)

Trashing Facebook

If ever there was a Communist conspiracy, Facebook is it. One by one it turns highly intelligent people into infants drooling over mindless video games for hours every day that look to me there were designed for 3 year olds.

~ Roedy (born:1948-02-04 age:68)

Trashing JavaScript

If you allow JavaScript to run on your machine, you enter the world of 1984 when every keyclick, everything you look at is potentially monitored. Your webcam feed can be turned on. The catch is corporations have arranged that if you turn off JavaScript their websites stop working entirely. They want to spy on you.

~ Roedy (born:1948-02-04 age:68)

Trashing JSP (Java Server Pages)

JSP is like a 400 year old house where each generation that lived in it tacked on an extra room. There is no overall plan, just a hodgepodge of architectural styles kludged together. The syntax is, to be kind, appalling.

~ Roedy (born:1948-02-04 age:68)

Troll Feeding

If you don’t feed the trolls, they will eventually go away.

~ Roedy (born:1948-02-04 age:68)

Trouble With Einstein

I have read a number of explanations of Einstein’s theory of special relativity. I find myself very frustrated and even angry at the authors. Why?

~ Roedy (born:1948-02-04 age:68)

TSTL (Too Stupid To Live)

Fishing toast out with a fork, sharing needles and sharing passwords are activities common to those TSTL.

~ Roedy (born:1948-02-04 age:68)

Twitter

One of the few nice things I can say about Twitter  is that it teaches brevity.

~ Roedy (born:1948-02-04 age:68)

Twitter Analogy

In his novel Capitol, Orson Scott Card describes a civilisation with a cult of celebrity. To prolong the lives of celebrities, they are put into suspended animation only to wake for one day in a century. During that day, every waking moment is holographically recorded. Twitter  gives the illusion that you are such a celebrity and the world is desperate to know precisely what you ate for breakfast and how your bowels are functioning.

~ Roedy (born:1948-02-04 age:68)

Twitter is…

Twitter is for people who do not get enough spam.

~ Roedy (born:1948-02-04 age:68)

Twitter is…

Twitter is like playing with other people’s feces.

~ Roedy (born:1948-02-04 age:68)

Twitter is…

Twitter is the washroom wall of the Internet.

~ Roedy (born:1948-02-04 age:68)

Twitter Limit

Twitter’s limit of 140 characters permits:

It is an invitation for people to behave like adolescents. It designed for shallow people like Sarah Palin and no surprise, she chose it as her preferred social medium.

~ Roedy (born:1948-02-04 age:68)

Twitter as Ooze

Is Twitter  the primordial ooze from which a planetary consciousness will evolve?

~ Roedy (born:1948-02-04 age:68)

Types of Garbage Collection

~ Roedy (born:1948-02-04 age:68)

Unified Names

I would like it if you changed a class name, if all references also changed to match, and all references in all scripts changed to match. Similarly if you changed a file name, all scripts and all code would change to match. You need a mechanism to delay the switch in production files until the code goes into production.

~ Roedy (born:1948-02-04 age:68)

Unmaintainable Code

The cardinal rule of writing unmaintainable code is to specify each fact in as many places as possible and in as many ways as possible.

~ Roedy (born:1948-02-04 age:68)

Unwelcome Customer

CMP (Canadian Mind Products)used to build custom computers. One woman used to bring in her temperamental ancient EGA (Extended Graphics Adapter) computer for us to repair. It was a black hole for time and it was hard to touch it without something else going wrong. There was no way we could bill for all the time we spent on this thing and besides her finances were very tight. I detested that machine, but she had no budget for upgrades. I was preparing an invoice and noticed the spell checker had changed her name to Enema. It was as if my computer knew how I felt about her computer.

~ Roedy (born:1948-02-04 age:68)

Up Front Optimising

Contrary to Knuth’s classic advice, there is a certain kind of optimising you must do up front. You must decide up front, for example, whether to process sequentially with batch files, process Collections totally in RAM or use an SQL engine. This sort of decision can’t be tweaked at the last minute without immense disruption. You must get it right before you start.

~ Roedy (born:1948-02-04 age:68)

Use Examples

In writing documentation, I have found people have little difficultly generalising from a concrete example, but have endless inventiveness in misinterpreting a generic description, particularly if it written in my own private variant on BNF.

~ Roedy (born:1948-02-04 age:68)

Value of Paranoia

All great programmers are paranoid.

~ Roedy (born:1948-02-04 age:68)

Video Addiction

People who immerse themselves in games, board games or video games, are much like drug addicts. They have opted out of solving society’s pressing problems. They are expending considerable effort to no purpose.

~ Roedy (born:1948-02-04 age:68)

Reverend Johnson: Oh Lord. Do we have the strength to carry on this mighty task in one night? Or are we just jerking off? [Blazing Saddles].

Viewing the Sky

If you sat at the North Pole for a year staring at the sky, you would see only 50% of the celestial sphere. If you sat at the equator you would see 100%. What is the formula for the percentage given the latitude?

~ Roedy (born:1948-02-04 age:68)

VisiCalc

Written for the Apple ][, VisiCalc was the first spreadsheet. The originality of the spreadsheet concept overshadows VisiCalc’s other, even more important, but to us, obvious, innovation — selling the same program, unmodified to the mass market. Prior to that, programs were nearly always custom written or custom modified.

~ Roedy (born:1948-02-04 age:68)

Vision Hardware

The retina does quite a bit of image pre-processing. There are 20 different types of cell. You could think of the retina as like 20 different kinds of specialised camera. For example, W3 cells are specialised for detecting predatory birds overhead.

~ Roedy (born:1948-02-04 age:68)

Visual Feedback

Every time the users clicks a key or clicks the mouse, the screen should immediately change, even if only for a second. Without that, user cannot tell if the click took.

~ Roedy (born:1948-02-04 age:68)

Voting With Your Mouse

On the Internet, users continuously vote for what they find of interest by clicking with their mouse. If it is the drunken binges of Lindsay Lohan, the vendor will provide more of that because the content is just bait for ads. The users get what they deserve, what they ask for, what they will put up with. Measured in terabytes of traffic it is mostly hard core pornography.

~ Roedy (born:1948-02-04 age:68)

Vulnerable Internet

When you discover how vulnerable the Internet is to various forms of attack, to forgery, to spam, to DOS and when you find out there is no way to exclude bad guys from just tapping in you wonder how could it possibly could have started out designed for military use.

~ Roedy (born:1948-02-04 age:68)

Walking to Think

In past centuries, if someone had a difficult problem to solve, they would take a long walk. Today they are afraid to use the technique because it would be perceived as goofing off.

~ Roedy (born:1948-02-04 age:68)

Watch Featuritis

The Timex company, (and others) despite making watches for decades does not understand customers like me. I have a simple need.

I already have an alarm clock. I do not want to time horse races. I do not want to track the time in Kuala Lumpur.

They put so many features on even the most basic models that if you hit a button by mistake, the watch goes off into some obscure mode. You have to find the manual and spend 30 minutes getting it back to ground state. The watch is unusable in the meantime.

If they must put on all those bells and whistles, there should at least be a button you hold down to put the watch back into ground state. For configuring the watch, you should be able to use a computer where you have all the buttons you need, a mouse and online help. The time should automatically sync from the computer’s time, including DST. It could work with a Logitech unifying USB receiver, the way a wireless mouse works.

~ Roedy (born:1948-02-04 age:68)

Waterless Computers

Unlike many machines, computers require no water once they are manufactured.

~ Roedy (born:1948-02-04 age:68)

Wavicles

Understanding quantum mechanics has been held up by the refusal to introduce the word waveicle into the vocabulary. We insist on saying an electron is like a wave and like a particle. This is like saying a car is sort of like a horse and sort of like a cart and refusing to think about it as its own category. Once we do this, we can start thinking about the properties waveicles have and eventually develop intuition.

~ Roedy (born:1948-02-04 age:68)

As We Really Are

If some years from now a organisation offers to let you see how others see you and you decide to give it a whirl and decide the results are completely wrong, check how well that view explains the universe compared with how your current assumption does.

~ Roedy (born:1948-02-04 age:68)

Website Grumbling

One thing I love about having a website, is that when I complain about something, I only have to do it once. It saves me endless hours of grumbling.

~ Roedy (born:1948-02-04 age:68)

Website as Loudspeaker

If you have even a small website, more people will come to listen to you expound in a day than went to see Socrates in a year.

~ Roedy (born:1948-02-04 age:68)

Weird Science

The following bits of science do violence to my intuition.

~ Roedy (born:1948-02-04 age:68)

Where to Look For Bugs

When you can’t find a bug, you are probably looking in the wrong place. When you can’t find your glasses, you don’t keep scanning the same spot because you are convinced that is where you left them.

~ Roedy (born:1948-02-04 age:68)

Where?

When you maintain a program, you have a fair idea what it does just by playing with it and looking at its menus. What you want to know is where it does it. Be kind and leave hints cross referencing similar code.

~ Roedy (born:1948-02-04 age:68)

Why DSK (Dvorak Standard Keyboard)?

When I started typing on an old manual Underwood typewriter, I used two fingers. Later, when I tried to touch type with the QWERTY layout on an IBM keyboard, my wrists would immediately start to ache. I later tried the DSK layout and then the Kinesis ergonomic DSK KB133 PC/QD keyboard. I discovered could touch type all day without pain. I once clocked myself at 100 WPM (Words Per Minute). I might be even better now.

I have heard several experts say the benefits of switching to DSK are not worth the effort. However, consider your hourly billing rate, and how many more years you will be typing. Even a 2% speed increase really adds up.

~ Roedy (born:1948-02-04 age:68)

Why I Studied Math

At university I studied mathematics because it was my worst subject. Everything else was pretty easy to coast through using memory. There did not seem much point in just grinding more raw facts down the sausage tube. I wanted to learn to think.

~ Roedy (born:1948-02-04 age:68)

Why Post?

The main reason people post publicly is to change the beliefs of others: political, religious scientific…

~ Roedy (born:1948-02-04 age:68)

Other motives include entertainment infuriating others and attracting attention.

Why the Simplicity?

Have you ever noticed that the equations to explain the universe always fit on a single page? Does this mean the universe is inherently simple or that scientists have not get been able to solve the problems where the solutions take a whole bookfull of equations?

~ Roedy (born:1948-02-04 age:68)

Why Video Games?

I can understand the intellectual challenge of writing video games but it utterly baffles me why anyone would play one. When you are done you have nothing to show for all the effort. You have no skill to use elsewhere. You don’t even have any wages. Since the world is so full of real problems crying for solutions, why jerk around with artificial time wasters?

~ Roedy (born:1948-02-04 age:68)

Why Is a Week 7 Days?

That the week has seven days is not arbitrary. One lunar month is approximately four weeks.

~ Roedy (born:1948-02-04 age:68)

Will Artificial Life Displace Us?

Yes, artificial life will displace us. Why?

~ Roedy (born:1948-02-04 age:68)

Wind Owls

When I made a typo in the word Windows, the Forté Agent spell checker suggested that I intended to type wind owls.

~ Roedy (born:1948-02-04 age:68)

WORA (Write Once, Run Anywhere)

Prior to 2005, computer scientists struggled with the problem of making the same program run on different hardware. After 2005 they struggled with how to stop it from running anywhere but one environment. The key tool was the proprietary plug-in API (Application Programming Interface) that ensured a program had to be designed for only one browser or host. The other tool was digital rights.

~ Roedy (born:1948-02-04 age:68)

Write Comments First

Write the comments first!

~ Roedy (born:1948-02-04 age:68)

Yak Shaving

I can’t see how anyone can estimate a computer project that is not just a theme and variations of one done before. Trivial problems unexpectedly turn into a regress of Yak Shaving.

~ Roedy (born:1948-02-04 age:68)

Is Your Child a Potential Computer Programmer?

A computer programmer has to be a patient stickler for detail. If your child typically does thing like the following, computer programming may be a suitable career.

~ Roedy (born:1948-02-04 age:68)

This page is posted
on the web at:

http://mindprod.com/quote/programmingbyroedy.html

Optional Replicator mirror
of mindprod.com
on local hard disk J:

J:\mindprod\quote\programmingbyroedy.html
logo
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

IP:[65.110.21.43]
Your face IP:[54.197.142.219]
You are visitor number