This doesn't necessarily justify file piracy (It's still wrong to do) - but I've never met a person whose stated reason for not using bittorrent was "I'm afraid of getting sued."
You’ll hit the basics: input, output, conditionals, arrays, looping, functions/subroutines.
Plus, you’ll introduce him to the wonders of the pseudo-random number generator.
I’m using BASIC-like sample code, but it works just as well for just about any programming language. Let him do most of the work, but guide him through the process... the programming shouldn’t be terribly difficult.
Start with a 2D 10x10 array, say. Draw it out on paper as a grid. The grid represents rooms. Draw doors in some of the walls so that there is a path from the start (0,0) to the finish (9,9)... let him do it. Every room should be possible to get into, of course, and you need a path from the start to the finish. In each box representing a room, he looks at the doors and writes which directions you can go from that room: N, S, E, and/or W. Then he creates the code to build an array:
NORTH = 1 SOUTH = 2 EAST = 4 WEST = 8
dim doors(10, 10) doors(0, 0) = SOUTH or EAST doors(0, 1) = WEST or EAST doors(0, 2) = WEST or SOUTH or EAST
etc.
Then create another array for what’s in the rooms:
NOTHING = 0 TREASURE = 1 MONSTER = 2 FOOD = 3
dim rooms(10, 10) for i = 0 to 9
for j = 0 to 9
r = rnd
if r >= 3/4 then
rooms(i, j) = TREASURE
else if r >= 2/4 then
rooms(i, j) = MONSTER
else if r >= 1/4 then
rooms(i, j) = FOOD
end if
next j next i
Then set up variables representing health, location, and loot, and start a game loop.
if rooms(current_row, current_col) = TREASURE then gosub 1000 if rooms(current_row, current_col) = MONSTER then gosub 2000 if rooms(current_row, current_col) = FOOD then gosub 3000 print "This room is empty." print "There are doors going:"; if doors(current_row, current_col) and NORTH then print " north"; if doors(current_row, current_col) and SOUTH then print " south"; if doors(current_row, current_col) and EAST then print " east"; if doors(current_row, current_col) and WEST then print " west"; print "." print "Which direction do you want to go?"
Similarly for the treasure, monster, and food rooms, he can make some imaginary monsters to fight, and use the randomizer to decide which one you meet; the randomizer can decide how much treasure you find, or how much health the food restores. The monsters will be the most interesting; he can use some more arrays to name the monsters, tell how much health they have (or, it can be random); turn-based combat will deal random amounts of damage to him and to the monster; once the monster is killed, there can be a random drop (food or treasure, of a certain amount). He could also get creative with the food or treasure by making different items that can be found and heal a certain amount or are worth a certain amount, or he could just leave it simple and say you found some food and it healed however much health it randomly decided. Once you have been in a room, it should be reset so that it contains NOTHING; this way revisiting a room will not give you another treasure or monster to fight. You could also set a room to equal –MONSTER, and then print something about a stinky dead monster on the floor if you come back through the room.
To actually play the game, you use the map that you made on paper; keep track of which room you’re in, and maybe which ones you’ve visited. The game should tell you how much treasure or health you have. If you die, the game should end and print something appropriate (or inappropriate, if that’s his sort of humour). If you successfully
regardless of whether the information presented confirmed or contradicted [the subjects’] existing beliefs, all of them came away from the reading with their beliefs strengthened.
You can’t win... If you contradict me, my faith shall become more powerful than you could possibly imagine!
I can see how this would be difficult for a quadriplegic with his head up his ass trying to type with a pencil held between his teeth. In fact, the easiest would probably just be to have the pencil’s end sticking out his end and typing with a squatting motion over the keyboard.
However I’m not sure why anyone else couldn’t just use their arms.
If that’s all it is – your opinion – then I respect it. And respectfully disagree, because I see Apple’s tactics as too controlling for them to make something that I’d ever want to own.
Of course, you have to account for differences in qualifications etc - developers are expected to understand certain things in advance, have better analytical thinking, etc
That’s exactly what I was trying to point out. See also here.
No... by law you must accept cash money as payment of a debt.
Unless the store is giving credit, no debt is generated in the transaction. Before you pay for the product, it belongs to them; after you pay, it belongs to you. There is no point during the transaction at which you could legitimately claim “this is mine now, but I still owe you the amount it cost”.
That's not controlling the apps, or controlling what you can do with your phone. It's controlling what you *can't* do. It takes an extremely warped view of reality to define things you *can't* do as controlling the things you *can* do, unless the list of thing you can't do are disproportionately large (in which case it's the other way around, and saying it *isn't* control is the absurd notion).
List of things that you *can* do: Apple store List of things that you *can’t* do: Everything else
What’s that you were saying about the other way around, and saying it isn’t control is absurd?
I really don’t have much issue with people copying my stuff, as long as they give credit / link back to where they got it. It seems that these guys weren’t.
Google’s image search also caches thumbnails of every image on the web, after all...
The “user” of an API is an application programmer. The “user” of a UI in general is your grandmother.
Both of them have to be of just the right complexity... neither unnecessarily complex, nor overly simplistic. If the interface is unnecessarily complex, it will be harder to use; if it is overly simple, it may not be usable at all.
Both of them have to be usable, but an application programmer’s idea of “usable” will be very different from your grandmother’s. Equating the two is silly to the point of being mistaken for trollishness.
In the same sense that snapping a photo of your car is taking a car, not just a photo.
It’s called Rapidshare.
What does this have to do with taking something?
Good movies still make money even if a LOT of people downloaded them.
FTFY.
This doesn't necessarily justify file piracy (It's still wrong to do) - but I've never met a person whose stated reason for not using bittorrent was "I'm afraid of getting sued."
Isn’t that why Rapidshare exists?
What does this have to do with stealing?
That could backfire.
Any programmer worth anything can do advanced math, like calculas.
Rubbish. I’d been writing code for years before I ever so much as touched a calculus textbook.
You’ll hit the basics: input, output, conditionals, arrays, looping, functions/subroutines.
Plus, you’ll introduce him to the wonders of the pseudo-random number generator.
I’m using BASIC-like sample code, but it works just as well for just about any programming language. Let him do most of the work, but guide him through the process... the programming shouldn’t be terribly difficult.
Start with a 2D 10x10 array, say. Draw it out on paper as a grid. The grid represents rooms. Draw doors in some of the walls so that there is a path from the start (0,0) to the finish (9,9)... let him do it. Every room should be possible to get into, of course, and you need a path from the start to the finish. In each box representing a room, he looks at the doors and writes which directions you can go from that room: N, S, E, and/or W. Then he creates the code to build an array:
etc.
Then create another array for what’s in the rooms:
Then set up variables representing health, location, and loot, and start a game loop.
Similarly for the treasure, monster, and food rooms, he can make some imaginary monsters to fight, and use the randomizer to decide which one you meet; the randomizer can decide how much treasure you find, or how much health the food restores. The monsters will be the most interesting; he can use some more arrays to name the monsters, tell how much health they have (or, it can be random); turn-based combat will deal random amounts of damage to him and to the monster; once the monster is killed, there can be a random drop (food or treasure, of a certain amount). He could also get creative with the food or treasure by making different items that can be found and heal a certain amount or are worth a certain amount, or he could just leave it simple and say you found some food and it healed however much health it randomly decided. Once you have been in a room, it should be reset so that it contains NOTHING; this way revisiting a room will not give you another treasure or monster to fight. You could also set a room to equal –MONSTER, and then print something about a stinky dead monster on the floor if you come back through the room.
To actually play the game, you use the map that you made on paper; keep track of which room you’re in, and maybe which ones you’ve visited. The game should tell you how much treasure or health you have. If you die, the game should end and print something appropriate (or inappropriate, if that’s his sort of humour). If you successfully
regardless of whether the information presented confirmed or contradicted [the subjects’] existing beliefs, all of them came away from the reading with their beliefs strengthened.
You can’t win... If you contradict me, my faith shall become more powerful than you could possibly imagine!
I can see how this would be difficult for a quadriplegic with his head up his ass trying to type with a pencil held between his teeth. In fact, the easiest would probably just be to have the pencil’s end sticking out his end and typing with a squatting motion over the keyboard.
However I’m not sure why anyone else couldn’t just use their arms.
=O=
Easier to type, and Slashdot renders it just fine.
You forgot 69.
If that’s all it is – your opinion – then I respect it. And respectfully disagree, because I see Apple’s tactics as too controlling for them to make something that I’d ever want to own.
Sorry! Must’ve forgotten that Master Jobs already said you didn’t need it.
Let me know when you can play a flash game on your iPhone.
“Boy... I took you out of this world... and I can dig you back up!!”
Only if you so loosely define "control" as to become meaningless. Or are you saying restaurants control you?
Yes, restaurants control you. In many ways. But only for one meal.
Apple wants to control you for the rest of your life-owning-of-their-product, which is why I wouldn’t buy it.
By your reasoning, Google controls Android, only a little bit less. Bravo.
Just how much control are you happy with giving away?
So you freely admit that Apple is controlling your iPhone.
QED
Of course, you have to account for differences in qualifications etc - developers are expected to understand certain things in advance, have better analytical thinking, etc
That’s exactly what I was trying to point out. See also here.
Low Ranked Craig put it pretty well, actually.
No... by law you must accept cash money as payment of a debt.
Unless the store is giving credit, no debt is generated in the transaction. Before you pay for the product, it belongs to them; after you pay, it belongs to you. There is no point during the transaction at which you could legitimately claim “this is mine now, but I still owe you the amount it cost”.
That's not controlling the apps, or controlling what you can do with your phone. It's controlling what you *can't* do. It takes an extremely warped view of reality to define things you *can't* do as controlling the things you *can* do, unless the list of thing you can't do are disproportionately large (in which case it's the other way around, and saying it *isn't* control is the absurd notion).
List of things that you *can* do: Apple store
List of things that you *can’t* do: Everything else
What’s that you were saying about the other way around, and saying it isn’t control is absurd?
Apple doesn't control the apps, nor what you can do with them.
So where’s the app that I can use to view Flash animations?
What’s that? It doesn’t exist? Why on earth not?
Wait, I think I’ve got it...
Apple does control the apps, and what you can do with them.
Yep, that sounds right.
I really don’t have much issue with people copying my stuff, as long as they give credit / link back to where they got it. It seems that these guys weren’t.
Google’s image search also caches thumbnails of every image on the web, after all...
So does TinEye...
The “user” of an API is an application programmer. The “user” of a UI in general is your grandmother.
Both of them have to be of just the right complexity... neither unnecessarily complex, nor overly simplistic. If the interface is unnecessarily complex, it will be harder to use; if it is overly simple, it may not be usable at all.
Both of them have to be usable, but an application programmer’s idea of “usable” will be very different from your grandmother’s. Equating the two is silly to the point of being mistaken for trollishness.