Rather than killing the interest by jumping right into the primitive stuff and saying "you start here," you might hold their attention if you start with the shimmering end goal of H4X and peel back the onion, little-by-little to ultimately reveal why they have to learn the primitive stuff. You know what I mean? Like give them a broad idea of the journey before you start in with the tedium.
If you want to weed out the faint of heart or the lazy, starting with printf sounds like a sure-fire way to ruthlessly kill any hint of enthusiasm.
Telling them that programmers make good money is definitely a way to generate interest. Computer Software Engineers make about twice the average salary in the United States and salary growth has been consistent for years. It probably wouldn't hurt to point out some of the folks who have made a fortune in the software business.
I wanted to program games when I was about their age and still do. I remember that I found the prospect of learning a language quite daunting and didn't understand why all the cosine/sine/tangent functions were necessary. Having since programmed some crappy little games, I realize that the motion of objects on a screen is all about trigonometry or geometry. Had someone explained to me back then why I would need all those weird mathy functions, it would have done me a great service I think. Uh, I'm rambling. I guess my point is that math is extremely helpful when programming games. You might want to also explain how stuff like databases or other technical stuff are really important and useful too. For example, storing high scores (or inventories of weapons/armor/whatever) are easily accomplished with a database. If you spend some time explaining why they have to learn the "boring" stuff by giving examples of how it's used, they might be more inclined to slog through it to actually become a game programmer.
Another thing they might find extremely useful to know is what technologies might get them started without having to shell out money for an integrated development environment or a server. For instance, all you need is a browser and a text editor to start working with HTML and Javascript. If they want to write a game, perhaps you could demonstrate some simple code that listens for keystrokes and moves a DIV tag or image around the screen.
And lastly, you might want to point out how there's a huge difference between being a computer scientist and just building websites for a living. It can be a simple vocation or it can be an abstract, theoretical endeavor.
Ballmer is a sorry-ass blowhard and needs to get out of the way. MSFT stock has been flat at best since he took over. The man doesn't have a creative bone in his body.
Wired was kind enough to post an article today listing a bunch of ways that military spending in the cold war has contributed to your civilian lifestyle.
Are you trying to suggest that ICBM technology came from NASA? That NASA gave rocket technology to the military? Or even that NASA does no military research? I think you're wrong. NASA was formed by dissolving NACA. NACA, founded in the first World War, was the proud inheritor of all the rocket (and jet engine) technology the US pilfered from the Germans after WWII. Try reading about Werner Von Braun. A former nazi officer, he is the father of the American space program, not NASA. He and his nazi team are the inventors of the ICBM. NASA got its rocket technology from the military, not the other way around.
And to assert that DARPA is non military is patently ridiculous. Are you aware that the "D" in DARPA stands for "defense?" Have you taken a peek at their website or the projects they've worked on? You'll notice that the website ends in.MIL.
As for all that spending in the 80s, there is at least one military application -- GPS -- that is now in rampant civilian use. It's probably in your phone unless you have a crappy phone.
As for CDs, the CD itself is a consumer product but it's my understanding that the underlying digital audio sampling technology was largely developed and refined through military funding out of a desire to enable encrypted voice communications. Sadly, I've got no sources here. Just a vague recollection of a lecture in college years ago.
I'm not a big fan of US military spending policies, but I do believe there are countless civilian uses for old military technology. Sadly, it is the prospect of war and annihilation that actually scares folks into funding the research which turns theoretical possibilities into useable devices.
The demand for evidence to back up an oft-repeated and patently ridiculous assertion is fair. As a reader, I also wanted evidence and was delighted to see a bit of vitriol applied.
At the risk of sounding like a hypocrite, I might agree with the OP's assertion that liberals have taken over the education system. Were it up to conservatives, there would probably be no system. They'd cut all the funding for education and keep talking about how free markets and "job makers" would solve the problem of educating our populace. Then, when you went to Macdonald's or the department of motor vehicles, you'd be dealing with total imbecile rather than an impertinent little twat.
I call shenanigans. Computer networking (i.e., the INTERNET) was essentially created by ARPA. The TCP/IP protocol was originally intended to be 'hubless' -- meaning that it could reconfigure it's routing strategies without the need for a central switching point -- in order to make it more resistant to catastrophic nuclear attack. Face it, the military created your interwebz. Also, just FYI, facebook, twitter, etc. are not military uses.
And ICBMs (like the minotaur rocket launched about a week ago) are being used today to launch stuff into space, not send nuclear weapons.
CDs (now old tech) and digital sampling of audio were also pioneered with military research funds. Cell phones? I believe spread spectrum technology was invented by the Israeli air force or something like that. I dunno, I'm getting out of my depth a bit here. But you, sir, are most definitely wrong.
The real problem is the kids these days. They just can't find a way to stay off my lawn! Back in my day, we didn't have lawns. Lawns were patented! We just had asbestos tiles.
I bet some people around 1900 lamented that they didn't have the Jules Verne flying ship yet and were sad because there were still piles of horse shit in manhattan. I find all this lamenting of the "demise of space exploration" to be pretty silly. The space shuttle, however cool we thought it was, was VERY OLD technology. Has everyone forgotten that a third of them ended in fiery disaster? Additionally, its payload (to low-earth orbit only) was only 26 tons compared to something around 130 tons for the proposed SLS: http://en.wikipedia.org/wiki/Space_Launch_System
And what about the fact that you can now speak to your phone in plain english and get a response? Or kill people on the other side of the world while piloting a drone from Nevada? Or how about nearly curing leukemia? Big dog anyone?
I liked the speed specs and also the USB ports -- I wanted to set up a network printer. The firmware that came with this router was GARBAGE. I mean totally, utterly, completely USELESS. My internet connection would constantly drop, forget about printing or NAS. I downloaded a particular build of DD-WRT and installed it and the router suddenly did everything it was supposed to. It stays up and running for months at a time. I'm really glad I found it.
It's also nice to hear about Tomato and Open WRT. I'll look into those when I need to get my next router -- which I shouldn't need for a good long time.
I didn't realize that an opinion required supporting evidence.
By 'primitive' I guess I mean that AFAIK (and I'm no Javascript master) the concept of a class doesn't exist in Javascript and that you define objects like so:
How does one establish whether methods/vars are public/private/protected? Or inheritance? To me, the weird misappropriation of the function keyword to build objects, the verbosity of the code to express objects, and the lack of inheritance, etc. are primitive compared to Actionscript 3, to Java, to PHP5, to C++, and a variety of other languages I've dealt with.
Polling sucks. I was referring to full-duplex sockets which are much more responsive for games and such and don't require polling. Apparently there's a spec being developed for websockets, which i did not know.
I'm aware that Javascript can be used on the Android platform to build full-blown apps but must admit that I don't know much about how this is accomplished. This does not, however, help at all if I want to create an app for Android, iOS, and Blackberry and maintain only one code base. Flash Builder 4.5 purports to provide just that capability.
Replacing Javascript sounds like a recipe for complete fucking disaster that would make previous browser wars look easy by comparison. Evolution sounds much more reasonable to me.
I'm not talking about 'web apps', I'm talking about mobile phone apps that do not require server access to function.
Granted, I haven't read all the documentation, but I don't see anything in ExtJs that would help you to write a native mobile application for iPhone/iPad, Android, and Blackberry with a single code base that: * lets you access hardware (microphone, camera, gps, accelerometer) * lets you manipulate a client-side database * lets you establish a socket connection to a server
I'm still looking into it, but I believe that Flash Builder 4.5 does in fact make this possible.
I understand what you are saying about the language vs. the browser API, but would also like to point out that the enormous variation in API implementations is still a very serious problem for Javascript. This is why you have things like JQuery and Mootools providing a buffer layer between the JS programmer and the browser in the often fruitless attempt to shield a JS programmer from some peculiar browser implementation. One also encounters peculiar browser behavior in flash every now and then when trying to sniff out screen sizes and such. The browser APIs could use some standardization methinks.
I also tend to disagree that Javascript is particularly elegant. Working with Objects seems particularly primitive to me. I believe someone else pointed out the lack of strong typing and inheritance, among other things. Actionscript 3 does provide strong typing and inheritance and, for better or worse, the Flash player serves as an abstraction layer to more completely shelter the developer from the quirks of the browser.
What I really do like about Javascript is that all the major browsers support it without the need for any plug-in or player and that it does its job reasonably well.
Personally, I wish that hardware manufacturers, browser develoeprs, and web standards groups, etc. would normalize and standardize languages and hardware access so that it wasn't necessary to learn Java, HTML, Javascript, Objective C, and god knows what else to write an application for delivery to desktops, tablets, phones, etc. Sure would be nice if we had one language to rule them all and well-defined APIs and security features to gain access to hardware or whatever. Currently, it's a total Babel situation.
Good point. I totally forgot about the IPO. I do remember the mp3.com IPO, though. Valued at $4.2 billion or something.
Mod parent up.
Um, I think you mean "the offers was erroneously considered to be too low." Last time I checked, Netscape did not exist.
Rather than killing the interest by jumping right into the primitive stuff and saying "you start here," you might hold their attention if you start with the shimmering end goal of H4X and peel back the onion, little-by-little to ultimately reveal why they have to learn the primitive stuff. You know what I mean? Like give them a broad idea of the journey before you start in with the tedium.
If you want to weed out the faint of heart or the lazy, starting with printf sounds like a sure-fire way to ruthlessly kill any hint of enthusiasm.
Telling them that programmers make good money is definitely a way to generate interest. Computer Software Engineers make about twice the average salary in the United States and salary growth has been consistent for years. It probably wouldn't hurt to point out some of the folks who have made a fortune in the software business.
I wanted to program games when I was about their age and still do. I remember that I found the prospect of learning a language quite daunting and didn't understand why all the cosine/sine/tangent functions were necessary. Having since programmed some crappy little games, I realize that the motion of objects on a screen is all about trigonometry or geometry. Had someone explained to me back then why I would need all those weird mathy functions, it would have done me a great service I think. Uh, I'm rambling. I guess my point is that math is extremely helpful when programming games. You might want to also explain how stuff like databases or other technical stuff are really important and useful too. For example, storing high scores (or inventories of weapons/armor/whatever) are easily accomplished with a database. If you spend some time explaining why they have to learn the "boring" stuff by giving examples of how it's used, they might be more inclined to slog through it to actually become a game programmer.
Another thing they might find extremely useful to know is what technologies might get them started without having to shell out money for an integrated development environment or a server. For instance, all you need is a browser and a text editor to start working with HTML and Javascript. If they want to write a game, perhaps you could demonstrate some simple code that listens for keystrokes and moves a DIV tag or image around the screen.
And lastly, you might want to point out how there's a huge difference between being a computer scientist and just building websites for a living. It can be a simple vocation or it can be an abstract, theoretical endeavor.
Judging from this article, it would seem that the folks at msnbc.com didn't get the memo from good ol' Steve.
Ballmer is a sorry-ass blowhard and needs to get out of the way. MSFT stock has been flat at best since he took over. The man doesn't have a creative bone in his body.
Wired was kind enough to post an article today listing a bunch of ways that military spending in the cold war has contributed to your civilian lifestyle.
Are you trying to suggest that ICBM technology came from NASA? That NASA gave rocket technology to the military? Or even that NASA does no military research? I think you're wrong. NASA was formed by dissolving NACA. NACA, founded in the first World War, was the proud inheritor of all the rocket (and jet engine) technology the US pilfered from the Germans after WWII. Try reading about Werner Von Braun. A former nazi officer, he is the father of the American space program, not NASA. He and his nazi team are the inventors of the ICBM. NASA got its rocket technology from the military, not the other way around.
And to assert that DARPA is non military is patently ridiculous. Are you aware that the "D" in DARPA stands for "defense?" Have you taken a peek at their website or the projects they've worked on? You'll notice that the website ends in .MIL.
As for all that spending in the 80s, there is at least one military application -- GPS -- that is now in rampant civilian use. It's probably in your phone unless you have a crappy phone.
As for CDs, the CD itself is a consumer product but it's my understanding that the underlying digital audio sampling technology was largely developed and refined through military funding out of a desire to enable encrypted voice communications. Sadly, I've got no sources here. Just a vague recollection of a lecture in college years ago.
I'm not a big fan of US military spending policies, but I do believe there are countless civilian uses for old military technology. Sadly, it is the prospect of war and annihilation that actually scares folks into funding the research which turns theoretical possibilities into useable devices.
damburger you are on fire, my man. Keep fighting the good fight.
And China is extremely risk-averse when it comes to normalizing their currency. Try again.
The demand for evidence to back up an oft-repeated and patently ridiculous assertion is fair. As a reader, I also wanted evidence and was delighted to see a bit of vitriol applied.
I approve of damburger's rant. Morons like IWantMoreSpamPlease need to be abused for that kind of idiocy. Sadly, it'll probably just reinforce his mistaken beliefs.
At the risk of sounding like a hypocrite, I might agree with the OP's assertion that liberals have taken over the education system. Were it up to conservatives, there would probably be no system. They'd cut all the funding for education and keep talking about how free markets and "job makers" would solve the problem of educating our populace. Then, when you went to Macdonald's or the department of motor vehicles, you'd be dealing with total imbecile rather than an impertinent little twat.
I call shenanigans. Computer networking (i.e., the INTERNET) was essentially created by ARPA. The TCP/IP protocol was originally intended to be 'hubless' -- meaning that it could reconfigure it's routing strategies without the need for a central switching point -- in order to make it more resistant to catastrophic nuclear attack. Face it, the military created your interwebz. Also, just FYI, facebook, twitter, etc. are not military uses.
And ICBMs (like the minotaur rocket launched about a week ago) are being used today to launch stuff into space, not send nuclear weapons.
CDs (now old tech) and digital sampling of audio were also pioneered with military research funds. Cell phones? I believe spread spectrum technology was invented by the Israeli air force or something like that. I dunno, I'm getting out of my depth a bit here. But you, sir, are most definitely wrong.
mod parent up.
The real problem is the kids these days. They just can't find a way to stay off my lawn! Back in my day, we didn't have lawns. Lawns were patented! We just had asbestos tiles.
I bet some people around 1900 lamented that they didn't have the Jules Verne flying ship yet and were sad because there were still piles of horse shit in manhattan. I find all this lamenting of the "demise of space exploration" to be pretty silly. The space shuttle, however cool we thought it was, was VERY OLD technology. Has everyone forgotten that a third of them ended in fiery disaster? Additionally, its payload (to low-earth orbit only) was only 26 tons compared to something around 130 tons for the proposed SLS: http://en.wikipedia.org/wiki/Space_Launch_System
And what about the fact that you can now speak to your phone in plain english and get a response? Or kill people on the other side of the world while piloting a drone from Nevada? Or how about nearly curing leukemia? Big dog anyone?
I have nothing to do with any authors or developers but have had a pretty good experience with DD-WRT.
I bought an ASUS RT-N16 on sale some time ago:
http://www.newegg.com/Product/Product.aspx?Item=N82E16833320038
I liked the speed specs and also the USB ports -- I wanted to set up a network printer. The firmware that came with this router was GARBAGE. I mean totally, utterly, completely USELESS. My internet connection would constantly drop, forget about printing or NAS. I downloaded a particular build of DD-WRT and installed it and the router suddenly did everything it was supposed to. It stays up and running for months at a time. I'm really glad I found it.
It's also nice to hear about Tomato and Open WRT. I'll look into those when I need to get my next router -- which I shouldn't need for a good long time.
Ooooh nice. TYVM for the info.
So would that be something like ExtJs -> Javascript -> PhoneGap -> Device API ?
It sounds promising but I wonder if there's some kind of redistributable or virtual machine type thing involved?
I didn't realize that an opinion required supporting evidence.
By 'primitive' I guess I mean that AFAIK (and I'm no Javascript master) the concept of a class doesn't exist in Javascript and that you define objects like so:
MyNS.MyObject = function(p1, p2) {
this.prop1 = "foo";
this.prop2 = "bar";
}
You can then add methods and such like so:
MyNS.MyObject.prototype.baseValue = 1000; // blah blah
MyNS.MyObject.prototype.method1 = function() {
}
How does one establish whether methods/vars are public/private/protected? Or inheritance? To me, the weird misappropriation of the function keyword to build objects, the verbosity of the code to express objects, and the lack of inheritance, etc. are primitive compared to Actionscript 3, to Java, to PHP5, to C++, and a variety of other languages I've dealt with.
Polling sucks. I was referring to full-duplex sockets which are much more responsive for games and such and don't require polling. Apparently there's a spec being developed for websockets, which i did not know.
Thanks for the links. Very interesting stuff.
I'm aware that Javascript can be used on the Android platform to build full-blown apps but must admit that I don't know much about how this is accomplished. This does not, however, help at all if I want to create an app for Android, iOS, and Blackberry and maintain only one code base. Flash Builder 4.5 purports to provide just that capability.
Replacing Javascript sounds like a recipe for complete fucking disaster that would make previous browser wars look easy by comparison. Evolution sounds much more reasonable to me.
I'm not talking about 'web apps', I'm talking about mobile phone apps that do not require server access to function.
Granted, I haven't read all the documentation, but I don't see anything in ExtJs that would help you to write a native mobile application for iPhone/iPad, Android, and Blackberry with a single code base that:
* lets you access hardware (microphone, camera, gps, accelerometer)
* lets you manipulate a client-side database
* lets you establish a socket connection to a server
I'm still looking into it, but I believe that Flash Builder 4.5 does in fact make this possible.
I understand what you are saying about the language vs. the browser API, but would also like to point out that the enormous variation in API implementations is still a very serious problem for Javascript. This is why you have things like JQuery and Mootools providing a buffer layer between the JS programmer and the browser in the often fruitless attempt to shield a JS programmer from some peculiar browser implementation. One also encounters peculiar browser behavior in flash every now and then when trying to sniff out screen sizes and such. The browser APIs could use some standardization methinks.
I also tend to disagree that Javascript is particularly elegant. Working with Objects seems particularly primitive to me. I believe someone else pointed out the lack of strong typing and inheritance, among other things. Actionscript 3 does provide strong typing and inheritance and, for better or worse, the Flash player serves as an abstraction layer to more completely shelter the developer from the quirks of the browser.
What I really do like about Javascript is that all the major browsers support it without the need for any plug-in or player and that it does its job reasonably well.
Personally, I wish that hardware manufacturers, browser develoeprs, and web standards groups, etc. would normalize and standardize languages and hardware access so that it wasn't necessary to learn Java, HTML, Javascript, Objective C, and god knows what else to write an application for delivery to desktops, tablets, phones, etc. Sure would be nice if we had one language to rule them all and well-defined APIs and security features to gain access to hardware or whatever. Currently, it's a total Babel situation.