If you carry your GPSr with you while photographing, you can later load the track history onto your computer, and correlate the timestamps in the photos' EXIF data with the timestamps the GPSr stores in the track history.
I did this a while ago, with the program outputting an SVG map of my track history, with clickable dots everywhere a picture was taken. Click the dot, see the picture. I overlaid it all on a sattelite map of the city (Winnipeg), just because I could.
The critical step is that you need to take a photo of your GPSr displaying the time, so that the program can calculate the offset between the clocks in the two units. You just tell the app "Photo #6 was taken at 10:26:04" and everything else is automatic.
I wonder if that code survived my hard drive crash...
And as a belated reply, the "creativity" comment is mostly tongue-in-cheek. I came up with some really -interesting- solutions to the problems when I did them. If I solved them now, I'd solve them -far- faster, but my answers would be -boring-.
When you know the generic algorithms, you're far more efficient, but it's less fun:)
Err...I competed in IOI 1996 and 1997, and it was all automated grading then too.
The time was still an issue...some people actually added timers to their code ("Ok, I have 5 seconds to solve this, I've spent 4.8 seconds, I'm going to dump what I have, and some random guesses.")
I would like to point out that IOI students are not "all the best engineers", as they're high school students. They may be the best -future- engineers, but many of them are currently using whatever computer their parents bought. I put my prize money from the Canadian qualifying contest (the CCC...does Waterloo still run that?) towards my first "real" computer.
Of course -- but it did give the C coders an advantage, because they got more points for a half-assed solution than the QB coders did. It was the only time that I felt QB may have been a bad choice.
In '96/'97 they gave us Windows, with QuickBASIC, Turbo Pascal, and Borland C (was it called Turbo C?). I don't recall if C++ was an option, but I don't think so.
The people who win these competitions are the people who have the best knowledge of algorithms and data structures, and who know their programming language fluently.
The competition itself feels very non-competitive. Most participants are trying to win by performing their best, not by beating everyone else (if you catch my meaning). Outside of the actual coding sessions, everyone socializes (really!), swaps ideas and knowledge, and discusses the solutions that were used in the previous sessions. I saw people get together the next day, pool their knowledge, and come up with a better solution -- this is outside the competition, for the sheer joy of solving the problem.
The IOI does not test teamwork and communication, either positively or negatively. Anyone who has attended an IOI (regardless of whether they won a medal) deserves your attention as an employer, because it's a safe bet that they are a -very- good programmer. You still have to apply all your normal filters (is this guy a jackass, is he a slacker, or is he good for the company), but from my experience at the competition I'd say there's more contestants that would be an asset than a liability.
Appropriate tools are supplied. When I went, it was Windows-only. You could use QuickBASIC, Turbo Pascal, or Borland C. The IDEs for all three are/were entirely acceptable.
The guys that won the years I participated used C. The Pascal and QB users were still competitive, and near the top, but I'm pretty sure the people in the #1 positions used C both times.
This was one of the events that defined my current opinion that good coders can and do code well in any language.
And while the -top- guys probably could do your data strucutres homework, most participants (like myself) had no formal algorithms and data structures training. Looking back on my solutions, there's things I recognize as mutated forms of Dijkstra's algorithm, and linked lists, and trees, that I had invented myself for the problem at hand. Knowing the general form is much more efficient, but I can't help think that formal programming training has really cramped my creativity:)
The IOI mostly measures problem solving ability and knowledge of data structures and algorithms.
Your program has to meet spec perfectly, because the testing is all automated. Your output has to be spot-on. They do guarantee that the input will be perfect. No error-handling is needed, and if your program craps out and dies, it's just marked as a failure for that test run.
Generally, the guys that can solve these problems quickly are all-around good programmers - being able to compete in the IOI (or even get to it) indicates a good fundamental understanding of what programming is all about.
Hah, I used QB in the IOI the two years I was in it. Got Bronze both times. A lot of the other people raised eyebrows - some were using Pascal, but all the "real" coders were doing C. At the end of the day, I don't think it mattered much which you used. (The second year, I was using C at home, but didn't feel comfortable enough with e.g. file I/O to use it in the competition).
There was -one- problem that I recall QB being a liability in. If you solved it the "wrong" way, processing speed and memory management became a bit of an issue, and you wouldn't be able to solve the larger cases in QB (the really large ones couldn't be solved the wrong way in C either). With an ideal solution, QB worked just fine, but most people didn't find it.
I've been to the IOI, it's a lot of fun. Geek central, of course - people were up til all hours playing WarCraft II and Quake (so now you know when I went), so half the people were coding on about four hours of sleep, and Coke. We were all in top form:)
It's actually fairly non-competitive, in that medals are awarded to the top 50% of contestants (at least, that's how it was in '96/'97).
No one said that the FSB and clock multiplier weren't responsible for the speed - and yes, people overclock because they want it faster. But it's a tradeoff - more speed gets you more heat.
So, if you want less heat, then why not go with less speed? If you're doing web browsing, email, word processing, legacy gaming, whatever, then chances are you don't need a CPU as fast as whatever you have. So if you're in a high-heat situation (poor ventilation, for instance), underclocking is the solution. I know people that have done it because of heat problems and are quite content with the results. A slower, cooler, more stable system.
I agree - Asimov's work is generally about ideas, not about people. He's said it himself in some of his autobiographical anthologies - the characters are just there to tell the story, the story isn't about them.
Science fiction stories, especially the stuff from 40-50 years ago, tend to be based on 'what if' scenarios. Given an unusual setting or set of condition, what might result? Asimov took the popular idea of 'human-like robots' and spun off dozens of stories examining the same thing from different angles.
Of course, I'm not saying you have to like it - the same thing a dozen times can be dull, and not everything Asimov wrote was great. But the analysis of a hypothetical world is, I think, one of the defining characteristics of science fiction.
The Zeroth law, as I recall, didn't come out until later in the story series...that is, it wasn't something that U.S. Robots deliberately put in the brain, but it was actually a behaviour that sprung from applying the First Law at a higher level. The roboticists discovered it later on, so depending when this movie takes place in the timeline (if any consideration was given to that), it's possible that the characters aren't even aware of the Zeroth law.
Asimov wrote a short story/novella called 'The Bicentennial Man'. It was a pretty big hit, and later, Robert Silverberg collaberated with Isaac Asimov to turn it into a novel, which they called 'The Positronic Man'.
I've read both, years ago. They have basically the same plot. I think the novel takes place over a longer period of time (i.e. there are events in the novel that predate everything in the novella).
A few characters in the Robot books/stories asked a similar question - why not build a robot without the three laws? The "answer" was that they form the core of the positronic brain logic, which is shared by all robot designs after many, many years of development. The idea is that this same "library" is reused by every positronic brain and is known to be solid.
I have an essay at home (I believe it's by Robert Silverberg, in his book "Worlds of Wonder") that says that the best science fiction authours know exactly how much explanation to give. At some point, the writer offers a semi-plausible explanation, says "this is how it is," and the reader has to accept that aspect of the world. When the authour is really good, something like the Three Laws question (why do all robots have them?) gets enough of an explanation that the reader decides, "Hmm, it -could- be possible," and the story goes from there.
So, "What makes us think we can...implement three very high order rules"? Nothing, really. -We- can't. The people in the books can, though, and since it's reasonable to assume that people can develop software better/differently in a few hundred years (I forget when the first positronic brain was made), the books hold up.
Incidentally, one of these cases was my dad, who owns and operates a small business. He got hit with a CoolWebSearch variant that filled his Favorites full of porn sites.
He was -very- glad that he saw it -- the other two employees are his wife and another, younger female. The thought of either of them discovering 'his' porn bookmarks rather disturbed him.
I'd agree in the fullest - other than the MS case (again, if memory serves), it's only on hacked-up Geocities pages with bad colour schemes that I've seen VBScript in action. I don't even think MS is pushing it anymore.
If by 'real web site' you mean 'a web site that is real', then they're out there. You may not even notice that it's not working right, if the script just does something cosmetic like change the status bar. Regardless, the site will not work as intended in non-IE browsers.
OTOH if you're referring to actual major sites like corporate web pages - well, I can't remember seeing any (something in the back of my head says that the MS page used to detect IE and use VBScript for IE browsers, but I'm not sure of that).
I can't find it anywhere...it was probably on the hard drive that crashed a few months ago (no backups). Sorry.
If you carry your GPSr with you while photographing, you can later load the track history onto your computer, and correlate the timestamps in the photos' EXIF data with the timestamps the GPSr stores in the track history.
I did this a while ago, with the program outputting an SVG map of my track history, with clickable dots everywhere a picture was taken. Click the dot, see the picture. I overlaid it all on a sattelite map of the city (Winnipeg), just because I could.
The critical step is that you need to take a photo of your GPSr displaying the time, so that the program can calculate the offset between the clocks in the two units. You just tell the app "Photo #6 was taken at 10:26:04" and everything else is automatic.
I wonder if that code survived my hard drive crash...
And as a belated reply, the "creativity" comment is mostly tongue-in-cheek. I came up with some really -interesting- solutions to the problems when I did them. If I solved them now, I'd solve them -far- faster, but my answers would be -boring-.
:)
When you know the generic algorithms, you're far more efficient, but it's less fun
Yes, before college - this is an event for coders of high-school age (typically grades 11 & 12).
Err...I competed in IOI 1996 and 1997, and it was all automated grading then too.
The time was still an issue...some people actually added timers to their code ("Ok, I have 5 seconds to solve this, I've spent 4.8 seconds, I'm going to dump what I have, and some random guesses.")
The medal? Who cares about the medal? They sent me on two all-expenses-paid across-the-world vacations (Hungary and South Africa).
Somewhere in there I had to write code, as I recall, but it was almost secondary...
(not that any of this implies I'm not a geek)
I would like to point out that IOI students are not "all the best engineers", as they're high school students. They may be the best -future- engineers, but many of them are currently using whatever computer their parents bought. I put my prize money from the Canadian qualifying contest (the CCC...does Waterloo still run that?) towards my first "real" computer.
Of course -- but it did give the C coders an advantage, because they got more points for a half-assed solution than the QB coders did. It was the only time that I felt QB may have been a bad choice.
In '96/'97 they gave us Windows, with QuickBASIC, Turbo Pascal, and Borland C (was it called Turbo C?). I don't recall if C++ was an option, but I don't think so.
And I didn't get gold...just bronze both years.
The people who win these competitions are the people who have the best knowledge of algorithms and data structures, and who know their programming language fluently.
The competition itself feels very non-competitive. Most participants are trying to win by performing their best, not by beating everyone else (if you catch my meaning). Outside of the actual coding sessions, everyone socializes (really!), swaps ideas and knowledge, and discusses the solutions that were used in the previous sessions. I saw people get together the next day, pool their knowledge, and come up with a better solution -- this is outside the competition, for the sheer joy of solving the problem.
The IOI does not test teamwork and communication, either positively or negatively. Anyone who has attended an IOI (regardless of whether they won a medal) deserves your attention as an employer, because it's a safe bet that they are a -very- good programmer. You still have to apply all your normal filters (is this guy a jackass, is he a slacker, or is he good for the company), but from my experience at the competition I'd say there's more contestants that would be an asset than a liability.
Appropriate tools are supplied. When I went, it was Windows-only. You could use QuickBASIC, Turbo Pascal, or Borland C. The IDEs for all three are/were entirely acceptable.
The guys that won the years I participated used C. The Pascal and QB users were still competitive, and near the top, but I'm pretty sure the people in the #1 positions used C both times.
:)
This was one of the events that defined my current opinion that good coders can and do code well in any language.
And while the -top- guys probably could do your data strucutres homework, most participants (like myself) had no formal algorithms and data structures training. Looking back on my solutions, there's things I recognize as mutated forms of Dijkstra's algorithm, and linked lists, and trees, that I had invented myself for the problem at hand. Knowing the general form is much more efficient, but I can't help think that formal programming training has really cramped my creativity
The IOI mostly measures problem solving ability and knowledge of data structures and algorithms.
Your program has to meet spec perfectly, because the testing is all automated. Your output has to be spot-on. They do guarantee that the input will be perfect. No error-handling is needed, and if your program craps out and dies, it's just marked as a failure for that test run.
Generally, the guys that can solve these problems quickly are all-around good programmers - being able to compete in the IOI (or even get to it) indicates a good fundamental understanding of what programming is all about.
Hah, I used QB in the IOI the two years I was in it. Got Bronze both times. A lot of the other people raised eyebrows - some were using Pascal, but all the "real" coders were doing C. At the end of the day, I don't think it mattered much which you used. (The second year, I was using C at home, but didn't feel comfortable enough with e.g. file I/O to use it in the competition).
There was -one- problem that I recall QB being a liability in. If you solved it the "wrong" way, processing speed and memory management became a bit of an issue, and you wouldn't be able to solve the larger cases in QB (the really large ones couldn't be solved the wrong way in C either). With an ideal solution, QB worked just fine, but most people didn't find it.
I've been to the IOI, it's a lot of fun. Geek central, of course - people were up til all hours playing WarCraft II and Quake (so now you know when I went), so half the people were coding on about four hours of sleep, and Coke. We were all in top form :)
It's actually fairly non-competitive, in that medals are awarded to the top 50% of contestants (at least, that's how it was in '96/'97).
Actually, I seem to recall there being a -lot- of Coke at these. The contestants are typically too young to have developed a coffee habit...
I agree with typebox43.
No one said that the FSB and clock multiplier weren't responsible for the speed - and yes, people overclock because they want it faster. But it's a tradeoff - more speed gets you more heat.
So, if you want less heat, then why not go with less speed? If you're doing web browsing, email, word processing, legacy gaming, whatever, then chances are you don't need a CPU as fast as whatever you have. So if you're in a high-heat situation (poor ventilation, for instance), underclocking is the solution. I know people that have done it because of heat problems and are quite content with the results. A slower, cooler, more stable system.
I agree - Asimov's work is generally about ideas, not about people. He's said it himself in some of his autobiographical anthologies - the characters are just there to tell the story, the story isn't about them.
Science fiction stories, especially the stuff from 40-50 years ago, tend to be based on 'what if' scenarios. Given an unusual setting or set of condition, what might result? Asimov took the popular idea of 'human-like robots' and spun off dozens of stories examining the same thing from different angles.
Of course, I'm not saying you have to like it - the same thing a dozen times can be dull, and not everything Asimov wrote was great. But the analysis of a hypothetical world is, I think, one of the defining characteristics of science fiction.
The Zeroth law, as I recall, didn't come out until later in the story series...that is, it wasn't something that U.S. Robots deliberately put in the brain, but it was actually a behaviour that sprung from applying the First Law at a higher level. The roboticists discovered it later on, so depending when this movie takes place in the timeline (if any consideration was given to that), it's possible that the characters aren't even aware of the Zeroth law.
You're both right.
Asimov wrote a short story/novella called 'The Bicentennial Man'. It was a pretty big hit, and later, Robert Silverberg collaberated with Isaac Asimov to turn it into a novel, which they called 'The Positronic Man'.
I've read both, years ago. They have basically the same plot. I think the novel takes place over a longer period of time (i.e. there are events in the novel that predate everything in the novella).
A few characters in the Robot books/stories asked a similar question - why not build a robot without the three laws? The "answer" was that they form the core of the positronic brain logic, which is shared by all robot designs after many, many years of development. The idea is that this same "library" is reused by every positronic brain and is known to be solid.
I have an essay at home (I believe it's by Robert Silverberg, in his book "Worlds of Wonder") that says that the best science fiction authours know exactly how much explanation to give. At some point, the writer offers a semi-plausible explanation, says "this is how it is," and the reader has to accept that aspect of the world. When the authour is really good, something like the Three Laws question (why do all robots have them?) gets enough of an explanation that the reader decides, "Hmm, it -could- be possible," and the story goes from there.
So, "What makes us think we can...implement three very high order rules"? Nothing, really. -We- can't. The people in the books can, though, and since it's reasonable to assume that people can develop software better/differently in a few hundred years (I forget when the first positronic brain was made), the books hold up.
Incidentally, one of these cases was my dad, who owns and operates a small business. He got hit with a CoolWebSearch variant that filled his Favorites full of porn sites.
He was -very- glad that he saw it -- the other two employees are his wife and another, younger female. The thought of either of them discovering 'his' porn bookmarks rather disturbed him.
I'd agree in the fullest - other than the MS case (again, if memory serves), it's only on hacked-up Geocities pages with bad colour schemes that I've seen VBScript in action. I don't even think MS is pushing it anymore.
If by 'real web site' you mean 'a web site that is real', then they're out there. You may not even notice that it's not working right, if the script just does something cosmetic like change the status bar. Regardless, the site will not work as intended in non-IE browsers.
OTOH if you're referring to actual major sites like corporate web pages - well, I can't remember seeing any (something in the back of my head says that the MS page used to detect IE and use VBScript for IE browsers, but I'm not sure of that).