Quoth the article: People used the left elevator more than the right one
This makes me wonder: Did people choose the left elevator; or was there a single-elevator-call button which they pressed, upon which the elevator-control program preferentially dispatched the left elevator? I wouldn't be surprised if the elevator-control program always handled the situation with two equally close available elevators by dispatching elevator #1 rather than elevator #2.
Is anyone here familiar with the Tisch School of the Arts?
The office building I work in has three elevators; my observation has been that when I call an elevator at high-traffic times such as lunch-time or 5PM I might get any elevator while at lower-traffic times I tend to be allocated the left or middle elevator.
My mental model is that an elevator with scheduled destinations (buttons pressed inside) is 'allocated' and an elevator travelling to service a call is 'allocated', while other elevators are 'free'. If you press 'down' and there are no elevators above you going down, or if you press 'up' and there are no elevators below you going up, the left-most free elevator will be dispatched.
It makes sense to wear out elevators unevenly: If two or more elevators were evenly used, it's more likely they'd break down at the same time, leaving your building with no elevators at all.
This same logic could apply to everyone; everyone should be hackers.
I really believe we should be educating middle and high school kids about how to use computers for more than the internet and document processing. Given the way computers and the internet are everywhere and are used for so much, computer use / programming / scripting should be a required class like history and science are.
Completely disagree. That's like saying mechanics classes should be required, since everyone has a car and other machines. Most people can't, or are incredibly not interested, in being at the level of even simple scripting.
There is only one solution to letting more people do more things with computers: make things easier. Things that were once impossible are now incredibly easy for a lot of people, because interfaces are getting better all the time. That's the way to get more people comfortable with computers, not forcing them to spend time learning a skill they're not going to learn anyway.
And as a nice side bonus, making interfaces easier to use ends up saving everyone time, even people who are technically inclined, and makes much cooler things possible. So everyone comes out a winner.
That analogy doesn't hold up. If you learn mechanics you can repair and maintain your car, and even build a new one. But you'll never get your car to drive your kids to school without you sitting behind the wheel.
But you can do the equivalent of that if you're programming literate. We're moving to a digital culture, and if you don't know how to program you'll increasingly only become a consumer of other people's solutions, without the ability to solve your own problems.
Some people are calling this "procedural literacy".
As an aside I'd argue that computer interfaces have actually gotten somewhat worse while getting more friendly to newcomers. I think the last major leap in computer interfaces was cron(1). Unlike most modern interfaces being produced today you can use it to tell your computer to produce periodic reports and things like that.
That's where we should be headed with UI's, not aiming to have a monkey banging at the terminal at all times, but giving the monkey the ability to dictate things to the computer so he doesn't have to bang at the terminal.
Real computing power is being able to say: "Computer, I'm feeling under the weather today and I think I'll sleep in. At 9am please start playing 'Daddy's sick, get up and go to school!' on a loop in the kid's bedroom at 75 dB, and continue producing noise until they get out the door, engage!".
You can implement those sorts of things if you're a programmer.
There sure is some truth in that procedural awareness should be higher. But I think the analogy holds. You should not teach mechanics, but you should teach natural sciences in a way that principles are transferable to mechanics, and to building, and to a lot of other things.
I think it's deeply wrong to try and raise procedural awareness by forcing the technicalities of state of the art programming on the common man. You should find a way to teach algorithmic principles so that they are generally applicable.
I think you need to teach these things at an early age, and teaching "algorithmic principles" while sound in theory is probably also a good way to make an entire class of children ignore you completely.
The best way to teach people procedural awareness is probably to teach people to tinker with something they can start using right away.
Things like automatically programming your phone to reply to your parents via SMS with some plausible responses when you're out drinking, use the Facebook API to get info about your friends that they thought wasn't accessible etc. Show how you can use rtmpdump to download your favorite music from some closed video site, or write a script for uTorrent that'll have downloaded your favorite TV episode by the time you wake up.
The most important thing is to show people that procedural awareness will be worthwhile for them in their everyday life. It's easy to demonstrate that, and it's actually true for most people, unlike other some other subjects at school which'll probably never be pertinent to the average student.
Tinkering is fine. The real problem is making abstractions and general knowledge from it. All too easily tinkering turns into nerdery, thrilling some, despicable to others.
> That's like saying mechanics classes should be required
I think mechanics class should totally be required. I'm often amazed that we force children to study subjects like geography or physics, that are important but only if you're interested in them and not terribly practical anyway.
I think all children should have to learn basic life skills to enable them to control their physical and social environment ('hack' in the context of this article). Subjects such as driving, mechanics, basic electronics, law, small business, tax, nutrition, rhetoric, negotiation, plumbing etc. etc. And those just off the top of my head.
All 'academic' subjects should merely be introduced and then left up to the student to choose to pursue. What on earth is the point of filling children's heads full of history (for example) if they aren't interested? They forget every word of it a year after their final exam anyway.
Your points are definitely interesting. But I still think I'd teach a lot of what you wrote above before I'd even think to teach them programming. Plus, empirically, people have a harder time learning to program than e.g. learning to drive.
Well, the underlying question is whether simple scripting is (in your analogy) closer to "mechanics" or to "driver's license education".
I think you're right that at the moment it's more than what almost all everyday users need, but the trend is definitely towards it being something that most people could learn/would benefit greatly from learning. So then the problem is identifying when that transition happens; perhaps it's already happening in some fields such as the one described in the article.
I thought of "hacker academy" to teach kids how to hack electronic and computers to do really cool stuff. There could be classes in automotive hacking, welding, electrical engineering, programming, and a full battery liberal education program oriented around hacking.
So half would be centered around epistemic/instrumental rationality and science, and another half is engineering.
I had a teacher tell me that math classes in the future will not contain more math, but instead computer classes to learn how to get computers to do the math for us.
Totally agree, it would enhance all other classes; being able to create maths applications, filtering through historical data, the list is pretty much endless.
Am I the only one who was struck by the unqualified use, in a general-audience publication, of 'hacker' to mean 'programmer' rather than 'one who breaks into other people's computers over a network'?
The Knight News Foundation has been trying to stimulate this market for hybrid programmer/journos for years. I think it's a great idea. Too many stories have gone to print without any facts to back them up. Many more haven't even been reported because nobody has the skill to discover them. The Foundation is funding a sector that the industry has been largely ignoring much to its detriment.
Most of the information out there is largely electronic. The volumes of it are too much to handle by a single human. Why not use a computer to parse, munge, and analyze it?
The elevator fallacy follows. If you put a lot of sensors in a city you find many weird things, as there is not a prior hypothesis about what you are testing what you see as weird is not so much. In order to say that "people use the left elevator more than the right one" you should start a new experiment for testing it not using your data for making the hypothesis.
Interesting article, and a great concept. I'd imagine that reporters / journos would be quite adept with technology, but I wonder if a lot of them have the ability to be good hackers / programmers. It sounds like their professor has two very complimentary skills.
imagine the increased quality of news coverage for technical products if more journalists could code, it would be awesome and they could validate firsthand a lot of things that have be fed to them by PR agencies (who also struggle a ton, and would benefit from being more technical)
This makes me wonder: Did people choose the left elevator; or was there a single-elevator-call button which they pressed, upon which the elevator-control program preferentially dispatched the left elevator? I wouldn't be surprised if the elevator-control program always handled the situation with two equally close available elevators by dispatching elevator #1 rather than elevator #2.
Is anyone here familiar with the Tisch School of the Arts?