Friday, October 30, 2009

Innovation and Blogging Software

I don't have anything against innovation - provided it's more useful than the inconsistency it introduces. Tools, including software, are used for other ends, they are not ends in themselves except for a few people who specialize in them, or are otherwise particularly interested in them.

Part of the problem is that different people value different things and, consequently, want different things in their tools. This inevitably introduces complexity, both in the variety of tools available and in the tools themselves.

When browsing the internet and blogs, I am interested in finding interesting or useful content, not in learning to manage a dozen different software systems. There are too many different blogging/commenting systems. For someone interested in finding useful or interesting content rather than in "communing", it is seriously annoying to keep track of how they work.

Standardize somewhat on the blogging/commenting systems. Reducing the number of different systems will lessen the complexity a lot more than adding features to one or another would increase it. Reduce the number of systems by making it easier for current sites to transfer to another system. Reduce forking of projects by making it easy to patch systems to a consistent standard.

What Is a Model?

A model is a simplified, abstracted representation of an object or system that presents only the information needed by its user. For example, the plastic models of aircraft I built as a kid abstract away everything except the external appearance, a mathematical model of a system shows only those dimensions and relationships useful to the model's users, a control system is a model of the relationships between the stimuli and the response desired by the designer and user of the larger system being controlled (evolution as designer and organism as user in biological analogy). A control system doesn't make a model of a system, to a large degree it is the designers' model of the system it controls.

At the simplest end are one-dimensional models, that we call measurements.

The most complex models are not explicit, they are too complex to be explicitly known, much less communicated; the model of the world that each person carries within his own mind.

Thursday, October 29, 2009

The Relationship of Software Engineering, Computer Science, and Programming

Computer science underlies programming rather like physics underlies engineering. You can do some programming or practical engineering with rules of thumb and copying from references, but they will ony take you so far.

What is needed for software engineering to become a reality, rather than a glorified name for programming, is a set of reliable principles for designing and building effective software, that is software that works as expected. Prototyping is the currently most effective way of building software, but it is not software engineering; it is an admission that there is not yet a discipline of software engineering.

From what I have read, even the large scale, high reliability programs are built more by careful programming, testing, and debugging than by detailed up-front design, the way large scale engineering projects are.

The main reason is the incredible complexity of software projects. The only physical products that approach software in complexity are large scale integrated circuits.

Software engineering will be an engineering discipline when the development of a new operating system, the associated utilities, and APIs is as predictable and stable as the design and construction of a new skyscraper.

This is all from general reading and memory, if you agree or disagree with me, please leave links to any sources you may have in comments.

Benefits of Having a Purpose

To get the benefits of having a "purpose" it doesn't need to be spiritual or altruistic or even helpful to others, all that is necessary is that it keeps you from dwelling on yourself and your own problems. Serious study, if it is interesting enough to you and difficult enough to really engage your attention is more than enough to gain you the benefits of a "purpose".

Partially a response to a post on Less Wrong back in February.

Saturday, October 17, 2009

Risks, Actions, and Benefits

Partially a response and clarification (at least I think it's clearer) to the strategies presented in Alicorn's post on Less Wrong, The Shadow Question. One of the big problems in her discussion of strategies is the conflation of up-front costs with risks.

"First, Do No Harm": When it is as easy to make things worse as better, be damn sure you know what you're doing before you start fixing things.

"Cherry on Top": An invitation to fiddle; small changes are very unlikely to make things worse, and may help.

"Lottery Ticket": She talks about a risk of making things worse, but it looks more like (from her examples and general discussion) that she means is an upfront cost with a chance of significant benefit later.

Insurance: The other headings were hers, but the one she uses here is misleading, as is her discussion. This is related to "Lottery Ticket" in having upfront costs, but in this case it's to prevent an unacceptable risk of harm. It can be something as simple as insuring your house against fire, so you have a temporary place to live and your house gets repaired (or you get a new house if that's easier/cheaper). To actually working to make a risky future less likely (for example, working on Friendly AI).

Another strategy mentioned by Morendil in a comment is "Go for broke" (a less functional version of this would be Russian Roulette), a big risk with the chance of a big reward, like First, Do No Harm, but higher potential risk/payoff matrix.


First, Do No Harm - Use knowledge to avoid as much risk as possible while still seeking the reward

Go for broke - Straightforward acceptance of large risk with large reward

Cherry on Top - Seek benefits at minimal risk

Lottery Ticket - Pay an up-front cost for a small chance at a large benefit

Insurance - Accept an up-front cost to hedge against a risk

Adventure sports isn't a risk management strategy, I mention it here because it feels like there should be a benefit - Seek the thrill of risk, while reducing actual risks, and not getting any benefit except the thrill

If you think of any other generic strategies, please leave a mention in the comments.


As an aside:

As for the title of the original post, I had to Google "Shadow Question". I don't watch television and have never seen an episode of Babylon 5. Given the page I found that describes the show, that was no loss. But the "two questions", "Who are you?" is the Vorlon question. "What do you want?" is the Shadow question. I guess you could call the first one silliness, and the Shadow question practical.

Tuesday, October 13, 2009

Lies and Secrets I

Another problem that make lies worse than keeping secrets is that lies are tailored to be believable - they are often more believable than the truth is unless and until they are specifically investigated. This is also the problem with myths, such as religion, that we grow up believing. The Bible is rife with nonsense, the only reason anyone would consider it anything other than ancient fiction, like "The Illiad" and "The Odyssey", is that they grew up being conditioned to believe (or at least accept) it.

Also, "The truth is a valuable commodity that we do not automatically owe anyone." From memory from Smith's "Forge of the Elders" - not an argument from fiction, just that I cannot think of a better way of putting it. Of course there are often, probably usually, good reasons to make accurate information available to others, their actions being based on accurate knowledge generally improves your well being.

Exaggerations are lies, but a specific type, where the basic claim is true, but the statement goes beyond the basic claim in some way for a particular effect on the audience. Exaggerations are specifically manipulative lies.

Excuses are sort of junior grade lies; they may not be actually false, but they do not inform and often mislead. "An excuse is an abdication of responsibility", to quote Rands. If you don't know or if you messed up, admit it. It won't feel good, and won't make you look good; but making excuses just stretches out the pain, and will ultimately make you look and feel worse. If you feel tempted to make an excuse, stop and think about it for a moment, then say something useful about the situation; "I don't know, but I will go and find out".

Rands concludes:
Each time you open your mouth, you have an opportunity to build something. That’s the perspective you want during the uncomfortable dead silence, not the victim-based emotion of excuse.

I’m in a hurry, but being in a hurry isn’t an excuse for not taking a small amount of time to say something real.


This was partially a response to a post on Less Wrong Lies and Secrets

What Ifs - American History I

What if - the railroads had taken a different route or never been invented.
What if - the Chesapeake and Ohio Canal (C & O Canal) had continued on past Cumberland, MD, as it had originally been planned.

I had an interesting dream this morning as I awoke; actually the dream was pretty mundane, the alterations from the real landscape were what was interesting. I didn't notice the differences while asleep, the landscape in the dream was just accepted as dream images are. The dream images carried over as I woke and I then wondered about them.

I live in Cumberland, Maryland, the endpoint of the C&O Canal from Washington, DC to the south and east and the National Road to the west. The C & O Canal follows the Potomac River up to Cumberland and was supposed to continue west through The Narrows and up Wills Creek, then zigzag through the mountains to a branch of the Ohio River and down to Pittsburgh. But the railroads got to Pittsburgh first, and slower progress and cost overruns had plagued the Canal (along with nasty floods from the Potomac River) and progress was stopped at Cumberland. The Canal was finally closed completely after a flood in 1924. There are two railroads flanking the sides of The Narrows with the National Highway and Wills Creek between.

In my dream there was a paved footpath on the south bank of Wills Creek, where the road is in reality, and the road crossed the creek and followed the north bank, where the Chessie railroad, formerly the B&O (Baltimore and Ohio) railroad runs. Thinking about my dream images, I realized that not only were the B & O tracks missing, but the Iron Bridge supporting the Western Maryland Railway, that we should have passed under in my dream had been missing as well. After wondering about it, I realized why it could be like that. Hence, my opening what ifs.

If the C & O Canal had been continued up Wills Creek, the towpath would have continued also, right up the south bank of the creek, where my dream's paved footpath lay. If the railroad didn't pass through The Narrows, then the north bank would have been available for the National Highway right of way. I wonder what caused the dream images to come about, since I hadn't actually thought about those what-ifs before. It is enough to make one think about those SF stories where dreams are distorted images captured from "alternate-you"s in different history branches.