Since when does "very old" qualify as an accurate description of a release that occurred just over 4 months ago? While I believe Apple should fix this (and it shouldn't really be that hard), I think it's a bit disingenuous to characterize what they distributed this way. Especially when Debian is still distributing (patched) 2.1.4!
...oh and he could fence. Was that an attempt to pay tribute to Picard or just an excuse to do a pointless and extremely cheesy sword fighting scene...
FYI - Sulu's fencing has it's roots in TOS - see "The Naked Time".
Not to pick, but A Clockwork Orange was written by Anthony Burgess, and actually suggests that when you don't have the choice to do wrong, there is no right. Instead of blaming video games, we should be blaming the adults that allow their grade school kids to play games like GTA. As an adult, I can make the choice to play such a game, and not act out the images it shows. I can also make the choice not to allow my (theoretical) children to be exposed to such things until they are old enough to understand the difference between entertainment and reality. If you take away that choice, then, according to Burgess, we've lost something as a society, becoming more like a "clockwork orange".
I live in a small town, South of Lansing, Michigan, and this exact issue was happening to me about a week ago. I lost connection to certain Google sites for 3 hours or so. I started investigating it, because I could access it from other locations. Here's what I found:
Other folks with Comcast in Lansing proper were not having this issue.
WireShark captures (which I saved) show what appear to be TCP RST packets being injected
Whatever was doing this seemed to be looking for a HTTP header, specifically: "Host: google.com" or some variant
After I had gathered all my data, I was about to call Comcast when the service started working again. I figured this was similar to the Bittorrent TCP RST packets I had heard so much about. Thanks to this most recent problem with Comcast, I'm now looking for a new ISP.
IMHO, it sounds as if you've had to deal with a lot of CS folks who just went through the motions with their math. Just as a theoretical background in CS teaches you to teach yourself most disciplines in computing, a theoretical background in math helps you to teach yourself any mathematical discipline - that is why CS folks need to have a strong math background.
No math class is going to hurt in when you are in CS. If you are looking to only learn things that are "applicable" to CS, you should be going to a trade school, and not a university.
That said, I think there's a correlation between the jumps in reasoning calculus requires, and the jumps in reasoning programming requires. I also can't believe that you haven't used at least some ideas from discrete... if you haven't then I'd be concerned about the quality of your education. Complexity theory (that is, big oh notation) should have been convered in discrete.
IMHO, "Software Engineering" is something you can learn on your own if you receive a good CS education. All it comes down to is organization and experience. On the other hand, if you don't have a theoretical background, all the "Software Engineering" in the world won't help you to solve certain problems.
It would in this contrived example - but if you had a finally block it would not. That is, the finally block would be executed before return myCrazyFunction(foo) in your example, rather than after it, if you used an else.
The difference... which I keep not mentioning, doh... is in the case that "print 'no exception'" throws an exception. In that particular case, your code would proceed into the exception block, where my code would bubble up to the next error handler.
"Whatever your thought on the result is, don't think for a second that the decision of this was easy, or a side-note on a receipt."
I meant no disrespect - I use python on a daily basis, and I owe a debt of gratitude to all the developers, and especially Guido. I certainly had no idea the ammount of discussion that had gone into deciding the syntax. It's interesting to see that a form similar to the one I mentioned was high in the running.
is a little more correct - you can blanket catch exceptions with except on it's own - where else is really meant to take care of actions you want to do if no exceptions were caught.
I actually find the python syntax easier to read - but maybe not perfect... I think C/C++ syntax is confusing because the actual operator (?) appears AFTER the comparison (e.g. a==b ? "first option" : "second option").
Python makes it a little easier to read by not only keeping the testing operator the same (i.e. no ? and if, just if), but also by placing the operator BEFORE the comparison, which is a little closer to english, as well as being more consistent with the rest of the language (e.g. "first option" if a==b else "second option").
My only complaint is the movement of the first option to the start of the statement, though I can see how this reads even cleaner, it's not consistent... I would have preferred: if a==b "first option" else "second option"
It doesn't appear that US citizens even care about global warming. Maybe work on this first, or is the Federal goverment responsible for public morals?
"A recent poll published in the Chicago Sun-Times now shows that 'An overwhelming majority of Americans think they can help reduce global warming and are willing to make the sacrifices that are needed, a new poll shows. After years of controversy, 71 percent of Americans now say they think global warming is real."
I'd say the public's morals are just about right, and it's time for the government to take notice and change its backward policies.
I must say that I've never experienced someone re-inventing the wheel knowingly - mostly I've seen this happen because newer coders tend to be unfamilar with basic library functionality. It all comes down to RTFM, which is a skill I am still trying to instill in my students. I think the biggest problem that new coders have is the tendency to rush write into a problem without doing research, and without a plan. The thought process goes something like this:
"I need to check if the user entered a number... ok, so I remember something about ascii codes and that I can check to see if a certain value is a number by checking against this table, ok I've written a little function - done!" Ad nauseum.
Working with a partner involves educating them. This education can in turn help you, because in order to teach someone else something you are forced to learn more about it. Just remember, no one is born knowing that isalpha is in the standard lib.
I don't know about VB5, but in VB6 real objects exist for the most part. You can't do some of the more interesting things, like inheritance or polymorphism, but the base is there. Basically, just create a class module. Everything you put in the class module (functions, properties, etc...) are a part of your class definition. Then, instead of calling these via the class module (like a static object, or a regular module would be used) instantiate your object by using code like this:
Dim objTest As clsTest Set objTest = New clsTest
Then you've got an instance object. Combined with strict usage of Option Explicit, VB6 can actually do OOP reasonably well. The biggest problem is the lack of inheritance. I've gotten around this by creating a instance of the object I wanted to inherit in my Initialize routine and then exposing the methods I wanted to call via public methods in my class that actually call that object's methods.
You can also do some interesting things in VB6 by using WithEvents although there are some limitations - but I managed to create objects to do TCP/IP communication that would throw events (i.e. non-blocking). Additionally, VB6 has Static and Friend keywords with can define the scope of it's functions. Static pretty obvious, but Friend... I imagine there must be some sort of limited inheritance - though I can't say how that would work.
My first was an Apple//c too - man what a great machine:
- call -151 Enter the monitor - assembly programmers best friend - I remember I had some hacks to make mine disassembly 65C02 opcodes correctly.
- What pages $100, $200 and $300 were for? (And what '$' meant in those days?) $ was hex - but man, I can't remember a lot of these pages - I know $300 was the first place user code could sit - it was used for the apple equivalent of TSRs... I'm stumped on the other pages - got to pull out those old manuals...
I don't find this to be surprising because of the comparison criteria. It's a well known fact that Wikipedia's science/technology articles are actually pretty accurate (most times). However most of the inaccuracy we've heard about in the past weeks has been in regards to social/cultural articles which were not compared.
If I want to learn about Haskell, or TCP/IP - I'll start at Wikipedia. If I want to learn about John Seigenthaler Sr. on the other hand...
Since when does "very old" qualify as an accurate description of a release that occurred just over 4 months ago? While I believe Apple should fix this (and it shouldn't really be that hard), I think it's a bit disingenuous to characterize what they distributed this way. Especially when Debian is still distributing (patched) 2.1.4!
Plan9 is a reaction to some of the problems in Unix and still includes a lot of common ideas.
...oh and he could fence. Was that an attempt to pay tribute to Picard or just an excuse to do a pointless and extremely cheesy sword fighting scene...
FYI - Sulu's fencing has it's roots in TOS - see "The Naked Time".
Not to pick, but A Clockwork Orange was written by Anthony Burgess, and actually suggests that when you don't have the choice to do wrong, there is no right. Instead of blaming video games, we should be blaming the adults that allow their grade school kids to play games like GTA. As an adult, I can make the choice to play such a game, and not act out the images it shows. I can also make the choice not to allow my (theoretical) children to be exposed to such things until they are old enough to understand the difference between entertainment and reality. If you take away that choice, then, according to Burgess, we've lost something as a society, becoming more like a "clockwork orange".
I live in a small town, South of Lansing, Michigan, and this exact issue was happening to me about a week ago. I lost connection to certain Google sites for 3 hours or so. I started investigating it, because I could access it from other locations. Here's what I found:
- Other folks with Comcast in Lansing proper were not having this issue.
- WireShark captures (which I saved) show what appear to be TCP RST packets being injected
- Whatever was doing this seemed to be looking for a HTTP header, specifically: "Host: google.com" or some variant
After I had gathered all my data, I was about to call Comcast when the service started working again. I figured this was similar to the Bittorrent TCP RST packets I had heard so much about. Thanks to this most recent problem with Comcast, I'm now looking for a new ISP.IMHO, it sounds as if you've had to deal with a lot of CS folks who just went through the motions with their math. Just as a theoretical background in CS teaches you to teach yourself most disciplines in computing, a theoretical background in math helps you to teach yourself any mathematical discipline - that is why CS folks need to have a strong math background.
No math class is going to hurt in when you are in CS. If you are looking to only learn things that are "applicable" to CS, you should be going to a trade school, and not a university.
That said, I think there's a correlation between the jumps in reasoning calculus requires, and the jumps in reasoning programming requires. I also can't believe that you haven't used at least some ideas from discrete... if you haven't then I'd be concerned about the quality of your education. Complexity theory (that is, big oh notation) should have been convered in discrete.
IMHO, "Software Engineering" is something you can learn on your own if you receive a good CS education. All it comes down to is organization and experience. On the other hand, if you don't have a theoretical background, all the "Software Engineering" in the world won't help you to solve certain problems.
Linear Algebra pointless? I guess you never plan to do any graphics programming. I would stay far, far away from OpenGL if I were you.
Sorry - not the best example on my part - c (else) is executed before the finally clause, but after the try clause.
It would in this contrived example - but if you had a finally block it would not. That is, the finally block would be executed before return myCrazyFunction(foo) in your example, rather than after it, if you used an else.
The difference... which I keep not mentioning, doh... is in the case that "print 'no exception'" throws an exception. In that particular case, your code would proceed into the exception block, where my code would bubble up to the next error handler.
More like this:
try:
error = false
a
except:
error = true
b
if not error:
c
"Whatever your thought on the result is, don't think for a second that the decision of this was easy, or a side-note on a receipt."
I meant no disrespect - I use python on a daily basis, and I owe a debt of gratitude to all the developers, and especially Guido. I certainly had no idea the ammount of discussion that had gone into deciding the syntax. It's interesting to see that a form similar to the one I mentioned was high in the running.
I'm just glad it didn't end up being C syntax.
Actually:
...
except IOError:
except:
print "unknown error"
else:
print "an error didn't occur"
is a little more correct - you can blanket catch exceptions with except on it's own - where else is really meant to take care of actions you want to do if no exceptions were caught.
You would include logic in the else to be executed in the case that no exceptions occur, that is:
else:
print "no exceptions occured!"
Everything else is the same as Java/C++.
I actually find the python syntax easier to read - but maybe not perfect... I think C/C++ syntax is confusing because the actual operator (?) appears AFTER the comparison (e.g. a==b ? "first option" : "second option").
Python makes it a little easier to read by not only keeping the testing operator the same (i.e. no ? and if, just if), but also by placing the operator BEFORE the comparison, which is a little closer to english, as well as being more consistent with the rest of the language (e.g. "first option" if a==b else "second option").
My only complaint is the movement of the first option to the start of the statement, though I can see how this reads even cleaner, it's not consistent... I would have preferred: if a==b "first option" else "second option"
I suppose that would have been too easy, though.
This release is worth the upgrade just for the new try, except, else, finally syntax. Never could figure out why Guido was confused by it...
It looks like if you buy the black MacBook, you actually pay $150 for it just being black? (The hard drive upgrade is worth $50 in apple money)
How is this supposed to be a tempting deal?
It doesn't appear that US citizens even care about global warming. Maybe work on this first, or is the Federal goverment responsible for public morals?
Actually, according to http://science.slashdot.org/article.pl?sid=06/04/0 4/1154214:
I'd say the public's morals are just about right, and it's time for the government to take notice and change its backward policies.
I must say that I've never experienced someone re-inventing the wheel knowingly - mostly I've seen this happen because newer coders tend to be unfamilar with basic library functionality. It all comes down to RTFM, which is a skill I am still trying to instill in my students. I think the biggest problem that new coders have is the tendency to rush write into a problem without doing research, and without a plan. The thought process goes something like this:
"I need to check if the user entered a number... ok, so I remember something about ascii codes and that I can check to see if a certain value is a number by checking against this table, ok I've written a little function - done!" Ad nauseum.
Working with a partner involves educating them. This education can in turn help you, because in order to teach someone else something you are forced to learn more about it. Just remember, no one is born knowing that isalpha is in the standard lib.
I don't know about VB5, but in VB6 real objects exist for the most part. You can't do some of the more interesting things, like inheritance or polymorphism, but the base is there. Basically, just create a class module. Everything you put in the class module (functions, properties, etc...) are a part of your class definition. Then, instead of calling these via the class module (like a static object, or a regular module would be used) instantiate your object by using code like this:
Dim objTest As clsTest
Set objTest = New clsTest
Then you've got an instance object. Combined with strict usage of Option Explicit, VB6 can actually do OOP reasonably well. The biggest problem is the lack of inheritance. I've gotten around this by creating a instance of the object I wanted to inherit in my Initialize routine and then exposing the methods I wanted to call via public methods in my class that actually call that object's methods.
You can also do some interesting things in VB6 by using WithEvents although there are some limitations - but I managed to create objects to do TCP/IP communication that would throw events (i.e. non-blocking). Additionally, VB6 has Static and Friend keywords with can define the scope of it's functions. Static pretty obvious, but Friend... I imagine there must be some sort of limited inheritance - though I can't say how that would work.
My first was an Apple //c too - man what a great machine:
- call -151
Enter the monitor - assembly programmers best friend - I remember I had some hacks to make mine disassembly 65C02 opcodes correctly.
- What pages $100, $200 and $300 were for? (And what '$' meant in those days?)
$ was hex - but man, I can't remember a lot of these pages - I know $300 was the first place user code could sit - it was used for the apple equivalent of TSRs... I'm stumped on the other pages - got to pull out those old manuals...
I don't find this to be surprising because of the comparison criteria. It's a well known fact that Wikipedia's science/technology articles are actually pretty accurate (most times). However most of the inaccuracy we've heard about in the past weeks has been in regards to social/cultural articles which were not compared.
If I want to learn about Haskell, or TCP/IP - I'll start at Wikipedia. If I want to learn about John Seigenthaler Sr. on the other hand...