Domain: amazon.com
Stories and comments across the archive that link to amazon.com.
Comments · 40,271
-
Why constant patronage of Bn.com?
I fail to understand why Slashdot book reviews link to Barnes & Noble when Amazon.com has whatever book for significantly cheaper. Is OSDN getting kickbacks from Barnes & Noble?
-
Re:What's the big deal?When the FBI starts praying to God in order to crack cases and find suspects, then I'll be worried. Until then, I have faith in science and technology.
You, sir, need to read Database Nation if you really think computer databases are infallible. It is one thing to have "faith" in an invisible sky-being, but you shouldn't have "faith" in science and technology - you should, instead, have accurate and quantifiable knowledge of those domains...
-
Re:we were wondering too
You're being naive, my friend. Boards of Directors aren't objective guardians of shareholders' interest. They are more often friends of the CEO, or his kids' piano teacher, or other CEOs who have no intention of messing with the compensation gravy train. So they heap on the options to make it look like the CEO has a "stake" in the company's success, when in fact he has nothing at risk and can reward himself handsomely for mediocre performance. Between 1990 and 2003, Michael Eisner took in $800 million as CEO of Disney, while the shareholders did no better than they would have in Treasurys.
This is well explained in Roger Lowenstein's Origins of the Crash. Read it, if you haven't completely closed your mind. -
Re:Men/Women Ratio? Dr. Strangelove wants to know
I think another question raised by Dr. Strangelove is, what are the Russians doing about it? Do they have their own exercises planned for continuity of government, or will they allow a mine-shaft gap?
-
Re:Study cryptography!
I think most online software developpers should learn the basics of cryptography.
You're hardly alone, a couple of years ago O'Reilly started publishing books like Secure Coding: Principles and Practices that touch on cryptography as something all devs should know about. However, I think that this is probably one of the lesser-selling series in all that they publish, which is sad.
-
Re:"Escape from Fire Island"
There's last year's "Escape from Fire Island" [...]
Hmm. While I'm sure that it's a great book, according your Amazon link, more people (43% vs 11%) ended up buying the Create Your Own Erotic Fantasy line of books instead.
Now to merge this idea with the comments further down about realistic computer games ;) -
Re:"Escape from Fire Island"
There's last year's "Escape from Fire Island" [...]
Hmm. While I'm sure that it's a great book, according your Amazon link, more people (43% vs 11%) ended up buying the Create Your Own Erotic Fantasy line of books instead.
Now to merge this idea with the comments further down about realistic computer games ;) -
Was Twist-A-Plot better?
I'm not sure which was first (too lazy to look it up), but I remember reading both of them in 1st or 3rd grade. CYOA books always seemed somewhat -- I don't know -- slim to me. Not much there beyond the gimick, and often times it was only a few pages between "choices". Twistaplot books seemed to have more narrative substance there, longer periods that allowed for the choices you made to develop in the plot before being forced into another one page branch.
But perhaps that's just time making things all fuzzy... Amazon used books to the rescue? -
And people are still writing them!
A recent one I picked up was Carlton Mellick III's Ocean of Lard which really had the best opening line I had ever read in a CYOA book:
You shouldn't have molested all those children...
Seriously, I'm glad people are remembering these books enough to reprint the old ones in addition to writing total mockeries of them. -
"Escape from Fire Island"
There's last year's "Escape from Fire Island": "If you ask the lifeguard to bring you to the sheriff's office, turn to page 108. If you ask the lifeguard to warn everyone at the night club, turn to page 32. If you ask the lifeguard if he'd like to work out sometime, turn to page 140."
-
I buy Music Videos...but only collections
Buying a DVD of a certain band's music videos....no, but buying a collection of music videos from a specific director yes.
The Director's Collection Series has some of the greatest music videos ever made. Works from the likes of Spike Jones and Michel Gondry are definitely worth purchasing, but I agree that the RIAA is out of hand (again).
The market for music videos is very small and very specific. I think they are using the revenue generated by these collections to support there argument, which doesn't make sense to me because the individuals who purchase these collections like myself are fans of the director, not so much the artist. For example I love the video Michel Gondry did for Kylie Minogue's Come Into My World, but I have never purchased a Kylie Minogue cd or mp3 and never will. Trying to gain this "theoretical" revenue is ridiculous because the people who would buy music videos are already buying these collections. There is no significant revenue being lost to gain. -
Re:Get your nose out of my kids a..es!
It's my, and only my, responsibility to raise my kids. Not that of government, not that of special interest groups, not that of any political party. Mine!
Sorry, but that's not what Hillary Clinton thinks. After all, "it takes a village to raise a child.". And what is that village? The good-old United States Federal Government, that's it. In order for that to happen, she's "going to take things away from you on behalf of the common good." You, as an individual and a parent, don't matter to her. Don't believe me? Google those quotes.
Hillary Clinton isn't a liberal (in neither the classical nor modern senses of the word); far from it. Look at her political views and actions. Her views are more socialistic and authoritarian than modern liberal.
Authoritarians of any type shouldn't be in any political position at all.
-
Re:Hello...
So he just keeps leaping...as the number of leaps approaches infinity, the probablility that he'll do what I want approaches 1. I win!
(This, of course, assumes he has an infinite lifespan.)
(And yes, I did remember the final episode, but I'm one of those people to whom Quantum Leap: Prelude is dedicated; those who believe he will return home. Oh yes, I am a QL fanboy.) -
As the post saysThis is completely mirroring the prologue in Ghost in the Shell, to the point that it's creeping me out.
Well actually, it started when I first started seeing city-wide wireless internet, and then Rhode Island wants state-wide wireless...
Anyway, I wholeheartedly recommend every single person that reads this to read GitS (if you haven't already). It not only shows where exactly the world will be in a few years, but also give a good idea as to the risks of humans having pooters implanted into their brains with connection to the webbernets (brain and personality hacks, whee!). Or Hell, watch Stand Alone Complex, it's the manga put on TV.
-
As the post saysThis is completely mirroring the prologue in Ghost in the Shell, to the point that it's creeping me out.
Well actually, it started when I first started seeing city-wide wireless internet, and then Rhode Island wants state-wide wireless...
Anyway, I wholeheartedly recommend every single person that reads this to read GitS (if you haven't already). It not only shows where exactly the world will be in a few years, but also give a good idea as to the risks of humans having pooters implanted into their brains with connection to the webbernets (brain and personality hacks, whee!). Or Hell, watch Stand Alone Complex, it's the manga put on TV.
-
Re:"Quick Facts from Wikipedia" ???
i think that a "web article" has different levels of trustability
"publisher" > the JAMA or JRandomBlogger
"writer" (in the context of the C programming language) Brian Kernighan or some random TSCOG dude (who just finished reading a book on C say http://www.amazon.com/gp/product/0131103628/102-06 47617-2540101?v=glance&n=283155 :-)) -
Re:Science gone amuck again
Dammit. Makes me want to live off a farm despite the work.
As a matter of fact, I'm just now reading Eric Brende's Better Off , where the author recounts his days living a year without electricity in an Amish village after graduating from MIT (he stopped only after he found that his wife was allergic to horses). One of Brende's major points is that farm labour is really not as mind-numbing and backbreaking as it seems. Working a farm not only exercises the mind in requiring one to come up with clever technical solutions, it also creates a social environment where time just flies by since one is always talking with the many other hands that make work light. It sure seems to beat sitting alone in a cubical all day.
-
Blaming your tools?
There you go, blaming your tools...
There are environments that have had great success implementing UML in their design process. My favorite example is from Nokia:
http://www.powells.com/biblio?isbn=0521645301
I had trouble wrapping my head around UML until I read Jaaksi's books (there's more than one), and I've been using Rational Rose since 1996. I never found or developed a clear system for making it work until I read his books.
A book that clearly describes the case for code generation (and the limits) is this one:
http://www.amazon.com/gp/product/1930110979/104-33 75871-4590326?v=glance&n=283155
The author has apparently developed a network for the support of gode generation, and has some useful tools.
Now, what the world REALLY needs, is a method of making the UML tools in VISIO do what they are supposed to do...(Some tools ARE truly deficient!)
Mike -
Re:It would make me nuts.But can a Bosendorfer make dog barking or Hammond B3-like noises? Actually the Kurzweil can't either-- it's just a MIDI controller. Your ref reminded me of one of my fave books: The Piano Shop On The Left Bank http://www.amazon.com/gp/product/0375758623/002-5
5 32244-0080817?v=glance&n=283155Anyway, back to the topic at hand. I wonder if Das Keyboard II comes in both QWERTY and Dvorak variants? *chuckle*
-
Mathematics 101 (Sponsored by Einstein)
The largest capacity microSD card in existance is 2Gb, and it won't be released until late 2006. $250 for the player, and another $45 for the microSD card (and that's just the 1Gb model. I'm at the cost of the iPod already, and still at less than half of the space it takes to hold the 4,500 songs on my iPod.
No Thanks. -
Re:Clever Campaign.
I don't know. If I'm an iPod user (and I am, but I'm speaking hypothetically here), I'm not sure that I'm going to want to switch to a competitor because they insulted me for using an iPod.
And SanDisk is insulting every single member of the market that it is trying to gain. Historically, that sort of approach doesn't tend to work very well. -
Re:Business as usual
This isn't such a surprising strategy. If you can convince the masses to do something to the least favoured members of society, then you can start to gradually argue the case for doing it to everyone.
That's what they're doing with criminalization. Taking some liberties on the specifics, once you're charged with a felony (like possession of marijuana?), in the US you are no longer allowed to vote. It therefore becomes harder for those people who are marginalized by oppressive laws to seek change in those who are creating and enforcing them, because these people can't vote (something like a quarter of black men, but that statistic was from '99).
From a technological standpoint, I don't have a problem with the government keeping tabs on pedophiles and those who are a serious potential threat to society (and your run-of-the-mill immigrant, I say, is not). What I do have a problem with is using a technology like RFID that anyone with an RFID receiver could theoretically use against the person. This leads to vigilantism and keeps the person from even having a chance at re-entering society.
When the government monitors dangerous people, in theory (I know, I know...) the public should be able to hold them to account. When vigilantes do it, not only does the government have to protect the public from potentially threatening people, but from vigilantes as well!
- RG>
-
Re:Proposed Strategy
Why don't they ask the director of the NSA, Michael V. Hayden, whether or not their information was collected? They don't need the classified records, just to have him swear under oath (after checking appropriate databases) whether or not AT&T gave it to the NSA.
The NSA wouldn't be willing to do this because part of ensuring the efficacy of its interception capabilities is making no public comment whatsoever. See Bamford's The Puzzle Palace and Body of Secrets for a layman's introduction to why keeping one's mouth totally shut is the only way to defend SIGINT gathering.
-
Re:Proposed Strategy
Why don't they ask the director of the NSA, Michael V. Hayden, whether or not their information was collected? They don't need the classified records, just to have him swear under oath (after checking appropriate databases) whether or not AT&T gave it to the NSA.
The NSA wouldn't be willing to do this because part of ensuring the efficacy of its interception capabilities is making no public comment whatsoever. See Bamford's The Puzzle Palace and Body of Secrets for a layman's introduction to why keeping one's mouth totally shut is the only way to defend SIGINT gathering.
-
I think a saw a film about this once...
When the migrant's work permit expires, would the RFID chip start glowing?
-
Re:Video Games as the Next Art Medium?
Do movie makers lack so much imagination that they are relying upon games or books for their storylines?
Many of the world's cinematic masterpieces are original stories. Citizen Kane , which often shows up in the first place of lists of the world's great movies, was an entirely original tale penned by Orson Welles himself. My own favourite film, Bergman's The Seventh Seal is similarly an original story.
Sure, the Hollywood blockbusters that are the majority of what's offered at your local theatre might be adaptations of existing material, but there are plenty of great original films out there.
-
Re:Video Games as the Next Art Medium?
Do movie makers lack so much imagination that they are relying upon games or books for their storylines?
Many of the world's cinematic masterpieces are original stories. Citizen Kane , which often shows up in the first place of lists of the world's great movies, was an entirely original tale penned by Orson Welles himself. My own favourite film, Bergman's The Seventh Seal is similarly an original story.
Sure, the Hollywood blockbusters that are the majority of what's offered at your local theatre might be adaptations of existing material, but there are plenty of great original films out there.
-
Re:There is a key difference
I have absolutely no problem at all with 100% public surveillance, as long as all of the video feeds are available to any person at any time, and not just Big Brother.
I think I may agree with you, but such a thing would be hard to manage with existing technology. Not accomplishing it technically, but ensuring the all-access provisions. Many governments (including the current USAn administration) do not like to let the general public have information when keeping it a secret is an option.
An extremely fictional example of a kind of technology that would force all-access monitoring is described in The Light of Other Days . It's a little hard for the government to stop (or even detect) someone spying on someone else with a nanoscale wormhole. -
Re:Feel Safer?
Actually, true conservatives, which the Republican party used to be made up of, do that...there's plenty of fuel in the argument that Bush and Co. aren't true conservatives, never were.
--trb -
Re:15 foot high waves of molasses
What's even more amazing about this incident is that my kids have a children's book at home about a boy who loved molasses witnessing this event. His mother disbelieves him when he comes home covered in molasses and sends him to bed without supper, until his father comes home later also covered in molasses.
The family has a wonderful time laughing at the incident and the book ends happily... HA HA! No mention of 21 dead people.
Here's the book -> Patrick and the Great Molasses Explosion. -
Re:15 foot high waves of molasses
Actually, the devastation was pretty extreme for that portion of Boston.
See:
http://edp.org/molasses.htm
It turned out to be a huge debacle in the city, due to the important nature of molasses at the time (this was right before WWI and molasses is used to make munitions) and the destruction it caused to one of Boston's poorest and most crowded neighborhoods.
Plus, the racial component. There was a scare in the city at the time about Italian anarchists trying to stop the American war machine, and the disaster was initially blamed on them.
There's an excellent book about it. I've read it and heartily recommend it to people interested in wierd history or Boston history. It covers all the factors that caused the accident, the accident itself, and the massive legal case that resulted from it.
http://www.amazon.com/gp/product/0807050210/sr=8-2 /qid=1149249807/ref=pd_bbs_2/102-9498425-1206560?_ encoding=UTF8 -
Re:And who's going to gatecrash Bilderberg
I recommend reading the book Them: Adventures with Extremists by Jon Ronson. Highly entertaining, and he infiltrates one of the Bilderberg meetings in California.
-
Sounds like the plot from "Pattern Recognition"
William Gibson's latest about a quasi-viral-marketing scheme.
-
Detailed book on the subject....
It is called Freefall by Bill Hoffer. One HELL of a good read. It details in very very specific and technical terms the causes for the 767 Canada Air incident.
It also provides the human side of the story by a narrative time line. I HIGHLY recommend this to everyone!
ISBN: 0312922744
http://www.amazon.com/gp/product/0312922744/103-79 06897-5291803?v=glance&n=283155 -
Real effects of Cyberterrorism
read the book by Dan Verton, Black Ice
http://www.amazon.com/gp/product/0072227877/sr=8-4 /qid=1149217071/ref=pd_bbs_4/103-9307374-3103061?_ encoding=UTF8 -
Re:encryption is a speed bump.
Only in Hollywood can a brilliant physicist sit down and crack encryption in five or ten minutes, no matter how strong.
Out here in the real world, you're not going to crack correctly-applied encryption in your lifetime, even if your Bruce Scheier, the guy who wrote the book on encryption.
A lot of encryption is misapplied, but short of leaving the password on a post-it note on the machine, or leaving the machine on all the time, full-disk encryption is pretty easy-to-use. -
On the DC-10
It's very unfair to group the DC-10 with these disasters. McDonnell Douglas was actually very little at fault for the 3-4 accidents that unfortunately occurred right near each other. The most spectacular crash of the American Airlines flight was actually caused by an AA maintenance crew being dumb and cracking the pylon holding the engine. But thanks to the American sensationalistically hostile TV media, the only thing that everyone saw was the engine falling off the wing, which led everyone to assume it was the DC-10's fault, and led to huge cancellations on flights on the actually safe DC-10. It was a good airplane destroyed by bad press and bad luck.
(If any of you have read Airframe by Michael Crichton, you'll know what I'm talking about...from the NYT review of that very good book:
"And, Casey explains, when something goes wrong, a media industry that has grown hostile and shallow with the ascendancy of television always jumps to the wrong conclusion. Why, just look at what happened to the DC-10, ''a good aircraft . . . destroyed by bad press,'' because the crash of an American Airlines flight from Chicago to Los Angeles in May 1979 was misreported and misunderstood. ") -
Richard ClarkeIf only Bush had listed to Richard Clarke!
http://archives.cnn.com/2000/TECH/computing/12/08/ security.summit.ap/
U.S. cyberspace chief warns of 'digital Pearl Harbor'
December 8, 2000
Web posted at: 1:52 PM EST (1852 GMT)
REDMOND, Washington (AP) -- The nation's top cyberspace official Friday called on the next president to shore up the government's computer security to prevent a "digital Pearl Harbor."
"What this presidential election year showed is that statistically improbable events can occur," Richard Clarke of the National Security Council said at a Microsoft-organized conference.
"It may be improbable that cyberspace can be seriously disrupted, it may be improbable that a war in cyberspace can occur, but it could happen."
On coming to office, the next president will find that several nations have created information-warfare units, Clarke said.
"These organizations are creating technology to bring down computer networks. Some are doing reconnaissance today on our networks, mapping them," he said.
Clarke, appointed by President Clinton as the first national coordinator for security, infrastructure protection and counterterrorism, spoke at the SafeNet 2000 summit, which brought together computer experts to discuss ways of improving Internet security and privacy.
Clarke said the next president should appoint a government-wide chief information officer, with authority to oversee all the government's computer security, and whose appointment would need confirmation from Congress.
He also said the Clinton administration is creating a scholarship program to increase the number of government computer security experts. Students who study computer security would receive $25,000 a year in return for each year they agree to work for the government.
Another way to improve security throughout the Internet is to create secure lines of communication between the technology industry and the government, Clarke said. That way, they could share information about hackers and viruses without worrying about the public learning about it.
Clarke said the plan would require an exemption from the Freedom of Information Act.
Others at the conference expressed the same notion. Harris Miller, president of the Information Technology Association of America, said that a nonprofit organization of 18 companies would be created early next year to share information.
"You'll want to have the ability to share high-level intelligence on an anonymous basis, without believing it's going to show up in an AP article the next day," Miller said.
FYI: Clarke, hero of certain partisans in 2004, was also the guy who approved the bin Laden flights out of the country after 9/11.
He also suggested a connection between the Oklahoma City Bombing and al Qaeda, and was worried that Osama bin Laden would "boogie to Baghdad" if the U.S. invaded Afghanistan. -
Re:The sweet smell lingersIndeed, as a contracter friend should me, molasses is still in the some basements!
And it wasn't fifteen feet tall, it was fifty. There is a great book about it called Dark Tide. You can still see the lines where the tide was.
-
Re:A scary story related to this question
The 4 year CS program at the university I went to (in Belgium) did not involve any general knowledge courses. General knowledge courses have no place in a university education.
Amazon has a pretty reliable ratings system for computer books. Whenever I want to learn more about a subject I just buy the book recommended in amazon reviews, and I've never really bought anything I regretted (maybe I've been lucky).
I think the problem with a lot of CS educations is that they don't teach enough foundation. Diving straight into java is good from the perspective of drawing in students and getting them "market-ready", but it does little towards actually teaching programming.
There are a number of subjects which you must learn about to truly be able to call yourself a programmer. These I think are important:
Computer architecture
By this I mean the generic computer architecture. You have to be able to understand the internal workings of the CPU, and how it relates to the various types of memory in the system, before you're able to reliably write code that is performance-sensitive or memory-constrained. The book I learned from in my CS education was Computer Organization and Design by Patterson and Hennesy. It was good enough, but there may be better books on the subject out there.
Algorithms and algorithmic complexity
I'm talking about all the basic data structures (lists, stacks, queues, trees, and so on), and all the algorithms that operate on them, plus an understanding of how to build additional data structures and algorithms, and how to analyze the memory size and execution time requirements (aka the complexity) of the algorithms you're designing. A good book on the subject will probably not even be tied to a particular language. Introduction to Algorithms by Cormen seems to be popular. You'll need to be able to write code already to understand books on this subject though.
Object Orientation
This one is pretty obvious, but you can't figure this stuff out without learning it from a book (or something equivalent). I learned it from my second-year programming course, so I can't recommend a book, but I'm sure they're out there.
Parallel programming / concurrent programming
This stuff is really tricky, and sooner or later you're going to have to write multi-threaded code. It really helps to know the fundamentals. Principles of Concurrent and Distributed Programming has some good reviews, but may not cover enough practice to really get you going writing parallel code.
Numerical computation (floating point arithmetic)
Another subject impossible to avoid and that you must understand the fundamentals of or you're going to have code that "is only slightly wrong". Again I can't point to any books I've actually read (it was all from courses that had only loose coupling with books), but Numerical Computing with IEEE Floating Point Arithmetic seems like it has the right stuff.
There are some other subjects that are very useful, but not absolutely required, like learning about compiler design (fascinating and useful), databases (from a theoretical standpoint), networking, computer graphics, artificial intelligence, code verification and so on. I used to think that my CS education was overkill, until I took a programming job in the real world, and found that I did in fact use almost all of the knowledge in my daily job. My AI and code verification knowledge hasn't proved to be of much use in the real world though. -
Re:A scary story related to this question
The 4 year CS program at the university I went to (in Belgium) did not involve any general knowledge courses. General knowledge courses have no place in a university education.
Amazon has a pretty reliable ratings system for computer books. Whenever I want to learn more about a subject I just buy the book recommended in amazon reviews, and I've never really bought anything I regretted (maybe I've been lucky).
I think the problem with a lot of CS educations is that they don't teach enough foundation. Diving straight into java is good from the perspective of drawing in students and getting them "market-ready", but it does little towards actually teaching programming.
There are a number of subjects which you must learn about to truly be able to call yourself a programmer. These I think are important:
Computer architecture
By this I mean the generic computer architecture. You have to be able to understand the internal workings of the CPU, and how it relates to the various types of memory in the system, before you're able to reliably write code that is performance-sensitive or memory-constrained. The book I learned from in my CS education was Computer Organization and Design by Patterson and Hennesy. It was good enough, but there may be better books on the subject out there.
Algorithms and algorithmic complexity
I'm talking about all the basic data structures (lists, stacks, queues, trees, and so on), and all the algorithms that operate on them, plus an understanding of how to build additional data structures and algorithms, and how to analyze the memory size and execution time requirements (aka the complexity) of the algorithms you're designing. A good book on the subject will probably not even be tied to a particular language. Introduction to Algorithms by Cormen seems to be popular. You'll need to be able to write code already to understand books on this subject though.
Object Orientation
This one is pretty obvious, but you can't figure this stuff out without learning it from a book (or something equivalent). I learned it from my second-year programming course, so I can't recommend a book, but I'm sure they're out there.
Parallel programming / concurrent programming
This stuff is really tricky, and sooner or later you're going to have to write multi-threaded code. It really helps to know the fundamentals. Principles of Concurrent and Distributed Programming has some good reviews, but may not cover enough practice to really get you going writing parallel code.
Numerical computation (floating point arithmetic)
Another subject impossible to avoid and that you must understand the fundamentals of or you're going to have code that "is only slightly wrong". Again I can't point to any books I've actually read (it was all from courses that had only loose coupling with books), but Numerical Computing with IEEE Floating Point Arithmetic seems like it has the right stuff.
There are some other subjects that are very useful, but not absolutely required, like learning about compiler design (fascinating and useful), databases (from a theoretical standpoint), networking, computer graphics, artificial intelligence, code verification and so on. I used to think that my CS education was overkill, until I took a programming job in the real world, and found that I did in fact use almost all of the knowledge in my daily job. My AI and code verification knowledge hasn't proved to be of much use in the real world though. -
Re:A scary story related to this question
The 4 year CS program at the university I went to (in Belgium) did not involve any general knowledge courses. General knowledge courses have no place in a university education.
Amazon has a pretty reliable ratings system for computer books. Whenever I want to learn more about a subject I just buy the book recommended in amazon reviews, and I've never really bought anything I regretted (maybe I've been lucky).
I think the problem with a lot of CS educations is that they don't teach enough foundation. Diving straight into java is good from the perspective of drawing in students and getting them "market-ready", but it does little towards actually teaching programming.
There are a number of subjects which you must learn about to truly be able to call yourself a programmer. These I think are important:
Computer architecture
By this I mean the generic computer architecture. You have to be able to understand the internal workings of the CPU, and how it relates to the various types of memory in the system, before you're able to reliably write code that is performance-sensitive or memory-constrained. The book I learned from in my CS education was Computer Organization and Design by Patterson and Hennesy. It was good enough, but there may be better books on the subject out there.
Algorithms and algorithmic complexity
I'm talking about all the basic data structures (lists, stacks, queues, trees, and so on), and all the algorithms that operate on them, plus an understanding of how to build additional data structures and algorithms, and how to analyze the memory size and execution time requirements (aka the complexity) of the algorithms you're designing. A good book on the subject will probably not even be tied to a particular language. Introduction to Algorithms by Cormen seems to be popular. You'll need to be able to write code already to understand books on this subject though.
Object Orientation
This one is pretty obvious, but you can't figure this stuff out without learning it from a book (or something equivalent). I learned it from my second-year programming course, so I can't recommend a book, but I'm sure they're out there.
Parallel programming / concurrent programming
This stuff is really tricky, and sooner or later you're going to have to write multi-threaded code. It really helps to know the fundamentals. Principles of Concurrent and Distributed Programming has some good reviews, but may not cover enough practice to really get you going writing parallel code.
Numerical computation (floating point arithmetic)
Another subject impossible to avoid and that you must understand the fundamentals of or you're going to have code that "is only slightly wrong". Again I can't point to any books I've actually read (it was all from courses that had only loose coupling with books), but Numerical Computing with IEEE Floating Point Arithmetic seems like it has the right stuff.
There are some other subjects that are very useful, but not absolutely required, like learning about compiler design (fascinating and useful), databases (from a theoretical standpoint), networking, computer graphics, artificial intelligence, code verification and so on. I used to think that my CS education was overkill, until I took a programming job in the real world, and found that I did in fact use almost all of the knowledge in my daily job. My AI and code verification knowledge hasn't proved to be of much use in the real world though. -
Re:A scary story related to this question
The 4 year CS program at the university I went to (in Belgium) did not involve any general knowledge courses. General knowledge courses have no place in a university education.
Amazon has a pretty reliable ratings system for computer books. Whenever I want to learn more about a subject I just buy the book recommended in amazon reviews, and I've never really bought anything I regretted (maybe I've been lucky).
I think the problem with a lot of CS educations is that they don't teach enough foundation. Diving straight into java is good from the perspective of drawing in students and getting them "market-ready", but it does little towards actually teaching programming.
There are a number of subjects which you must learn about to truly be able to call yourself a programmer. These I think are important:
Computer architecture
By this I mean the generic computer architecture. You have to be able to understand the internal workings of the CPU, and how it relates to the various types of memory in the system, before you're able to reliably write code that is performance-sensitive or memory-constrained. The book I learned from in my CS education was Computer Organization and Design by Patterson and Hennesy. It was good enough, but there may be better books on the subject out there.
Algorithms and algorithmic complexity
I'm talking about all the basic data structures (lists, stacks, queues, trees, and so on), and all the algorithms that operate on them, plus an understanding of how to build additional data structures and algorithms, and how to analyze the memory size and execution time requirements (aka the complexity) of the algorithms you're designing. A good book on the subject will probably not even be tied to a particular language. Introduction to Algorithms by Cormen seems to be popular. You'll need to be able to write code already to understand books on this subject though.
Object Orientation
This one is pretty obvious, but you can't figure this stuff out without learning it from a book (or something equivalent). I learned it from my second-year programming course, so I can't recommend a book, but I'm sure they're out there.
Parallel programming / concurrent programming
This stuff is really tricky, and sooner or later you're going to have to write multi-threaded code. It really helps to know the fundamentals. Principles of Concurrent and Distributed Programming has some good reviews, but may not cover enough practice to really get you going writing parallel code.
Numerical computation (floating point arithmetic)
Another subject impossible to avoid and that you must understand the fundamentals of or you're going to have code that "is only slightly wrong". Again I can't point to any books I've actually read (it was all from courses that had only loose coupling with books), but Numerical Computing with IEEE Floating Point Arithmetic seems like it has the right stuff.
There are some other subjects that are very useful, but not absolutely required, like learning about compiler design (fascinating and useful), databases (from a theoretical standpoint), networking, computer graphics, artificial intelligence, code verification and so on. I used to think that my CS education was overkill, until I took a programming job in the real world, and found that I did in fact use almost all of the knowledge in my daily job. My AI and code verification knowledge hasn't proved to be of much use in the real world though. -
Re:Server in the MiddleI sense some new job listings on Amazon's Mturk in 3...2...1...
-
Re:Downside!
When I have to rent my word processor and spread sheet program.
Software as a service plainly doesn't make sense for word processing or spreadsheets.
But it does for search, or buying books, or news.
The only problem (if you can call it that) is that the users are so not-locked in that it's hard to charge for the service (ok, you can charge for the books, but the users can still go to another online stop at the drop of a hat) -
Re:great article
I've always said, "All civilized men are just two meals and a bath away from clawing each other to death with their bare hands".
Fortunately, the many examples of vituous and heroic behavior under duress - in concentration camps, in times of disaster and war - shows this incorrect. While certainly capable of great savagery towards groups considered "outsiders", towards recognized kindred or tribal "insiders" the naked ape often exhibits great tenderness and self-sacrifice.
It's a stupid, vicious world, and I don't know what to do about it
I suggest working to widen the notion of "tribe" past family and local community, past nation-state, to the whole human race (and indeed, beyond to all sentient beings).
"We experience ourselves, our thoughts and feelings as something separate from the rest. A kind of optical delusion of consciousness. This delusion is a kind of prison for us, restricting us to our personal desires and to affection for a few persons nearest to us. Our task must be to free ourselves from the prison by widening our circle of compassion to embrace all living creatures and the whole of nature in its beauty." -- Albert Einstein
-
Even the absurd entries have good gameplay
One shouldn't look back to the early NES games as the only worthwhile members of the franchaise. As far as I'm concerned, and I'm sure many here will agree, the best game was Castlevania: Symphony of the Night. It suffered from risible voice action, and some of the sound-effects were corny, but even with a suave pretty-boy as protagonist, it still possessed some bad-ass gameplay. For those who went without strategy guides, the fact that the easy ending obscured the entire second half of the game came as a shocking revelation when stumbled upon.
-
Re:Bob Lazar? Area 51 Bob?
Hey, I know my freaks - heck, I used to eat lunch with Mark McCutcheon at Newbridge back in 1994. He's such a freak, that he's even been banned from reference on Wikipedia! He used to buy the $5.00 lunch which included the special of the day and a can of Coke. Then we'd shoot the shit about ideas... I just never thought he'd write about them...
Anyway, I still think that anything Bob Lazar says has to be re-examined a few times...
-
Re:good morning !
I assume you're not american, your neighbor probably has access to rocks to bludgeon you to death
OMG, teh Rox!!!
Everything can be used as a deadly weapon against an individual, not everything can be used to slowly poison mass numbers of poeple quite as well as radioactive materials with proper placement. Here in the old US of A, pot farms survive for years pulling in thousands of dollars a month in power bills for their lights and irrigation systems because power companies *gasp* are a business making money and don't give a shit, as long as Joe-Bob Hooch-Farmer pays his power bill that is.
Of course I remember the story of the radioactive boy scout who, in an attempt to provide a really neat experiment for a science project, damn near killed his family and neighbors out of common household radioactive products. Of course, he had to collect mass amounts of radioactive materials on his own instead of just buying them over teh intraweb. -
VB can do the job
One of keys to managing large projects is being able to break the project down into its component parts. VB.NET (or even VB6) allows you to do this easily by supporting multiple assemblies linked together. However to be fair this is a feature of the
.NET environment so most .NET langauges (C# C++.NET) can make assemblies. Other langauges can certainly create and use libraries but being able to do this is one of the explicit design goals of the .NET environment. In addition you will find the managed memory making you far more productive then environment like C++ where you have to manage memory yourself. Again to be fair Java certainly has memory management so this is not unique to the .NET environment. Visual BASIC is verbose where C# is terse, I find this easier to read over the long term but to a experienced programmer it is a minor difference. There is virtually little difference between .NET assemblies and apps written in VB.NET and C#. However if your app is meant to run in a constricted or resource limited environment like embedded applications then using VB.NET (or even VB6) will not be your best choise. You need to use C, C++, or even assembly. A langauge that will allow you control over every aspect over what resources your program uses. Problems you will run into with .NET will be with the framework install and maintaining it in face of future Microsoft updates. I strongly recommend that you minimize reliance on 3rd party add-ons if this application is to be maintained over the long-haul. (Short-term or one-off projects are a different story). Avoid storing assemblies in the global cache unless you have too as that force you into strict versioning rules. This was the bane of large projects in VB6 with the rules for COM DLL versioning. Plus using the global cache force you to register the assembly where otherwise it is a drag and drop situation with local assemblies. Be aware of how much memory you are using. I have noticed with .NET application they tend to glup memory down like it is nothing. I learned this with VB6 (and later VB.NET) that despite the fact you have managed memory you don't create huge memory structures just because you can. Make sure you need that amount before designing it in. As for my own personal experience I written a maintained a large CAD/CAM application that creates and runs parts for a metal cutting machine. I maintained this program through its original HP Workstation origin through DOS through VB6 and finally to VB.NET. It is has several hundred thousand lines of code organized using the model view presenter structure (http://www.martinfowler.com/eaaDev/ModelViewPrese nter.html) Also I maintain an open source simulation of the Program Mercury and Gemini capsule and rocket written in C++. So I had experience in both worlds. VB.NET (and VB6) was certainly up to the job of creating and maintain a large application. Finally get Design Patterns and Refactoring Software these two books (and the othere they refer too) will help make the most out of .NET ability. (Plus the benifit of these applying to other langauge like Java) http://www.amazon.com/gp/product/0201633612/sr=8-1 /qid=1149165698/ref=pd_bbs_1/002-2543787-3204834?_ encoding=UTF8 http://www.amazon.com/gp/product/0201485672/qid=11 49165751/sr=2-1/ref=pd_bbs_b_2_1/002-2543787-32048 34?s=books&v=glance&n=283155