Thursday 20 December 2012

Groundbreaking programming psychology research

http://synesthesiam.com/?p=218

slashdot:

How Experienced And Novice Programmers See Code

http://developers.slashdot.org/story/12/12/19/1711225/how-experienced-and-novice-programmers-see-code

Man, the novice took a long time to read the code. Their eyes dart all around the code, building a picture of where everything is and then trying to understand it all in one go.

That's a bit slower to do. What one should do is to skim the code, separate it into non-submersible units and then understand what each unit is doing. For more inter-connected/complex code, the first step will also include identifying the relationships between the non-submersible units.

It's an interesting difference that distinguishes experienced and less experienced people, and can ultimately make the difference between being able to trace the code and getting stuck in a loop of code-skimming. (I've been there.) 

So the question I want to answer to know is if this can be taught. I think it can be, and there are two ways to do that. The first way is to try tracing code without this technique first and then applying the technique, to note the difference. The alternative is to learn the technique first and then always trace code in this structured way. Both seem fine, but to me, there's a crucial difference. Learning in the first way gives you self-knowledge and appreciation of intelligence the other does not. Perhaps the latter even feels a bit robotic and is more likely to be unlearnt. The reason for this is simple - there was no choice given. The learner has to just take it in or revert to his own natural method of reading code.

Hopefully, this example has given an illustration of the subtle and often overlooked importance of choice in learning. 

Saturday 15 December 2012

That's what we said!

I like the bit about wanting to hurl calculator at wall.


http://science.slashdot.org/story/12/12/14/214231/ask-slashdot-replacing-a-ti-84-with-software-on-a-linux-box

Thursday 13 December 2012

Government growth is not based on reality

Educational Example: Government will find other ways to grow. 

The graphs below demonstrate the huge increase of citizens incarcerated for non-violent crimes in the last 20 years.




Friday 7 December 2012

PLA Drills 07122012 (1000-1100)



This time, I was prepared.
OK, it's still a cheap old camera, but 5x zoom is better than no zoom.

Objects of Interest:
What's up with the rescue operations and flares?
Who are the people watching from the ferries?
Who are the people in the speedboats?
The aircraft overhead has not been sighted or mentioned before. It was circling before the drills began. What is it doing here? Why is it completely unmarked? It's too small to be a BA Jetstream-41 and clearly appears to be a drone. It also has a camera/sensor hump on the underbelly. 



















Tuesday 4 December 2012

How to Reduce the Size of Government


1. Build Communities: 
If you have communities, you need less government in times of trouble, crisis, problems of all sizes. Strong communities is the difference between rural China and metropolitan China.
Example: If you have lots of smart friends in the same course, you don't need a TA. Studying together is better for everyone than running over to the TA.

2. Think how you can solve the problem before you appeal to community, and only go to the state as a last resort:
The more you rely and utilize on something, the fitter and stronger it gets.
Example: The TAs are underpaid for the work they do. Ask your friends first and learn together, and leave the TA to do his research in peace.

3. Understand that there is no free lunch - either you're paying for it or someone else is paying for you! (or they're borrowing and paying interest!)
Example: If you want more public housing, you're just telling the government to tax someone else so that you have a flat, because you know you can't just go to your rich friends/neighbors and tax them for 100K.

4. Don't expect to be able to control a government from the outside:
For most of history, trying to control the government from the outside has historically led to tragedies.
Today, you can expect fierce competition from other big interest groups trying to do the same, when everybody wants a share.

5. Reduce your tax obligations:
Fiscal budget surpluses lead to calls for more government spending, which leads to big government with alphabet agencies.
Also, don't expect to get your share of government services back after a lifetime of paying taxes when big government and lobbyists misspend your hard-earned money.

6. Avoid Big Business with the government:
Big government wants your personal information and respect so they will always be and increasingly relevant to you.
Example: Marriage. Why should one get a license to prove love, or declare their relationship? Unless you are like so sure it'll be great forever, keep it to yourself and don't declare it to the Government. Avoids the messes you can see so often on TV drama, and in the statistics.

7. Know that government is ultimately an illusion
Government does not really exist, but all the symbols, objects, people, uniforms, government spending puts you in the reality everyone else is in. Know that when you deal with government, it is a lot of disconnected entities. Divide and conquer, and study the parts. It makes everything governmental easier to think about.

Doing so, remember that your beliefs will be open to all sorts of challenges and eroded, to the extent that people eventually give these beliefs up - which leads us to the next point.

8. Get to know people who think about the same things as you

All ideas bond people to each other, and people are ultimately social beings to varying degrees. Get to know people who think about the same things as you. Growing intellectually together is an awesome experience, as you may feel/have felt at college. Action eventually becomes easier as a group.




to be continued...