Getting someone excited about writing their own program when several hundred examples of the same thing (Only better) can be downloaded within a few minutes. I think I would have had a hard time getting excited about doing any programming had my first attempts been "I am going to create a far inferior version of existing programs."
This is a psychological issue. It's like a kid stopping to play with bricks after seeing the Chinese Wall on TV. This happens. Unfortunately a lot of people are like that to some degree (especially adults). But truly creative minds are not like that. An artist does not drop his art after visiting a museum. The creations of others are inspiration, not intimidation.
But I enjoyed it. It was a great satisfaction to see it working. I immediately uploaded it to my webspace and tried it out with the various devices I have available. I got out a ruler, measured the displays of my devices and compared the reported dpi with the actual physical dpi. I probably got about 1 hour of fun out of some trivial CSS and a web page that displays nothing but a number. And that's despite the fact that I've done considerably more fancy stuff in the past (e.g. a demo with wobble effects and vector balls in assembly language)
But to me learning something new, experimenting with it and using it to create something on my own is enjoyment in and of itself. The notion that this could be boring is absurd to me.
But as you said: Some people find this stuff fascinating, most people don't.
You can't teach a kid to enjoy programming, just as you can't teach him to enjoy playing football. If he doesn't, he doesn't. You may teach him to do it, even force him to (this is more common with sports than programming, though) but you can never teach him to enjoy it.
That being said, what you can do is show kids that programming exists. Back in the day it was normal to type in BASIC listings from magazines. Everybody who owned a computer knew about programming at least in principle. Everybody grokked the fact that software is not something magical like electricity (which comes from the socket) or steaks (which come from the supermarket), created by some large faceless corporations through unknown processes which the ordinary user could not hope to understand, let alone replicate.
These days, unfortunately, most computer users lack this understanding. For them, software IS something that ordinary people cannot create themselves. And this misperception keeps a lot of kids who would otherwise enjoy programming, from ever trying it out. They simply don't know that programming exists as a hobby. But THAT'S something that can be changed.
I was in the same position that I considered buying a Geiger counter for testing food. I googled and found many people saying that you can't test food with a Geiger counter. The most specific reason given was that the reading from the food would be drowned out by background radiation. Being the sceptical type I didn't buy that reason just like that. I had this naive idea that I could point the counter at my food, wait a minute or 2, the point it away and compare the readings. So I actually did the maths. (If you find any mistakes in the computation, please do post them. And excuse me for not using the correct physical terms for the various kinds of radiation strength/dose/whatever.)
I based my computation on this Geiger counter, which seems to be among the most popular consumer grade devices available:
According to the datasheet it will give you (for gamma rays) 95 pulses per minute for a radiation of 1 uSv/h.
Meaning that if I send gamma radiation of 1 uSv/h directly into the device it will give me an additional 95 "clicks" per minute in addition to background radiation.
Now for the question: Why is this not good enough to identify a contaminated orange?
We start out with the numbers from here
Now let's assume that our acceptability threshold for radiation from a single orange is 20uSv. In other words, eating a single orange gives us the same dosage as a chest x-ray. Such an orange can definitely be seen as contaminated. You would only be allowed to eat a few such oranges per year (just like chest x-rays).
So, if our Geiger counter can not tell this orange apart from an uncontaminated orange, it is clearly useless for testing food.
So how many ticks per minute would we expect from this orange on our Gamma Scout device?
First we have to transfrom 20uSv absorbed dose into a dose rate. In other words, we need to compute how much radiation per time unit the orange emits. Let's assume our orange can completely pass on all of its radition within 10 hours. In reality of course it would take the orange (depending on the isotope) weeks, months or years to emit all of its radiation. So I grossly overestimate the radiation from the orange here. But the point is that even this grossly overestimated dose rate can not be detected with a consumer grade Geiger counter.
So our dose rate would be 2uSv/h
Now an important thing we must not overlook is that the orange is not a raygun. It doesn't emit a concentrated beam. Rather, its emission will be spread evenly across its surface.
An orange of 8cm diameter has a surface of
4*PI*4cm*4cm = 201 square cm
According to the manual, the measurement window of the Gamma Scout has a diameter of 9,1mm, meaning a surface of about half a square centimeter. Let's be generous and round that to 1 square centimeter. This means that if we actually touch our Gamma Scout to the orange it will only see 1/200th of the emitted radiation. This means that the Gamma Scout sees a dose rate from the orange of 0,01uSv/h.
And now we're beginning to see the problem. Even without background raditation that translates to only 9-10 ticks per MINUTE. You'd be waiting 6s between each tick. This is clearly not the movie-type-buzz you would expect from holding a Geiger counter to an orange as heavily contaminated as this one. And remember that I've grossly overestimated (by several orders of magnitude) the dose rate of the orange.
Now if you do not actually touch the orange but measure from several centimeters away, the strength of the radiation decreases quadratically.
But it gets worse.
According to (sorry, web site in German)
the normal average value for background radiation in Germany is about 0,1uSv/h
That's 10 times as much as the reading we get from direct contact with our heavily contaminated orange. And that average is very low. There are (non-contaminated) places on earth where background radiation is higher. And of course background radiation is not constant. It's a statistical process. If you measure for 1 minute pointing away from the orange and get a reading of 0,10uSv/h and then you point at the orange for one minute and get a reading of 0,11uSv/h there's no telling if that additional 0,01uSv/h is from the orange or just random variation. And again I remind you that we overestimated the radiation from the orange.
Now you might ask: If background radiation is 10 times higher than the radiation from the orange, doesn't that mean that the orange is harmless? Why do I consider this orange contaminated?
The important point here is that I EAT the orange. Radiation from the outside of your body is rather harmless. Humans are well equipped to deal with it. Think about the sun. It's just as destructive as radioactivity (think "skin cancer"). The orange IS completely harmless as long as you use it to decorate your room. You can touch it, hug it, kiss it, it won't raise your risk of cancer. But if you EAT it, you'll bring its radiation in direct contact with your unprotected inner organs.
And this basically sums up the reasons why consumer Geiger counters can't be used to test food. The acceptable dose for EATING is much much lower than the acceptable and actual background radiation. You CAN use a Geiger counter to test if something is safe for TOUCHING it or putting it on display. But food becomes unsafe for eating at a much lower dose than it becomes unsafe for touching.
So are consumer Geiger counters useless? Should you buy one if you live in a "danger zone"?
They are not useless if you use them for what they are made. As I understand the info material on the Gamma Scout the usual way to use it would be to place it somewhere in your house and to regularly pull its data onto a PC. It is an always-on device that will continually accumulate radiation data. When you plot the data from the Gamma Scout you should see a line, i.e. the background radiation doesn't change from day to day (assuming a reasonable scale for the y axis). If the data shows a spike, something (possibly a cloud of radioactive dust) has temporarily raised background radiation. If radiation goes up and doesn't go down again for days, your house is probably covered in radioactive fallout.
That's the kind of events you can measure with a consumer Geiger counter. Whether this is interesting to you or not and worth the money for such a device, is a personal decision. But this is what it can give you. Food testing, however, is not.
I say we turn the tables. Let's stop using words like "paranoid" to describe people who want random strangers to leave them alone. Instead, let's choose a word that's the inverse of "paranoid" to describe the asshats who intrude into the lives of others and then claim that data as their own to use as they please. I tentatively suggest "Orwellian" but am open to suggestion. Maybe Panopticonians would work, except that fewer than six syllables would be a plus.
How about "data nympho(maniac)s" or "data sluts". They have the abnormal drive to give their personal data to everyone. "nymphomaniac" is also a good counterpart to "paranoid" because it's derogatory and (at least used to be) a medical term.
I've noticed several design suggestions in your code.