Attacks from identifiable sources in China or Russia are just exploratory research. Any serious attack would be launched from botnets running on computers belonging to citizens and companies in the country being attacked. Counter-attacking will just increase the damage. Poorly designed and maintained computers are like tinder waiting to be set alight and bring down the whole forest.
Once again Terrorists are forcing companies to use operating systems and other software well-known to be insecure on critical servers! You will know these Terrorists because of their distinctive clothing: Ties and Business Suits, which are never worn by software and security specialists. Alas, there may be nothing we can do to counter this Terrorist Threat as the Terrorists seem to have taken over our Corporate Boardrooms.
But there's no cause for alarm: everyone knows that the more you pay for software the more secure it is, right? And we can always retaliate against any Cyberattacks, unless of course they come from Botnets installed on our own citizens' computers.
Yes! tcl (with or without tk or expect) is much simpler to learn than bash or ksh for scripting and also more powerful. The other scripting languages are much more complex yet not significantly more powerful. I still use bash or ksh when what I'm doing is a simple generalization of what I'd do at the command line.
It's difficult to attack well-designed and maintained computer systems and it's impossible to secure poorly designed systems connected to the Internet.
When the insecure junk we call our county's critical information infrastructure gets seriously attacked, the attack comes from botnets operating in every country including our own. To "fight back" we must destroy every insecure computer on the internet!
What will be left standing? Oh, most OpenBSD systems. Quite a number of well administered Unix and GNU/Linux systems. But will we still have electricity to run them? How much of the infrastructure of the Internet itself will still be left after the war has taken out insecure routers, switches and the DNS system?
My critical resources run on OpenBSD servers behind ghost firewalls. My less critical resources are run under GNU/Linux with liberal use of virtualization and sandboxing. There are a few ways I can still be attacked but then, I'm only securing one geek's home office!
There's nothing to be gained from fighting a cyber war. There's no sane alternative but to secure our infrastructure properly right away.
Yes, I DO remember the early days of Gnome and how much better it was than now:
- automatic save and restore of multi-workspace sessions
- handy window operations like maximize-vertically and maximize-horizontally
- easy to change settings like which app to handle movies, etc. I remember when clicking on a menu button gave an instant response, not a several second delay for the first time in a session.
Gnome has become bloated and slower while becoming less stable and less powerful. It is neither easier nor harder for beginners. It has more eye candy.
Gnome clients have also gone downhill: Evolution used to support my mh mail folders. Now it uses a database that crashes when I try to load my old mail and fails to work with my rules. It still doesn't integrate the contact manager with the mail rules.
I'd switch to KDE but they've been destroying themselves even faster!
Perhaps if you could find some "special" orthopedic headphones for his pointy head he could see if music could help him!
Unfortunately, this is classic PHB behavior. "I don't like the look of what you're doing so I'm going to make up a spurious reason to forbid it, and if you challenge my spurious reason I'll perceive it as a personal attack."
The idea that software that I have no opportunity to audit runs with my privileges when I run it is fundamentally broken. There is no way to clean malware that had a network connection long enough to hide a trojan anywhere and then overwrite itself to appear relatively innocuous. While a complete redesign of the way permissions and permission-delegation would be ideal, it is not practical in the short term. Using systems like http://plash.beasts.org/ can help.
The languages mentioned in the article are all fairly similar procedural languages. Choosing such similar languages makes it difficult to convey the breadth of powerful programming practices and paradigms. A good programming curriculum teaches all of the major programming paradigms, first using languages which emphasize those paradigms, then multi-paradigm languages, then making sure that the student can use any paradigm in any language. Along with learning one or two procedural languages, one of which should be C, I would recommend Squeak, Clojure, Haskell, Mozart/Oz, Curry and Flora2.
If non-defensive Copyrights and Patents are a form of property, then let's tax them. When the holder no longer expects to make money from them, they can be sold or given back to the public domain. Heinlein suggested a great way to set property taxes: Let anyone state the taxable value of their property, then that's what it can be purchased for. See his novel "Number of the Beast" for details.
Gamow's book covers some of the most interesting areas of mathematics without excessive simplification or condescension.
Another good book is
The "Language of Mathematics: Making the invisible visible" by Keith Devlin. This is an expansion of his earlier book for Scientific American Library.
Finally, consider mathematics which involves interactive projects with a computer. Turtle Geometry is a great starting place. Advanced students can tackle a professional book on computer graphics and will learn a massive amount of projective geometry and mathematical thinking while having a blast doing it.
I recommend learning at least two languages representing significantly different paradigms during a programmer's formative period. In this instance I consider C, C++, Java, C# and the lot to be in the same paradigm - procedural.
Haskell is a good language for exploring the functional paradigm. Smalltalk is good for object oriented. There are many good Prologs for learning logic relational programming. I recommend that a new programmer avoid multiparadigm languages until they have seriously explored programming in a more pure way in two or more paradigms.
If I could only keep one book in my (very large) AI library, it would be "Representation and Understanding" edited by Daniel G. Bobrow & Allan Collins. Although it is from 1975, I believe it is still in print.
Abbreviating Gnu/Linux to Linux is usually clear in context, but when talking about changing the kernel it's clear as mud!
The Linux kernel is a tiny part of the Gnu/Linux system and can be replaced by several alternative kernels, thus "depenquinating" it, with little or no impact on users or application programs. So Gnu/Linux can be switched to Gnu/(*BSD kernel) or GNU/Hurd, etc.
You can also replace the whole O/S with a different one that is able to run Gnu/Linux application binaries. Thus Gnu/Linux can be replaced by FreeBSD or Solaris or SCO Unix. As this is a much larger change, I would expect some trouble and user-visible changes.
I prefer to always use the term Gnu/Linux in writing even if I may abbreviate to just Gnu or just Linux when speaking.
Attacks from identifiable sources in China or Russia are just exploratory research. Any serious attack would be launched from botnets running on computers belonging to citizens and companies in the country being attacked. Counter-attacking will just increase the damage. Poorly designed and maintained computers are like tinder waiting to be set alight and bring down the whole forest.
Once again Terrorists are forcing companies to use operating systems and other software well-known to be insecure on critical servers! You will know these Terrorists because of their distinctive clothing: Ties and Business Suits, which are never worn by software and security specialists. Alas, there may be nothing we can do to counter this Terrorist Threat as the Terrorists seem to have taken over our Corporate Boardrooms.
But there's no cause for alarm: everyone knows that the more you pay for software the more secure it is, right? And we can always retaliate against any Cyberattacks, unless of course they come from Botnets installed on our own citizens' computers.
Yes! tcl (with or without tk or expect) is much simpler to learn than bash or ksh for scripting and also more powerful. The other scripting languages are much more complex yet not significantly more powerful. I still use bash or ksh when what I'm doing is a simple generalization of what I'd do at the command line.
It's difficult to attack well-designed and maintained computer systems and it's impossible to secure poorly designed systems connected to the Internet.
When the insecure junk we call our county's critical information infrastructure gets seriously attacked, the attack comes from botnets operating in every country including our own. To "fight back" we must destroy every insecure computer on the internet!
What will be left standing? Oh, most OpenBSD systems. Quite a number of well administered Unix and GNU/Linux systems. But will we still have electricity to run them? How much of the infrastructure of the Internet itself will still be left after the war has taken out insecure routers, switches and the DNS system?
My critical resources run on OpenBSD servers behind ghost firewalls. My less critical resources are run under GNU/Linux with liberal use of virtualization and sandboxing. There are a few ways I can still be attacked but then, I'm only securing one geek's home office!
There's nothing to be gained from fighting a cyber war. There's no sane alternative but to secure our infrastructure properly right away.
Yes, I DO remember the early days of Gnome and how much better it was than now:
- automatic save and restore of multi-workspace sessions
- handy window operations like maximize-vertically and maximize-horizontally
- easy to change settings like which app to handle movies, etc.
I remember when clicking on a menu button gave an instant response,
not a several second delay for the first time in a session.
Gnome has become bloated and slower while becoming less stable and less powerful.
It is neither easier nor harder for beginners. It has more eye candy.
Gnome clients have also gone downhill: Evolution used to support my mh mail folders.
Now it uses a database that crashes when I try to load my old mail and fails to work
with my rules. It still doesn't integrate the contact manager with the mail rules.
I'd switch to KDE but they've been destroying themselves even faster!
Perhaps if you could find some "special" orthopedic headphones for his pointy head he could see if music could help him!
Unfortunately, this is classic PHB behavior. "I don't like the look of what you're doing so I'm going to make up a spurious reason to forbid it, and if you challenge my spurious reason I'll perceive it as a personal attack."
_the happy geek
The idea that software that I have no opportunity to audit runs with my privileges when I run it is fundamentally broken. There is no way to clean malware that had a network connection long enough to hide a trojan anywhere and then overwrite itself to appear relatively innocuous. While a complete redesign of the way permissions and permission-delegation would be ideal, it is not practical in the short term. Using systems like http://plash.beasts.org/ can help.
The languages mentioned in the article are all fairly similar procedural languages. Choosing such similar languages makes it difficult to convey the breadth of powerful programming practices and paradigms. A good programming curriculum teaches all of the major programming paradigms, first using languages which emphasize those paradigms, then multi-paradigm languages, then making sure that the student can use any paradigm in any language. Along with learning one or two procedural languages, one of which should be C, I would recommend Squeak, Clojure, Haskell, Mozart/Oz, Curry and Flora2.
_Greg
If non-defensive Copyrights and Patents are a form of property, then let's tax them. When the holder no longer expects to make money from them, they can be sold or given back to the public domain. Heinlein suggested a great way to set property taxes: Let anyone state the taxable value of their property, then that's what it can be purchased for. See his novel "Number of the Beast" for details.
_Greg
Gamow's book covers some of the most interesting areas of mathematics without excessive simplification or condescension.
Another good book is
The "Language of Mathematics: Making the invisible visible" by Keith Devlin. This is an expansion of his earlier book for Scientific American Library.
Finally, consider mathematics which involves interactive projects with a computer. Turtle Geometry is a great starting place. Advanced students can tackle a professional book on computer graphics and will learn a massive amount of projective geometry and mathematical thinking while having a blast doing it.
_Greg
http://squeak.org/
It's not just the language, it's the whole dynamic multimedia environment. It's great for adults; it's perfect for young'uns.
I recommend learning at least two languages representing significantly different paradigms during a programmer's formative period. In this instance I consider C, C++, Java, C# and the lot to be in the same paradigm - procedural.
Haskell is a good language for exploring the functional paradigm. Smalltalk is good for object oriented. There are many good Prologs for learning logic relational programming. I recommend that a new programmer avoid multiparadigm languages until they have seriously explored programming in a more pure way in two or more paradigms.
I used to recommend SICP, now I recommend CTM.
Also important is to (1) enjoy the programming you are doing and (2) work on programs which do interesting things and get you feedback from others.
If I could only keep one book in my (very large) AI library, it would be "Representation and Understanding" edited by Daniel G. Bobrow & Allan Collins. Although it is from 1975, I believe it is still in print.
Abbreviating Gnu/Linux to Linux is usually clear in context, but when talking about changing the kernel it's clear as mud!
The Linux kernel is a tiny part of the Gnu/Linux system and can be replaced by several alternative kernels, thus "depenquinating" it, with little or no impact on users or application programs. So Gnu/Linux can be switched to Gnu/(*BSD kernel) or GNU/Hurd, etc.
You can also replace the whole O/S with a different one that is able to run Gnu/Linux application binaries. Thus Gnu/Linux can be replaced by FreeBSD or Solaris or SCO Unix. As this is a much larger change, I would expect some trouble and user-visible changes.
I prefer to always use the term Gnu/Linux in writing even if I may abbreviate to just Gnu or just Linux when speaking.