When are you kids going to learn? If you have to root it, hack it, jailbreak it or otherwise mod it against the terms of purchase which you signed voluntarily when purchasing, why are you surprised when your candy is removed from you? If it doesn't do the job and the maker doesn't want it to do the job, it's his problem. Don't act like a spoiled brat and give in to the cat-and-mouse game of hacking and counterhacking.
I too had an early invite, and was all excited to click to register. Once I saw there had to be a minimum monthly payment, I was extremely disappointed and didn't sign up.
Supposing the current implementation is extremely successful, it would be the equivalent to signing up for a monthly service with Disney (or Sony Entertainment, or <insert your favorite content megacorporation name here>) : you pay the middleman, who redistributes appropriately to the content creators.
What's the problem here? This month if I want to buy 1 or 20 CD/DVD, I choose how much money I give. With the monthly service model, my entertainment disposable revenue gets converted to monthly preauthorized payments - along with all my utility bills. Not good.
Ethernet, and the Internet, were build from the ground up to survive such a catastrophe. My best bet, although boring, would be that surviving copper pairs would be used, power generation would be very local (generators, solar, battery-operated microservers, etc.) and worldwide routing would coalesce slowly from there. We'd see random pockets of the world appear and disappear from the global connectivity since there would be little redundancy, akin to the old days of FIDOnet. With time, any dark fiber that survived would light up, redundancy would build up, and more people would have access. Wireless transmission, IMO, would take a longer time to appear since they are more power-hungry: first packet radio, and wifi only if laptops survived relatively intact (although short range would make wifi pretty useless, except in larger population areas).
Keep in mind, you might very well be facing somebody who feels the need to prove himself. If this is the case, then the issue is marginally technical; his need to be right is his prime motivation.
Your first response was perfect IMO.
In situations like this you need to manage a person, not software nor a project. If he's in a sibling reporting branch, you may want to discuss the situation with your lead. He may decide to go ahead with the modification in the interest of good relations. If he does, you must understand this is not a judgment from your lead on the quality of your work.
Yeah I second that it might well be someone who wants to prove himself, or a geek with poor social skills who want to befriend you by commenting on your work.
It is pretty rude to just ask outright of anyone to rewrite their code, a writing such a request as a suggestion or opening to discussion is much friendlier. It would not be rude if there's a critical problem, but just a small performance increase is way out of line.
The correct way to deal with this is of course to add the script tags at the bottom of the page ;) (apart from your coworker not noticing - it's better for performance as (most?) browsers completely stop doing anything but loading javascript when they encounter a javascript tag).
THANK YOU. I think this feeling of invincibility the kids have these days is a by-product of the cocoon we are now bringing up children in. I bet none of the youngguns reading this have lost a grade school friend and a cousin under the wheels of a school bus. They'd know that sometimes, when one takes risks, there are consequences.
Sometimes I prefer taking care of somebody's computer, precisely because they might break something. Nowadays you can still burn an LCD if you neglect the screensaver and powersave (10'000 hours backlighting MTBF can really fly), or burn a nice annoying image in your display. You can mess up your Windows installation pretty bad if you play in the wrong places. And don't get me started on giving root access to grandpa. I don't see much value for some people in learning to rebuild an OS installation from scratch. Like with kids there are times to encourage experimentation, and there are times to be cautious.
There's a whole school of thinking that value safety first. About 15 years ago there was a bold data entry clerk that wasn't afraid of fixing problems by himself. Faced with 2 waypoints called "R", he decided to encode one point as "ROZO" and the other as "R". As a consequence an aircraft turned into a mountain en route to Cali, Colombia.
Toyota, presumably because of sloppy programming in a cheap microcontroller, is learning that when you take somebody's code without looking, you get all his problems too.
It's fun to take risks sometimes, go into uncharted territory, put yourself in a situation to be exposed to new unfamiliar things.
But please, don't make it a point of being careless.
I don't know why you are downvoted, but this is from experience: people who don't know what they're doing can do pretty much anything they don't want with a pc without realising it. Case in point: My grandma vs. Windows. Windows is a sore, sore loser. And try as I might, all I can do to really fix it is install it again (temporary) or install linux (not going there yet)
I second Aikido for a software developer martial art. It requires no physical force to apply techniques and control opponents (if you're a big burly guy your learning of Aikido will actually be hampered because the technique will work even if you don't do it properly), which is probably what you want if you're of average programmer build.
If you like attacking, Aikido is not for you though. The movements are strictly defensive.
When he bought a computer, I asked my grandpa to show me how it worked. He said it wouldn't be interesting to me: it was all in English (which I didn't speak or read), and there was nothing more than letters and numbers to see, on a green and black screen. I told him that didn't matter. He took a book and we spent an afternoon typing Rabbit.BAS into the machine, then we played some.
That was 30 years ago this year, today I design aircraft simulators and automated test systems for aircraft computers. The methodology has never changed: aim high, with a goal you will enjoy a lot.
edit: to your second question, I have this to offer: there's nothing more I wish I had known when I started. I'm actually very glad I didn't consider theoretical questions too early. "Programming" is no different a language than Spanish, Japanese or Russian (maybe a tad more formal). To program you need to learn to give directives to a machine. Designing a system is something else, which uses a completely different skill set, and the entry point to that is being able to talk to the machine.
So my only advice could be: if you really want to be a hard-core computer nerd, stay with "programming" for 7-10 years, then learn (at least at overview level) all the important design principles. You'll then be able to choose according to your personality.
> someone who stares quietly into space for a few minutes
...and exactly here lies the problem. I've been fired from a job because according to an old retiree who never saw anyone programming before, "he spent his days scratching his beard and looking blankly at the screen". No mention about the job being done and the extra $1M my ideas saved. And certainly no apologies after they had to replace me by a whole external company.
Vote with your dollars.