It’s interesting to find old favourite things that you’d completely forgotten about. For one reason or another I looked on my old the other day and found that one of the most listened to albums there was something that I haven’t listened to for over a year, This Binary Universe by BT.

Why did I forget about this album, which was (and once again is) one of my favourites? For this specific one, I deleted a lot of pirated music from my library and couldn’t find an affordable second-hand copy. More generally, why do people need constant reminders even for media they enjoy?

A couple of Google searches led me to this 1974 paper titled Cue-Dependent Forgetting. The author Endel Tulving argues that when we forget, we are not necessarily losing the information, but simply the keys for the information that we have forgotten.

This is an interesting idea, and as far as I can tell a now well-established one. Indeed, much of the memorizing and studying advice found in the SRS literature recommends studying in multiple places to reduce the knowledge becoming connected to the context of the environment, rather than the intended cues.

Now the cause for my forgetting about that album become clear. At about the same time as I deleted all that music, I moved house. The context that I was listening to music in changed, so I lost the cues I had that might remind me of that particular album, and I lost the album itself. The concurrence of these events meant that even though it’s still one of my favourite albums, I never thought to listen to it since then.

Collective decision making

A lot of people and groups have their pet system for group decision making. Robin Hanson has his prediction markets and futarchy, the general public has representative democracy, groups like Occupy Wall Street have direct democracy. Which of these is the best, which are okay, and which are worse than random?

There is a lot of discussion on LessWrong about individual rationality, but I agree with Robin Hanson that the Rationality Dojo metaphor is invalid, since in martial arts individuals almost always learn to fight alone and not in groups.

A much higher proportion of the important decisions made are group decisions. Decisions by all scales of government, corporations, unions, NGOs, schools and courts generally have a much bigger impact than most individuals. It might go against the individualist ideals that we have, but it’s the truth. It’s very rare for individuals to shape history, compared to how often groups of individuals do.

This  does not necessarily mean that group decision making should be prioritized. When it comes to urgent issues, it can be easier to change the individual habits of lots of people than the habits of larger organizations. While an individual can learn to change their mind in a few months of work, it can take decades to change forms of government in unstable nations, and even longer in more stable ones.

I would argue that spreading individual rationality to those in a position to change our systems of group rationality is the most important idea, and once that is in place the relatively simple work of finding, teaching and advocating the best group rationality systems can be done more effectively and with less wasted effort.

In a future post, a few collective decision making procedures will be analyzed for effectiveness for a range of situations with different numbers of agents with varying levels rationality and incentives that encourage and discourage the effectiveness of the system.

Science degrees

Engineering and science are two areas of human knowledge that complement and enhance each other, but there is sometimes disagreement about which degrees we wish to encourage people to get, and which kinds of knowledge are worth more to society. I disagree with this dichotomy, and in particular with people who think that those who are currently getting science degrees should all move into engineering fields.

Science degrees at present are done suboptimally. The main filtering for PhDs and other actual scientists shouldn’t be done after so much has been spent training people to the BSc level. However, scientific thinking is important and science degrees are applicable to fields beyond the ones in which they are obtained. Scientific thinking and problem solving could be taught much more effectively without needing to teach specific classes on biology or chemistry with any pretense that it’s for purposes other than pure interest.

Many physicists and other people with science degrees end up working in engineering-type fields anyway, usually some way upstream from the work that EEs do. It’s physicists that design a lot of new computer hardware and develop the technology for things like SSDs, it’s chemists that develop drugs and all sorts of industrial chemicals, and it’s biologists that go on to develop vaccines and advanced agricultural techniques.

So while research is a small part of what people with science degrees end up doing, it’s not like all the other stuff could be replaced by engineering degrees. Perhaps the more general scientific skills like statistical analysis, empiricism and what people call “scientific literacy” could be taught in smaller chunks than the science degrees that people get these days so they can be applied to more fields, but the knowledge still has value.

Engineering degrees, too, teach a kind of thinking that is useful in a broader range of fields than it is usually applied to. The sorts of problems engineering can teach people to solve is a different set to those that science teaches people to solve. Instead of asking why things are, it asks how to do things and how to do them better. If there were ways to encourage this thinking without a full 4 year degree, more people would be able to learn those skills and apply them to more problems.

It’s a sad state that so many students have to choose between these complementary styles, and could benefit so much from knowing both. By encouraging shorter courses, perhaps using online methods to simply teach rather than to get qualifications and status to wave around, people could learn how to think in more ways, and more questions would be found by those who can answer them, and more problems by those who can solve them.

Lessons from (trying) to learn to code: WIP

For an awfully long time, my procrastination when it came to learning how to program was terrible. I’d download a book, or find some lectures, or sign up to some website, and I’d do a few basic tasks. Then I would get distracted by some article on Hacker News or Reddit about some new, better, or just different course, and I’d try that one instead.

This would have been problematic even if I were covering different material each time, but unfortunately this was not the case. I’ve covered the very basics of Python about five times since I decided to learn. It ended up as a vicious cycle, with boredom with the fundamentals causing me to switch more regularly, causing me to be covering the fundamentals again.

After reading a couple of rationality blogs and books, I applied such introspection to my failures and noticed what was going wrong. I spent some time choosing a new book, promised to finish it, and began to work through it.

I recently finished this course, and I’m learning more practical stuff now I have the necessary knowledge. Here’s what I’ve learned from my previous failed attempts at learning to program.

Spend time choosing at the start
If, instead of just launching in to the first free book on python, I’d spent half an hour looking at the options, writing up some notes on what people said, and making what seemed to be a good decision from the very start, I might have saved myself all this trouble. I certainly wasn’t thinking rationally when deciding what to use in the first place, with my decisions more weighted on what was most easily accessible.

It’s tempting just to get started straight away, but you might end up with something too technical, or assumes previous programming experience, or is paced too slowly to be interesting. Look at the recommendations of other beginners who are now showing results. And remember to consider languages such as Ruby.

Stick with your choice
This is another obvious one. A large part of what I was doing wrong was always looking for better material to learn from. There definitely were superior books to what I began with, and each time I changed I might have been moving to something better still. However, the time I lost in each attempt more than made up for any potential gains in efficiency from the superior learning resource. When you’ve chosen your course, stick to it.

Don’t expect to be a pro immediately
After skimming through the contents pages of some books, I saw what I would have learned by the end and thought “Then what?”I knew that variables, loops, and functions were necessary, but at the end of the day you can’t create a program that’s very useful for a novice from just such basic components. I could write some easy things, use it to solve some Project Euler puzzles, but nothing much more.

The important thing to remember is that an introductory text won’t make you a capable programmer straight away, but rather give you the skills you need to learn the actually practical stuff. It has been written to teach some programming thinking, to get the syntax down, to learn the stuff that will need to be known intimately for anything to get done. It has not been written to teach you GUI programming or game graphics.

Have something to move on to next
Something that really committed me to the book I used in the end was the fact that it had a recommendation for the next step, a more advanced book to read. It doesn’t have to be the same thing. It could be an existing project to understand, or a basic application to make, or whatever. The important thing is to have a goal in sight for the end, otherwise there’s no motivation.

Do all the exercises, read all the text
Perhaps you’ve tried and failed at learning to program before, but did learn a little of the basics. This is not necessarily helpful, and different resources teach things in a different order. If you’re starting a new course, go all the way through the stuff you already know. It’ll suck, but it’s likely you’ll pick up something new that you’ll need later.

Don’t expect to learn everything from the book
Not all the skills you need will be found in the text you’re working with. I previously mentioned that the introductory book will teach you to think in the right way, but it doesn’t do it magically. Only by completing exercises and solving other problems do you really begin to understand what writing code is about.

Read source code
Even when you don’t understand very much, going through other’s source code will both give you an idea as to how programs are structured in the real world, and hint some of the other stuff you’ll need to learn. You’ll spend a lot of your time reading it once you actually have a project to work on too, so keep that in mind.

This is probably obvious for those of you who have engaged in autodidactic behaviour from a younger age, or simply thought about things before jumping into it. Thanks to hindsight bias, I could slap myself for making so many obvious mistakes. The worst of it is that I cost myself so much time in which I could have develop my skills further. As it is, I hope I can prevent others from doing the same things wrong as I did, though I’m sure everyone will find new and inventive ways to make everything go horribly wrong.

My Grandfather’s Bach: WIP

Semi-creative writing. Some facts have been changed and simplified to tell a story, at the expense of certain true beliefs. In particular, I have important goals other than the one mentioned towards the end.

My great grandfather left his house to his 12 grandchildren when he died. By the time I was born, it had been tidied and cleaned a lot, but hadn’t lost that comforting clutter it had in the old photos. Piled up on shelves and hanging from the ceiling, rusted old harpoons and glass buoys and lanterns. Hanging from the ceiling, near the potbelly stove, was an inflated pufferfish.

A good third of the house was taken up by the game’s room, which consisted of a full-sized pool table and a dart board. There was no way to move the pool table into the finished house, so the house was built around it. It was at that table, lining the coloured snooker balls and pushing them into each other, that I began to learn of things such as the conservation of momentum, friction, elastic and inelastic collisions, all my little experiments to see how things worked. I got excited before my first science classes in school, only for me to find that I knew all this physics already.

My first visit there was before I could remember. There is a video of my asking, in that way toddlers do, to be escorted past the gorse and prickles and bees, to the beach so I could play in the sand and the sea. Using the few words that I knew at the time, I succeeded in getting my point across. “Hand! Hand! Beach!”

The place was sold when I was 12 years old. Out of the 12 people that had a share, only a few wanted to keep it, including my mother. It was sold, and all the wonderful stuff that my grandfather had collected was sold or given away. I got the pool table’s scoring board and the stuffed pufferfish.. My parents have a glass buoy.

My parents spent the $50,000 we got from the sale of the house on a trip to and around Europe. That trip was amazing, moving between Paris, Venice, Rome, Athens, and a Greek island called Santorini. I still don’t know what I would have preferred. I know I miss that place, and I wouldn’t have missed a trip to Europe had it never happened.

My ideal reading place would be there again. If I can ever afford it, and it’s on the market, I’ll buy it again and live there. If I can do that, and spend the last 10 or so years of my life reading, picking up harpoons and lanterns and buoys from the sea, and living in that house, any other failures or successes of mine will be secondary.

Environmental Crises and Solutions: WIP

This was originally a reply to a comment by redditor bsoile61 on this article. Edited since original version so it makes sense without bsoile61’s comment, though it still requires the article to be read. WIP, so all critique is welcome.

Progressivism sometimes achieves good things, such as the transition from traditional monarchies and feudalism to democracy and market economies. For science to actually have any impact on the world beyond pure advancement of knowledge, without applications, it needs to interact with government and business. While there are likely substantial biases and naivete in the recommendations here, simply “sticking to science” isn’t exactly going to effect any changes, and scientists are experts who have valid contributions to make in issues like this.

The article does ring of the usual bureaucratic bullshit that seems to come out of these things. I can’t say I know enough about environmental issues to be a good judge on how important it is, but some of the issues seem pretty big and urgent. Unfortunately, this proposal seems to mostly be passing the buck to the UN, which I don’t really trust as an effective organization and doesn’t seem to have a good track record for getting things done. The power of individual governments is limited to economic incentives and straight-up banning stuff, which usually has significant negative effects for those individual countries.

If there were some treaty to drastically reduce whatever shitty things we’re doing for the environment that are actually important, it would need to have at least these two things:

  1. Less cost to poorer and weaker nations than richer and stronger ones. Lots of places are in the shit already, and for them getting to a point where environmental concerns can become a priority is important.
  2. A way to punish defectors including the extremely powerful countries like the USA and China, so we don’t all sign some treaty, pat each other on the back, and then ignore it.

This situation is analogous to an iterated prisoner’s dilemma, where any single government or other organization loses out if they do something to prevent environmental harm without most other countries and organizations doing similar things as well. A pretty good strategy is tit-for-tat, but the “tit” in this case is simply to carry on doing whatever harm it is they were doing in the first place. This means that we need a punishment strategy beyond that, but what it could be I don’t know. If it were something sufficiently bad then other countries would never defect at all and it would be alright, but anything that’s bad enough for that to work we probably wouldn’t want to do anyway, and then countries might call the bluff.