99% of what you learn as a programmer you don't learn at college anyways (at least the people who don't totally suck at programming). Furthermore, unless you have one-on-one mentoring from a senior programmer or professor who has at least 10 years of solid professional coding experience under their belt, not much else is going to help you other than you and yourself in maturing as a programmer.
Most CompSci college graduates are totally unproductive on their first job. They can be put to work on trivial things, but no matter what school they came from, they are just going to need a lot of hand-holding to make it through the first year. That is just how it is. Doing coursework at school is no substitute for coding on a meaningful project, whether it be work related, something open-source related, or just something for fun. That is the honest to god's truth as a software developer for over 12 years now and I don't even consider myself even that wisened in the field (maybe after 20 years I will feel differently).
Now, with respect to Java as an introductory programming language, it is not bad but not great either, however the purpose of any introductory course to anything should be to capture the interest of the people who are curious enough to take the course in the first place. Back in college, we started with C (most of my peers had already been programming since they were teething but this was CMU) and if not for my persistent no quit attitude in life, I probably would of given up programming right then and there because spending your entire night trying to debug a trivial program not because you didn't understand the material but because of one stupid uninitialized pointer turns a lot of people off right then and there who may have had the potential to be great programmers, but because their first impression of programming was so bad, they gave it up before they got to learn more about how great programming really is.
Oh yeah, and the not relevant at all math courses didn't really help much either. Whenever in your career you need to use some advanced calculus or discrete math, you will have likely forgotten about 99% of it and need to look it all up in a book anyways. Besides, 99% of programming projects in the real world basically involve high school level algebra and not much else. What separates the productive programmers from the unproductive ones is not who got a better grade on their math course back in college, but those who innately understand systems and are willing to make the extra effort to learn all about the gazillion design patterns available to programmers so that when they are faced with a difficult project, they will not waste inordinate amounts of time reinventing the wheel.
As for understanding computing at a rather low-level, as is the case with a class in operating systems, then yah Java might not be such a great choice, but then again learning C is easy because C is made up of very simple constructs (C++ is another story). However, using C productively just requires a crapload of practice/experience to be good with, not necessarily a whole lot of computing expertise. In addition, the mastery of whatever API's you happen to be basing your career on is paramount as well. In the real world, employers don't want to hear "but I can learn anything quickly" because mastering some API's can take 6 months or more so if you come out of university with no specific skill sets, it is going to be really hard to get that first job because unless you can be productive soon (or even on day one), you are useless as far as employers are concerned. Also, though I don't program in Win32 professionally myself, from my understanding it takes at least 3 years of non-stop work with those API's just to be semi-proficient in them. Professionally, most of my work over the years has been in Java, and Java is probably scary to a lot of neophyte programmers these days because since 1.5, it has unfortunately turned into the bastard child of complexity like its twisted sister C++.
Those two words, jumped right out at me from the page. Seriously, I don't think there I have seen a more succinct and accurate way to describe Microsoft's "Trustworthy Computing Initiative", than "Software Stalinism".
The ironic thing is that by centralizing all of your data and services, you make your network more vulnerable to denial of service attacks and more vulnerable to sabotage because all of the data is managed by one entity. Even if you have a very sophisticated backup system, those backup systems are vulnerable as well to sabotage.
ARPANet was designed in such a way that if a bunch of nodes were taken down through sabotage, accident, military strike or whatever, the network as a whole would still be functional. Unfortunately, the trends are toward turning the brilliant P2P design of the internet into a giganto sized version of a corporate network where everything is centralized and controlled.
Client/Server networks are great for a lot of things, but they are inherently vulnerable to all the pitfalls of centralized command and control systems as they scale. Just like communism works fine and dandy for very small groups of people (like primitive hunter/gatherer tribes), communism starts to have big problems once it tries to scale to larger and larger sizes. Capitalism does not work at all on a very small scale because you need a critical mass of people to establish a fair market value for goods and services, however, capitalism does shine as the size of the markets increase in size.
In other words, you can compare Client/Server networks to Communism and P2P networks to Capitalism if you think of people as nodes on a network whose value on that network is determined dynamically and democratically just as money is a democratic tool to vote for the value of a good or service as opposed to having their value on the network determined statically and autocratically in the way command and control economies impose price controls and central planning with regard to goods and services.
The direction Microsoft and unfortunately much of the software world seems to be going with this "software as a service" and the centralized authentication schemes that support "software as a service" I feel is a huge disaster waiting to happen. If I was a terrorist or an agent of a foreign nation and I wanted to take down the economy of the United States overnight, I would prefer to be be dealing with a command and control computing monoculture than one that is fragmented, redundant, and diverse.
It is both sad and alarming that many Americans reflexively feel that the way to have better security is to centralize computing operations rather than spread computing operations to as many interconnected nodes as possible.
How about limiting the number of patents that any corporation can hold at any given time. If they come up with something new and they hit the threshold of the maximum number of patents allowable by law, they have to release one of their patents into the public domain to make room for the new patent.
This way small inventors who may only have a few patents or even just one, are not put in a position where if they challenge a big corporation like IBM which has thousands upon thousands of patents, the small inventor is not in the position where the big corporation will threaten the small inventor was lawsuits on a bunch of dubious patents that have no industrial value, but instead only have legal extortion value against small inventors.
The patents a big company or any company of any size would keep would likely be the patents they would be commercially exploiting (like for instance a drug company exploiting a blockbuster drug), while the other patents they previously filed for but were deemed less valuable would effectively become prior art.
Say for instance, cap the number of patents a company could have at any given time to 100 and you would solve a lot of the problems almost overnight. Of course, Microsoft and IBM and other megacorps would probably fight this tooth and nail, but in the long run this would benefit everyone because legitimate commercial enterprise that requires patent protection would be protected, while the legal extortion tactics of patent trolls and big businesses whose patent portfolio has few commercial applications (Nathan Myrhvold comes to mind) would be rendered impotent.
Hey, as a disclaimer I will say that I am pro-life and much of what you cite as reasons for not voting for Ron Paul, would actually be reasons I would vote for him. I have only voted once in my life, and that was well over 10 years ago because to me the lesser of two evils is still evil. The corruption crap from both parties stinks at pretty much every level of government right now, so the least I could do not to make it any worse is to not vote at all.
In spite of that, I am considering exercising the franchise this time around for Ron Paul, not because his positions are necessarily in lockstep on mine on every issue (for instance I think he is a weeeeeeeee bit isolationist in an era when China is obviously gearing up for war with us in a few years whether we like it or not), but sadly he is the only presidential candidate from either major party who actually has integrity, holds mainstream American values of freedom, and who is not a collectivist.
Every other candidate up there that I have seen just wants more big government to steal more money from us so that they can expropriate it to whatever favored friends or interest group favors them. The leading Democrats are all for a big welfare state of the parasitic everybody is a victim who needs to be compensated crowd, while the leading Republicans are all for a big welfare state for the parasitic corporations. In other words, you have two socialist parties masquerading as champions for liberty for the tribes who support them. This false dichotomy of left versus right and red versus blue, just pits Americans against each other while the globalist scum in Washington robs us blind.
For example with respect to illegal immigration. This is a win-win-win-win issue for the collectivists running our government as it creates more strife and more division in the United States that the collectivists can exploit for their divide and conquer strategy of hegemony just like with the "War on Terror". Not only do we have an external boogeyman of fear that our government can exploit while they rob us without mercy, but we now have an internal boogeyman in the form of importing an entire third world culture into the United States and pitting them against the native population. In the long run this is bad for Americans and bad for Mexicans because inevitably they will have to duke it out and the globalist scum will just pick up the pieces. European powers used the same strategy in Africa in ruling their colonies with divide and conquer tactics as well where they would create conflicts between two normally peaceful peoples and then cleanup after they kill each other off.
People need to stop thinking in politically binary terms and set their sights on the sociopaths from both parties running our government right now and do something about it. A good start would be to vote for Ron Paul irrespective of your current political affiliation.
because I dislike the RIAA, MPAA, and other media conglomerate goons as much as the next guy, but Sci-Fi shows like Battlestar Galactica, but I am not surprised this is happening when half the people I know who watch the show, end up getting the episodes over the internet.
The everything should be free crowd is finding out the hard way that there is no such thing as a free lunch. Yah I hate commercials and skip through most of them with fast forward on my DVR (so yah I guess I am a hypocrite in a way), but expensive shows like Battlestar Galactica can't stick around if the investors in those shows cannot recoup their investment in some way. This should be blatantly obvious to the crowd of people who openly complain about legitimate issues like fair use and copying CD's or DVD's you already own for personal use (such as making backups), but at home they pirate everything they can get their hands on.
A lot of people don't realize the Battlestar Galactica was moved to Sunday night from Friday night, explicitly for the purpose of combatting a lot of the piracy of the show under the logic that your typical geek is more likely to watch it on Sunday night since it will be a water cooler discussion among his pals when he/she goes to work on Monday morning. The idea was that you won't have time to download and watch the episode (and get a full night worth of sleep), if you torrent it or DVR the episode and watch it later, unless you wanted to deal with hearing all the spoilers from your buddies at the office the next morning.
Perhaps this strategy failed and Battlestar Galactica's ratings suffered even worse, but there is so much pirating and DVR'ing of the episode that it is really hard to say. I DVR just about everything I watch and usually end up watching shows several days after I recorded them, but I also realize that you are not going to get a lot of time sensitive commercial advertising being sold if some company is having a sale on a particular day in the near future and if people even see the commercial at all (due to fast forwarding), it might be too late.
This is happening to all of the most popular geek shows (Lost and Heroes as well), and what will end up inevitably happening is that the Sci-Fi genre will inevitably die just like like George Lucas has predicted for the movie industry at large (though Spider-Man 3 so far seems to challenge that conventional wisdom).
Sadly, a lot of people complain about the RIAA, MPAA, or any media company is just desperately holding onto old business models for the sake of profit, however, those are the only proven business models that actually work. If a business model ends up dying, then the business itself will end up dying if there is not another viable business model to replace it. Simply put, if investors cannot get a return on their investment from the television, or movie business, then they will inevitably dump their money into more profitable investments like oil or real estate.
So the way I see it, we have several options:
(1) Continue things as is and allow rampant piracy to continue as normal. The entertainment industry either totally implodes into nothing or else contracts to a point that "pop culture" and "celebrities" no longer exists. Maybe that is a good thing, but on the flip side your Friday night entertainment may be reduced to seeing who uploaded the most juvenile, retarded, low-brow video up to YouTube that night.
(2) Crack down hard on piracy without giving the consumers at large any say in the matter (i.e. circumventing the democratic process through lobbying and outright bribes in Washington, not to mention other Gestapo tactics). This is a lose-lose as the entertainment industry has found out the hard way as it throws the idea of fair use out the window and also prevents the reselling of CD's, DVD's or other media you no longer have any use for. That is like saying to someone they can buy a car, but that it is illegal to resell the car.
(3) Establish some sort of national media library for digit
for general purpose lossless compression. Most modern compression utilities out there mix and match the same algorithms which do the same thing.
With the exception of compressors that use arithmetic coding (which has patents out the wazoo covering just about every form of it), virtually all compressors use some form of Huffman compression. In addition, many use some form of LZW compression before executing the Huffman compression. That is pretty much it for general purpose compression.
Of course, if you know the nature of the data you are compressing you can come up with a much better compression scheme.
For instance, with XML, if you have a schema handy, you can do some really heavy optimization since the receiving side of the data probably already has the schema handy which means you don't need to bother sending some sort of compression table for the tags, attributes, element names, etc.
Likewise, with FAX machines, run length encoding is used heavily because of all the sequential white space that is indicative of most fax documents. Run length encoding of white space can also be useful in XML documents that are pretty printed.
Most compression algorithms that are very expensive to compress are usually pretty cheap to decompress. If you are providing a file for millions of people to download, it doesn't matter if it takes 5 days to compress the file if it still only takes 30 seconds for a user to decompress it. However, when doing peer to peer communication with rapidly generated data, you need the compression to be fast if you use any at all.
Nevertheless, most generaly purpose lossless compression formats are more or less clones of each other once you get down to analyzing what algorithms they use and how they are used.
like you are at the moment is what gets people into wars, even though at the deepest level, wars are generally about competition for limited resources. When resources are plenty, people are content and happy and for the most part don't try and kill each other. When resources become scarce and the divide between the haves and have nots is extreme and the have nots grossly outnumber the haves, then the have nots try and assert their power through strength in numbers.
Without access to resources, it is very difficult to create wealth, and without wealth, your fate is in the hands of those who control the creation of wealth. This means if you ever want wealth of your own to feed yourself, your family, your community, your nation or whatever, you will need to have reliable access to resources so that you can create your own wealth.
With globalization and world trade, those who can control or restrict the flow of resources are the ones who hold all the cards. Germany and Japan in World War II were far more efficient than any of their enemies with the resources provided to them, but unfortunately for them (and fortunately for the rest of the world) they just did not have enough natural resources to capitalize on their efficiency. Who knows, if Rommel was able to take Egypt and Stalingrad had fallen so that Germany had access to the oil of the middle east, then the world would undoubtedly be a much different place. Likewise, if Japan had just bombed the oil depots in Hawaii and left the ships alone at Pearl Harbor, then things may have been a lot more different as the entire Pacific fleet would be marooned at Pearl Harbor without any hope of ever being refueled anytime soon. Japan then just needed to secure the vast natural resources of Indonesia and "Flags of our Fathers" and "Letters from Iwo Jima" would be two totally different movies.
The problem with first to file is that you could be working on something while trying to get seed capital at the same time for your idea, and then some unscrupulous VC firm or individual takes the general concept of your idea (even though they have not spent any time coming up with a working implementation like you have that you are still working the kinks out of), they file, and you are screwed. They don't need to show that they actually came up with the idea or have any proof of when the patent was invented or who actually had the expertise to create it. They just have to file some vague description of what you said the invention did and you are hosed.
This is common practice for many inventors who shop around their ideas to a larger company to market the product for them, but at least if they get ripped off they can sue the entity ripping them off. Now, they don't have that option.
This forces the small inventor to patent anything and everything they do just to be safe before they talk to anyone about it (and really what prevents your business partner/associate from copying your work and filing in his name only). Unfortunately, that can get expensive and very time consuming for the small guy, while large corporations have a patent mill for any hair brained idea that comes from their engineers.
Patents should last 10 years (not 20), and there should be some proof of concept demonstration tied to the actual process that proves the inventor actually is serious about doing something useful with the patent as well as a vague business plan for developing the patent. If no progress at all has been made in 5 years in developing the patent into something commercially useful, then the patent is null and void.
Unfortunately, in the real world, sometimes you have to go all in just to protect what you already have and hold dear. I suppose we should of been planning manned missions to the moon while Rommel was rolling through Africa unmolested and the Soviet Union was on the verge of suffering France's fate. Yah I suppose Churchill, Roosevelt, and Stalin should of discussed manned missions to the moon at Yalta, rather than how to defeat the Axis.
The Iraq war was won almost overnight. That was is over and we defeated the enemy easily. What we are doing over in Iraq right now is not a war and is part of something much larger and much more complicated and the larger issues involved will likely not be resolved until there is a world war and billions of people die (just my take on it and I hope and pray I, my family and friends won't be on the death list but some sometimes fate is fate and you just have to accept it).
Are we prosecuting the so-called "War on Terror" (a dumb misnomer if you ask me) efficiently and effectively? Of course not. After all, every armchair quarterback of the war on terror can easily point out all the waste, fraud, abuse, and corruption involved in the so-called rebuilding of Iraq. In fact a reasonable argument could be made that the war on terror is bankrupting us since out military at the moment is designed for short conventional conflicts, not long and protracted conflicts. Same problem we had in Vietnam, but the lesson not learned from a historical perspective is sometimes you don't fight wars to win, but rather you fight not to lose.
Human beings like many other animals are a very competitive species. When male rams butt heads to establish mating dominance, very rarely does one ram kill the other, but they will continue this exercise for hours until one of them gives up. That is what the not so aptly named "war on terror" is really all about. Our enemies realize this, but unfortunately many of us in western civilization seem to think that if things don't go our way, then we should pack our bags and quit and run home.
The destiny of the world lays in the hands of those who are the most patient, willing to sacrifice the most, and willing to endure any hardship for any period of time so that they can declare themselves the winner in the end. The side that loses will be the side that first says to itself "this is just not worth it anymore".
So, unless you plan on using Mars as a refugee colony that is free from attack from the hostile forces on earth, I think our resources would be better spent dealing with this world hegemony problem that everyone seems entangled in before thinking about Star Trek utopian "federations".
Of course "friendly fire" is a potential in a crowded room, but if a gunman enters a room and starts shooting, the odds are there are few people around him. The innocent people are clustered together in another area of a room. That is why suicide bombers do their best to conceal their intent until they are in the middle of a room packed with people so that they can inflict maximum casualties.
In this circumstance, the guy likely was going room to room and opening fire at near point blank range. Even if a few "friendly fire" incidents occurred, the body count would likely be a hell of a lot less than 32.
Unless the guy was using a silencer and people were too scared to even scream, people in the vicinity would have been alerted that something was up and that they either arm themselves, run, or do what most people do in those situations and freeze like a deer in the headlights.
There is nothing you can do about a determined killer who you cannot identify beforehand is going to go off and start killing innnocent people. All you can do at that point when the killer makes themself known is to kill or if possible arrest them. Police cannot always be the first responders to situations like this, so sometimes you need a hero or two to at least pin the killer down so his movements are limited from killing more innocent people.
Of course, if someone comes in decked with military grade body armor like these two bank robbers in LA had about 10 years ago, then all people can do is run until the authorities come in with heavier firepower, but this is an edge case and most of the time these kinds of incidents can be dealt with by ordinary citizens, provided they are prepared to deal with the situation.
This reminds me of a shooting at a rock and roll venue in my hometown a few years ago and reading on one of the forums about a guy who allegedly was there and remarked that if you could conceal and carry (this is Ohio) in a liquor establishment, then the shooter would of been lucky to kill only one person because this person (the poster on the forum), could of drawn his weapon and taken out the madman.
Having armed guards or police at every entrance to a college campus is pointless, but if some of the professors or other faculty (perhaps even some of the students within reasonable parameters) were at least allowed to have weapons on campus, then crazy gun toting madmen will be put down before they can do too much harm.
Of course the gun control fanatics will say we need to ban all guns, but then what do you do against someone who walks into an undefended campus and starts throwing homemade pipe bombs everywhere?
The reason the United States doesn't live in fear 24/7, like in some places of the world is that we have good guys with guns protecting us from the bad guys with guns who want to harm us for any number of reasons (not to start any flame wars on U.S. foreign policy, but by good, I mean the people who protect this country from invasion).
Nobody yet knows what the motive of the shooter happened to be, but realistically, terrorist cells could kill a whole lot of people by just going to a highly populated area with strict gun control laws and only a handful of armed law enforcement officers and kill a hell of a lot of people before the authorities could respond.
I mean, who needs bombs to kill people when the only people fighting you don't even have knives to protect themselves.
My point is that standard library API's that will be used by millions of developers should get a lot more attention in terms of their performance than some UI widget that is rarely used.
Every time you layer one thing on top of another, you generally get a performance hit. If the lower layers are poorly implemented, or rather they have not been given the sort of attention they need for their purpose, then building on top of them is like building a skyscraper on a foundation that is designed for a single story house.
Hey if you like 23234290234^345 sized megabyte applications where most of the program memory is used up by a bunch of redundant templates, then more power to yah (-:
I agree mostly, though varargs I have found to actually be very useful in a few cases where it can greatly improve readability. (though due to the reflection aspect of how varargs works under the hood, they should never be used in performance critical code). As for everything else, well yah it is just syntactic sugar.
Unfortunately, lazy or newbie programmers will use autoboxing and varargs more than just sparingly and being the second generation coder on a project where these features are used liberally is a hell I would not wish on my worst enemy.
Generally, the way you do this (with or without generics), is to call the toArray(Object[] array) method, rather than the toArray() method.
Basically, just do this where foo is the type in the array and fooList is your Collection of Foo objects.
Foo[] foos = new Foo[fooList.size()]; fooList.toArray(foos);
The foos array now is populated with the contents of the fooList.
The toArray() will return an array of type Object, so you will need to use the argument supplied version of the method if you want the component type of the array to be a particular type.
I don't use any of the generic syntax at all in my code as I feel it makes it virtually unreadable to other developers. The syntax is just absolutely horrible, plus as most adept Java programmers know (been coding in Java myself since 1.0), the way generics is implemented in Java is broken (depending on your point of view on this matter).
Then there is the Collections API itself which upon first glance seems like it was written by amateurs who have never had to write any performance critical code in their lives. For this reason as well, I generally try and avoid using anything in java.util as well.
And now they are talking about adding closures (more bloat) to Java which as I understand the proposal will be implemented under the hood in basically the same way as inner classes (another feature that is a maintenance nightmare that gets abused by novice developers ad infinitum).
Is Java not bloated enough? Do the guys at SUN have such feature envy of C# (the bastard child of Java), that they can't just say enough is enough?
I feel like this is all coming full circle with C++ in the sense that Java now has so many language features that it is becoming too complicated for entry-level developers to be truly productive with and now a new language is needed that has the best features of Java, minus all the bloat that totally overwhelms the initiates.
With more features, generally comes more power, but with more power there is more room for abuse for those who don't have the wisdom to use it (i.e. newbies). Everyone in programming starts off as a newbie and needs to get their feet wet, but once you make a programming language where everyone has a light saber, but does not have the Jedi training or wisdom to use it, well then you are going to have a lot of people causing a whole lot of trouble.
One of the main reasons why Windows software development has slowed to a crawl (besides of course the cannibalizing nature of MS on the Windows platform), is that it takes a good 4 years or more of full-time experience with the Windows API's just to become adept at programming on that platform, on top of being decent at C/C++ itself. I know Microsoft has tried to reduce that learning curve with C# and.NET, but nevertheless the learning curve is still huge. With Java, the same thing is happening. What was once a simple, yet powerful programming language has evolved into a monster on par with the same kind of crap that comes out of Redmond that is overengineered and the last thing from elegant.
I guess it is time for a new application programming language.
Never forget that China is a totalitarian regime that won't hesitate to deal with trouble makers using the most efficient and brutal methods available to them, which includes killing of the entire family tree of a trouble maker or genocide itself. After all, Tibet is not the only victim of ethnic cleansing, but East Turkistan is well as the Muslim minority there has been brutally oppressed by the government of the CCP, meanwhile the major Muslim nations of the world say and do nothing because they know China's government means business when it comes to dealing with dissenters.
It is kind of like feminists in the western nations. They furiously attack Christians, conservatives, and anything they deem patriarchal, yet they are totally silent when it comes to criticizing Islamic nations for how they treat their women. Just look at the total duplicity of the ardent feminist Nancy Pelosi going to Syria and how she didn't even bother mentioning the plight of women in that country. You could even say the same thing about Hillary Clinton (another ardent feminist).
Simply put, just as feminists are cowards in confronting irrational Muslims who believe in honor killings and stoning adulterous women, irrational Muslims are cowards when dealing with the Chinese because they know the Chinese don't mess around when suppressing dissidents.
Don't expect the radical Islamicists to engage China in any hostile way until the low-hanging fruit of the west has been displaced and Europe itself is under Sharia law.
Pay attention to what they do. The same thing goes for any government, including our own. Corrupt governments, regardless of what corner of the earth they happen to be exist on, only tell the truth when it is convenient for them to do so or else when they can gain a propaganda advantage against their adversaries by being only truthful enough for their big lies to seem plausible.
China says they mean no harm and they only want peace, yet they brazenly shine lasers on our satellites and single handedly add 10% more space debris to earth's orbit through destroying one of their own. China says they are all for innovation, yet they have armies of spies in the United States and Europe conducting industrial espionage on a grand scale, rather than spending the money they use for espionage operations on home-grown research. China says they are all about socialism and equality, yet wealth is even far more concentrated in the top 1% in China than here in the United States (and by a wide margin). I could go on and on, but the point stands that every piece of state propaganda coming out of Beijing should be taken with a grain of salt.
Duplicity and doublespeak is China in a nutshell. After the 2008 Olympics, expect China to start making its real moves, now that George Bush has successfully run our military into the ground and thanks to military espionage, the Chinese now have the military capability to keep our pacific fleet in check and threaten any nation they wish in the Pacific.
in the sense that of our "lets boost the confidence of the children at any cost" mentality, but what about oral exams?
When you see the average American these days being interviewed on television, they simply have no rhetorical skills whatsoever. They may not have a room temperature IQ, but they sure sound like it most of the time. Yah I know some people fear public speaking more than death itself, but public speaking is arguably more important than being able to write clear essays in real world situations.
Also, I am no means an expert on how kids are educated in Europe, but at least in universities I have heard that oral exams are or were a big deal over there. An oral exam is the ultimate shit test for whether you clearly understand the material or not because you are forced to articulate yourself on the topic directly to your audience in an almost ad hoc manner. If you don't know the material, then you better have some wit to pass as filler for content or else you will embarrass yourself incredibly in front of your peers and teachers.
Plus there is a strong dichotomy generally with being able to speak clearly and write clearly. People who find themselves long-winded and off topic when presenting their arguments on paper for on any given topic, will learn quickly when it comes to an oral exam that their audience will start snoring and/or mocking them which will encourage them to become better at communication overall and that is a good thing.
Of course grading an oral exam is highly subjective, but who the hell cares. As long as students are learning the material and becoming better at communicating with each other in ways more sophisticated than spamming emoticons back and forth over IM, then I am all for it.
Essays should of course still exist, but they should be complimentary to the oral exam itself. Kind of like how at academic conferences where people submit papers and then if they are lucky enough they get to personally present the material contained in those papers before an audience of their peers.
Of course walking up several flights of stairs because you live in a big city, or havin to bike several miles a day to work, or having to walk a mile to get some groceries at the corner store is going to burn more calories than sitting at home, but forcing everyone to live this kind of lifestyle is a bit Maoist if you ask me. I mean, if you have arthritis or asthma, or a heart condition then I guess you are SOL.
If you do live in a community that lacks parks, trails, or sidewalks/roads you can safely jog on, you don't even need a stairmaster or stationary bike to stay fit. All you need is the discipline to do basic resistance exercises every day. Just a quick intense workout when you wake up in the morning, and you will find it hard to get fat. Pushups, situps/crunches, dips, squats, etc. without weights but done in an explosive fashion will burn a lot of calories very fast and keep your muscles toned as well. You don't need to run 10 miles or do aerobics for an hour to burn a lot of calories if you are know that anaerobic exercise is about 8 times less efficient in calorie usage as aerobic exercise. What this essentially means is that anaerobic exercise will burn calories 8 times faster than aerobic exercise.
Of course, you could just lift weights for 10-15 minutes a day like I do, but if you don't have the space or the money to afford free weights, do the next best thing and do the basics to keep fit. It doesn't take a lot of time, just the discipline to make it part of your daily routine as if it was as core to your day as brushing your teeth.
and hopefully our education system in the future will reflect some of these truisms. Whether it be private industry or public education that adopts to these changes does not matter. What does matter is that the idea of going to college and getting a degree and then intellectually vegetating at some cushy job the rest of your life is sooooooooooooo 20th century. In the new millenium people will have to take the personal initiative to keep learning and keep themselves educated whether they are in their 20's or their 80's. In addition, the idea of "retirement" will become an outmoded concept as competition for limited resources among a growing world population will not allow many people to live a "life of leisure" for a third of their lives (assuming people retire in their 60's and die in their 90's).
I personally never graduated from college due to financial problems I had with financial aid, coupled with the fact that I thought at the time (and still do) that college is mostly a high-priced scam that exploits the amazingly inelastic demand for an inconsequential piece of paper which I did not want to spend my entire life paying off in the form of student loans. Some people would be bitter about not finishing school, but I am happy that I did not because it taught me that education should be a non-stop process throughout life and that an expensive piece of paper you have framed on your office wall would of been better spent on a framed piece of tasteful art since fine art generally appreciates in value over time, while diplomas quickly devalue at about the rate of a new car.
It is also amazing how people I know who have graduated from college a decade or more ago and who didn't keep their minds occupied with learning seem like dinosaurs today. I also sometimes wonder how they will fit into the new global economy in the near future when people in other nations where people are hungrier for success will be competing against these college grads who feel entitled to a well paid job, just because they successfully navigated some high-price rat race in their early 20's.
That doesn't mean that there is no place for formal education in this world anymore as some professions absolutely demand it (practicing medicine comes to mind), however, for the vast majority of jobs out there I think college education has become obsolete. The sooner our education systems adapt to this new reality, the better prepared people will be for a world economy that will be even more dynamic and exciting than it is today.
that if women dress more attractive when they are most fertile, as well as the fact that fertility for women falls sharply after age 30, that women generally don't give a crap about their appearance past age 30?
Doesn't seem to make a lot of sense to me, since women seem to put on more makeup, as well as visit the plastic surgeon more often as they get older. The vanity of women seems to increase with age if you ask me.
99% of what you learn as a programmer you don't learn at college anyways (at least the people who don't totally suck at programming). Furthermore, unless you have one-on-one mentoring from a senior programmer or professor who has at least 10 years of solid professional coding experience under their belt, not much else is going to help you other than you and yourself in maturing as a programmer.
Most CompSci college graduates are totally unproductive on their first job. They can be put to work on trivial things, but no matter what school they came from, they are just going to need a lot of hand-holding to make it through the first year. That is just how it is. Doing coursework at school is no substitute for coding on a meaningful project, whether it be work related, something open-source related, or just something for fun. That is the honest to god's truth as a software developer for over 12 years now and I don't even consider myself even that wisened in the field (maybe after 20 years I will feel differently).
Now, with respect to Java as an introductory programming language, it is not bad but not great either, however the purpose of any introductory course to anything should be to capture the interest of the people who are curious enough to take the course in the first place. Back in college, we started with C (most of my peers had already been programming since they were teething but this was CMU) and if not for my persistent no quit attitude in life, I probably would of given up programming right then and there because spending your entire night trying to debug a trivial program not because you didn't understand the material but because of one stupid uninitialized pointer turns a lot of people off right then and there who may have had the potential to be great programmers, but because their first impression of programming was so bad, they gave it up before they got to learn more about how great programming really is.
Oh yeah, and the not relevant at all math courses didn't really help much either. Whenever in your career you need to use some advanced calculus or discrete math, you will have likely forgotten about 99% of it and need to look it all up in a book anyways. Besides, 99% of programming projects in the real world basically involve high school level algebra and not much else. What separates the productive programmers from the unproductive ones is not who got a better grade on their math course back in college, but those who innately understand systems and are willing to make the extra effort to learn all about the gazillion design patterns available to programmers so that when they are faced with a difficult project, they will not waste inordinate amounts of time reinventing the wheel.
As for understanding computing at a rather low-level, as is the case with a class in operating systems, then yah Java might not be such a great choice, but then again learning C is easy because C is made up of very simple constructs (C++ is another story). However, using C productively just requires a crapload of practice/experience to be good with, not necessarily a whole lot of computing expertise. In addition, the mastery of whatever API's you happen to be basing your career on is paramount as well. In the real world, employers don't want to hear "but I can learn anything quickly" because mastering some API's can take 6 months or more so if you come out of university with no specific skill sets, it is going to be really hard to get that first job because unless you can be productive soon (or even on day one), you are useless as far as employers are concerned. Also, though I don't program in Win32 professionally myself, from my understanding it takes at least 3 years of non-stop work with those API's just to be semi-proficient in them. Professionally, most of my work over the years has been in Java, and Java is probably scary to a lot of neophyte programmers these days because since 1.5, it has unfortunately turned into the bastard child of complexity like its twisted sister C++.
Last but not
Those two words, jumped right out at me from the page. Seriously, I don't think there I have seen a more succinct and accurate way to describe Microsoft's "Trustworthy Computing Initiative", than "Software Stalinism".
The ironic thing is that by centralizing all of your data and services, you make your network more vulnerable to denial of service attacks and more vulnerable to sabotage because all of the data is managed by one entity. Even if you have a very sophisticated backup system, those backup systems are vulnerable as well to sabotage.
ARPANet was designed in such a way that if a bunch of nodes were taken down through sabotage, accident, military strike or whatever, the network as a whole would still be functional. Unfortunately, the trends are toward turning the brilliant P2P design of the internet into a giganto sized version of a corporate network where everything is centralized and controlled.
Client/Server networks are great for a lot of things, but they are inherently vulnerable to all the pitfalls of centralized command and control systems as they scale. Just like communism works fine and dandy for very small groups of people (like primitive hunter/gatherer tribes), communism starts to have big problems once it tries to scale to larger and larger sizes. Capitalism does not work at all on a very small scale because you need a critical mass of people to establish a fair market value for goods and services, however, capitalism does shine as the size of the markets increase in size.
In other words, you can compare Client/Server networks to Communism and P2P networks to Capitalism if you think of people as nodes on a network whose value on that network is determined dynamically and democratically just as money is a democratic tool to vote for the value of a good or service as opposed to having their value on the network determined statically and autocratically in the way command and control economies impose price controls and central planning with regard to goods and services.
The direction Microsoft and unfortunately much of the software world seems to be going with this "software as a service" and the centralized authentication schemes that support "software as a service" I feel is a huge disaster waiting to happen. If I was a terrorist or an agent of a foreign nation and I wanted to take down the economy of the United States overnight, I would prefer to be be dealing with a command and control computing monoculture than one that is fragmented, redundant, and diverse.
It is both sad and alarming that many Americans reflexively feel that the way to have better security is to centralize computing operations rather than spread computing operations to as many interconnected nodes as possible.
How about limiting the number of patents that any corporation can hold at any given time. If they come up with something new and they hit the threshold of the maximum number of patents allowable by law, they have to release one of their patents into the public domain to make room for the new patent.
This way small inventors who may only have a few patents or even just one, are not put in a position where if they challenge a big corporation like IBM which has thousands upon thousands of patents, the small inventor is not in the position where the big corporation will threaten the small inventor was lawsuits on a bunch of dubious patents that have no industrial value, but instead only have legal extortion value against small inventors.
The patents a big company or any company of any size would keep would likely be the patents they would be commercially exploiting (like for instance a drug company exploiting a blockbuster drug), while the other patents they previously filed for but were deemed less valuable would effectively become prior art.
Say for instance, cap the number of patents a company could have at any given time to 100 and you would solve a lot of the problems almost overnight. Of course, Microsoft and IBM and other megacorps would probably fight this tooth and nail, but in the long run this would benefit everyone because legitimate commercial enterprise that requires patent protection would be protected, while the legal extortion tactics of patent trolls and big businesses whose patent portfolio has few commercial applications (Nathan Myrhvold comes to mind) would be rendered impotent.
Hey, as a disclaimer I will say that I am pro-life and much of what you cite as reasons for not voting for Ron Paul, would actually be reasons I would vote for him. I have only voted once in my life, and that was well over 10 years ago because to me the lesser of two evils is still evil. The corruption crap from both parties stinks at pretty much every level of government right now, so the least I could do not to make it any worse is to not vote at all.
In spite of that, I am considering exercising the franchise this time around for Ron Paul, not because his positions are necessarily in lockstep on mine on every issue (for instance I think he is a weeeeeeeee bit isolationist in an era when China is obviously gearing up for war with us in a few years whether we like it or not), but sadly he is the only presidential candidate from either major party who actually has integrity, holds mainstream American values of freedom, and who is not a collectivist.
Every other candidate up there that I have seen just wants more big government to steal more money from us so that they can expropriate it to whatever favored friends or interest group favors them. The leading Democrats are all for a big welfare state of the parasitic everybody is a victim who needs to be compensated crowd, while the leading Republicans are all for a big welfare state for the parasitic corporations. In other words, you have two socialist parties masquerading as champions for liberty for the tribes who support them. This false dichotomy of left versus right and red versus blue, just pits Americans against each other while the globalist scum in Washington robs us blind.
For example with respect to illegal immigration. This is a win-win-win-win issue for the collectivists running our government as it creates more strife and more division in the United States that the collectivists can exploit for their divide and conquer strategy of hegemony just like with the "War on Terror". Not only do we have an external boogeyman of fear that our government can exploit while they rob us without mercy, but we now have an internal boogeyman in the form of importing an entire third world culture into the United States and pitting them against the native population. In the long run this is bad for Americans and bad for Mexicans because inevitably they will have to duke it out and the globalist scum will just pick up the pieces. European powers used the same strategy in Africa in ruling their colonies with divide and conquer tactics as well where they would create conflicts between two normally peaceful peoples and then cleanup after they kill each other off.
People need to stop thinking in politically binary terms and set their sights on the sociopaths from both parties running our government right now and do something about it. A good start would be to vote for Ron Paul irrespective of your current political affiliation.
because I dislike the RIAA, MPAA, and other media conglomerate goons as much as the next guy, but Sci-Fi shows like Battlestar Galactica, but I am not surprised this is happening when half the people I know who watch the show, end up getting the episodes over the internet.
The everything should be free crowd is finding out the hard way that there is no such thing as a free lunch. Yah I hate commercials and skip through most of them with fast forward on my DVR (so yah I guess I am a hypocrite in a way), but expensive shows like Battlestar Galactica can't stick around if the investors in those shows cannot recoup their investment in some way. This should be blatantly obvious to the crowd of people who openly complain about legitimate issues like fair use and copying CD's or DVD's you already own for personal use (such as making backups), but at home they pirate everything they can get their hands on.
A lot of people don't realize the Battlestar Galactica was moved to Sunday night from Friday night, explicitly for the purpose of combatting a lot of the piracy of the show under the logic that your typical geek is more likely to watch it on Sunday night since it will be a water cooler discussion among his pals when he/she goes to work on Monday morning. The idea was that you won't have time to download and watch the episode (and get a full night worth of sleep), if you torrent it or DVR the episode and watch it later, unless you wanted to deal with hearing all the spoilers from your buddies at the office the next morning.
Perhaps this strategy failed and Battlestar Galactica's ratings suffered even worse, but there is so much pirating and DVR'ing of the episode that it is really hard to say. I DVR just about everything I watch and usually end up watching shows several days after I recorded them, but I also realize that you are not going to get a lot of time sensitive commercial advertising being sold if some company is having a sale on a particular day in the near future and if people even see the commercial at all (due to fast forwarding), it might be too late.
This is happening to all of the most popular geek shows (Lost and Heroes as well), and what will end up inevitably happening is that the Sci-Fi genre will inevitably die just like like George Lucas has predicted for the movie industry at large (though Spider-Man 3 so far seems to challenge that conventional wisdom).
Sadly, a lot of people complain about the RIAA, MPAA, or any media company is just desperately holding onto old business models for the sake of profit, however, those are the only proven business models that actually work. If a business model ends up dying, then the business itself will end up dying if there is not another viable business model to replace it. Simply put, if investors cannot get a return on their investment from the television, or movie business, then they will inevitably dump their money into more profitable investments like oil or real estate.
So the way I see it, we have several options:
(1) Continue things as is and allow rampant piracy to continue as normal. The entertainment industry either totally implodes into nothing or else contracts to a point that "pop culture" and "celebrities" no longer exists. Maybe that is a good thing, but on the flip side your Friday night entertainment may be reduced to seeing who uploaded the most juvenile, retarded, low-brow video up to YouTube that night.
(2) Crack down hard on piracy without giving the consumers at large any say in the matter (i.e. circumventing the democratic process through lobbying and outright bribes in Washington, not to mention other Gestapo tactics). This is a lose-lose as the entertainment industry has found out the hard way as it throws the idea of fair use out the window and also prevents the reselling of CD's, DVD's or other media you no longer have any use for. That is like saying to someone they can buy a car, but that it is illegal to resell the car.
(3) Establish some sort of national media library for digit
for general purpose lossless compression. Most modern compression utilities out there mix and match the same algorithms which do the same thing.
With the exception of compressors that use arithmetic coding (which has patents out the wazoo covering just about every form of it), virtually all compressors use some form of Huffman compression. In addition, many use some form of LZW compression before executing the Huffman compression. That is pretty much it for general purpose compression.
Of course, if you know the nature of the data you are compressing you can come up with a much better compression scheme.
For instance, with XML, if you have a schema handy, you can do some really heavy optimization since the receiving side of the data probably already has the schema handy which means you don't need to bother sending some sort of compression table for the tags, attributes, element names, etc.
Likewise, with FAX machines, run length encoding is used heavily because of all the sequential white space that is indicative of most fax documents. Run length encoding of white space can also be useful in XML documents that are pretty printed.
Most compression algorithms that are very expensive to compress are usually pretty cheap to decompress. If you are providing a file for millions of people to download, it doesn't matter if it takes 5 days to compress the file if it still only takes 30 seconds for a user to decompress it. However, when doing peer to peer communication with rapidly generated data, you need the compression to be fast if you use any at all.
Nevertheless, most generaly purpose lossless compression formats are more or less clones of each other once you get down to analyzing what algorithms they use and how they are used.
like you are at the moment is what gets people into wars, even though at the deepest level, wars are generally about competition for limited resources. When resources are plenty, people are content and happy and for the most part don't try and kill each other. When resources become scarce and the divide between the haves and have nots is extreme and the have nots grossly outnumber the haves, then the have nots try and assert their power through strength in numbers.
Without access to resources, it is very difficult to create wealth, and without wealth, your fate is in the hands of those who control the creation of wealth. This means if you ever want wealth of your own to feed yourself, your family, your community, your nation or whatever, you will need to have reliable access to resources so that you can create your own wealth.
With globalization and world trade, those who can control or restrict the flow of resources are the ones who hold all the cards. Germany and Japan in World War II were far more efficient than any of their enemies with the resources provided to them, but unfortunately for them (and fortunately for the rest of the world) they just did not have enough natural resources to capitalize on their efficiency. Who knows, if Rommel was able to take Egypt and Stalingrad had fallen so that Germany had access to the oil of the middle east, then the world would undoubtedly be a much different place. Likewise, if Japan had just bombed the oil depots in Hawaii and left the ships alone at Pearl Harbor, then things may have been a lot more different as the entire Pacific fleet would be marooned at Pearl Harbor without any hope of ever being refueled anytime soon. Japan then just needed to secure the vast natural resources of Indonesia and "Flags of our Fathers" and "Letters from Iwo Jima" would be two totally different movies.
The problem with first to file is that you could be working on something while trying to get seed capital at the same time for your idea, and then some unscrupulous VC firm or individual takes the general concept of your idea (even though they have not spent any time coming up with a working implementation like you have that you are still working the kinks out of), they file, and you are screwed. They don't need to show that they actually came up with the idea or have any proof of when the patent was invented or who actually had the expertise to create it. They just have to file some vague description of what you said the invention did and you are hosed.
This is common practice for many inventors who shop around their ideas to a larger company to market the product for them, but at least if they get ripped off they can sue the entity ripping them off. Now, they don't have that option.
This forces the small inventor to patent anything and everything they do just to be safe before they talk to anyone about it (and really what prevents your business partner/associate from copying your work and filing in his name only). Unfortunately, that can get expensive and very time consuming for the small guy, while large corporations have a patent mill for any hair brained idea that comes from their engineers.
Patents should last 10 years (not 20), and there should be some proof of concept demonstration tied to the actual process that proves the inventor actually is serious about doing something useful with the patent as well as a vague business plan for developing the patent. If no progress at all has been made in 5 years in developing the patent into something commercially useful, then the patent is null and void.
if we sent a manned mission to mars.
Unfortunately, in the real world, sometimes you have to go all in just to protect what you already have and hold dear. I suppose we should of been planning manned missions to the moon while Rommel was rolling through Africa unmolested and the Soviet Union was on the verge of suffering France's fate. Yah I suppose Churchill, Roosevelt, and Stalin should of discussed manned missions to the moon at Yalta, rather than how to defeat the Axis.
The Iraq war was won almost overnight. That was is over and we defeated the enemy easily. What we are doing over in Iraq right now is not a war and is part of something much larger and much more complicated and the larger issues involved will likely not be resolved until there is a world war and billions of people die (just my take on it and I hope and pray I, my family and friends won't be on the death list but some sometimes fate is fate and you just have to accept it).
Are we prosecuting the so-called "War on Terror" (a dumb misnomer if you ask me) efficiently and effectively? Of course not. After all, every armchair quarterback of the war on terror can easily point out all the waste, fraud, abuse, and corruption involved in the so-called rebuilding of Iraq. In fact a reasonable argument could be made that the war on terror is bankrupting us since out military at the moment is designed for short conventional conflicts, not long and protracted conflicts. Same problem we had in Vietnam, but the lesson not learned from a historical perspective is sometimes you don't fight wars to win, but rather you fight not to lose.
Human beings like many other animals are a very competitive species. When male rams butt heads to establish mating dominance, very rarely does one ram kill the other, but they will continue this exercise for hours until one of them gives up. That is what the not so aptly named "war on terror" is really all about. Our enemies realize this, but unfortunately many of us in western civilization seem to think that if things don't go our way, then we should pack our bags and quit and run home.
The destiny of the world lays in the hands of those who are the most patient, willing to sacrifice the most, and willing to endure any hardship for any period of time so that they can declare themselves the winner in the end. The side that loses will be the side that first says to itself "this is just not worth it anymore".
So, unless you plan on using Mars as a refugee colony that is free from attack from the hostile forces on earth, I think our resources would be better spent dealing with this world hegemony problem that everyone seems entangled in before thinking about Star Trek utopian "federations".
Of course "friendly fire" is a potential in a crowded room, but if a gunman enters a room and starts shooting, the odds are there are few people around him. The innocent people are clustered together in another area of a room. That is why suicide bombers do their best to conceal their intent until they are in the middle of a room packed with people so that they can inflict maximum casualties.
In this circumstance, the guy likely was going room to room and opening fire at near point blank range. Even if a few "friendly fire" incidents occurred, the body count would likely be a hell of a lot less than 32.
Unless the guy was using a silencer and people were too scared to even scream, people in the vicinity would have been alerted that something was up and that they either arm themselves, run, or do what most people do in those situations and freeze like a deer in the headlights.
There is nothing you can do about a determined killer who you cannot identify beforehand is going to go off and start killing innnocent people. All you can do at that point when the killer makes themself known is to kill or if possible arrest them. Police cannot always be the first responders to situations like this, so sometimes you need a hero or two to at least pin the killer down so his movements are limited from killing more innocent people.
Of course, if someone comes in decked with military grade body armor like these two bank robbers in LA had about 10 years ago, then all people can do is run until the authorities come in with heavier firepower, but this is an edge case and most of the time these kinds of incidents can be dealt with by ordinary citizens, provided they are prepared to deal with the situation.
Gun control worked out pretty well for the Jews in Germany in the 30's and 40's didn't it?
Israelis don't seem to have a problem giving hitched rides to soldiers packing machine guns and grenades on their way home.
You shouldn't fear people with guns, you should fear not having a gun when crazy people want to kill you.
This reminds me of a shooting at a rock and roll venue in my hometown a few years ago and reading on one of the forums about a guy who allegedly was there and remarked that if you could conceal and carry (this is Ohio) in a liquor establishment, then the shooter would of been lucky to kill only one person because this person (the poster on the forum), could of drawn his weapon and taken out the madman.
Having armed guards or police at every entrance to a college campus is pointless, but if some of the professors or other faculty (perhaps even some of the students within reasonable parameters) were at least allowed to have weapons on campus, then crazy gun toting madmen will be put down before they can do too much harm.
Of course the gun control fanatics will say we need to ban all guns, but then what do you do against someone who walks into an undefended campus and starts throwing homemade pipe bombs everywhere?
The reason the United States doesn't live in fear 24/7, like in some places of the world is that we have good guys with guns protecting us from the bad guys with guns who want to harm us for any number of reasons (not to start any flame wars on U.S. foreign policy, but by good, I mean the people who protect this country from invasion).
Nobody yet knows what the motive of the shooter happened to be, but realistically, terrorist cells could kill a whole lot of people by just going to a highly populated area with strict gun control laws and only a handful of armed law enforcement officers and kill a hell of a lot of people before the authorities could respond.
I mean, who needs bombs to kill people when the only people fighting you don't even have knives to protect themselves.
My point is that standard library API's that will be used by millions of developers should get a lot more attention in terms of their performance than some UI widget that is rarely used.
Every time you layer one thing on top of another, you generally get a performance hit. If the lower layers are poorly implemented, or rather they have not been given the sort of attention they need for their purpose, then building on top of them is like building a skyscraper on a foundation that is designed for a single story house.
Hey if you like 23234290234^345 sized megabyte applications where most of the program memory is used up by a bunch of redundant templates, then more power to yah (-:
I agree mostly, though varargs I have found to actually be very useful in a few cases where it can greatly improve readability. (though due to the reflection aspect of how varargs works under the hood, they should never be used in performance critical code). As for everything else, well yah it is just syntactic sugar.
Unfortunately, lazy or newbie programmers will use autoboxing and varargs more than just sparingly and being the second generation coder on a project where these features are used liberally is a hell I would not wish on my worst enemy.
an IDE should not be a requirement for any programming language just to write "Hello World".
Basically, just do this where foo is the type in the array and fooList is your Collection of Foo objects. The foos array now is populated with the contents of the fooList.
The toArray() will return an array of type Object, so you will need to use the argument supplied version of the method if you want the component type of the array to be a particular type.
I don't use any of the generic syntax at all in my code as I feel it makes it virtually unreadable to other developers. The syntax is just absolutely horrible, plus as most adept Java programmers know (been coding in Java myself since 1.0), the way generics is implemented in Java is broken (depending on your point of view on this matter).
.NET, but nevertheless the learning curve is still huge. With Java, the same thing is happening. What was once a simple, yet powerful programming language has evolved into a monster on par with the same kind of crap that comes out of Redmond that is overengineered and the last thing from elegant.
Then there is the Collections API itself which upon first glance seems like it was written by amateurs who have never had to write any performance critical code in their lives. For this reason as well, I generally try and avoid using anything in java.util as well.
And now they are talking about adding closures (more bloat) to Java which as I understand the proposal will be implemented under the hood in basically the same way as inner classes (another feature that is a maintenance nightmare that gets abused by novice developers ad infinitum).
Is Java not bloated enough? Do the guys at SUN have such feature envy of C# (the bastard child of Java), that they can't just say enough is enough?
I feel like this is all coming full circle with C++ in the sense that Java now has so many language features that it is becoming too complicated for entry-level developers to be truly productive with and now a new language is needed that has the best features of Java, minus all the bloat that totally overwhelms the initiates.
With more features, generally comes more power, but with more power there is more room for abuse for those who don't have the wisdom to use it (i.e. newbies). Everyone in programming starts off as a newbie and needs to get their feet wet, but once you make a programming language where everyone has a light saber, but does not have the Jedi training or wisdom to use it, well then you are going to have a lot of people causing a whole lot of trouble.
One of the main reasons why Windows software development has slowed to a crawl (besides of course the cannibalizing nature of MS on the Windows platform), is that it takes a good 4 years or more of full-time experience with the Windows API's just to become adept at programming on that platform, on top of being decent at C/C++ itself. I know Microsoft has tried to reduce that learning curve with C# and
I guess it is time for a new application programming language.
Never forget that China is a totalitarian regime that won't hesitate to deal with trouble makers using the most efficient and brutal methods available to them, which includes killing of the entire family tree of a trouble maker or genocide itself. After all, Tibet is not the only victim of ethnic cleansing, but East Turkistan is well as the Muslim minority there has been brutally oppressed by the government of the CCP, meanwhile the major Muslim nations of the world say and do nothing because they know China's government means business when it comes to dealing with dissenters.
It is kind of like feminists in the western nations. They furiously attack Christians, conservatives, and anything they deem patriarchal, yet they are totally silent when it comes to criticizing Islamic nations for how they treat their women. Just look at the total duplicity of the ardent feminist Nancy Pelosi going to Syria and how she didn't even bother mentioning the plight of women in that country. You could even say the same thing about Hillary Clinton (another ardent feminist).
Simply put, just as feminists are cowards in confronting irrational Muslims who believe in honor killings and stoning adulterous women, irrational Muslims are cowards when dealing with the Chinese because they know the Chinese don't mess around when suppressing dissidents.
Don't expect the radical Islamicists to engage China in any hostile way until the low-hanging fruit of the west has been displaced and Europe itself is under Sharia law.
Pay attention to what they do. The same thing goes for any government, including our own. Corrupt governments, regardless of what corner of the earth they happen to be exist on, only tell the truth when it is convenient for them to do so or else when they can gain a propaganda advantage against their adversaries by being only truthful enough for their big lies to seem plausible.
China says they mean no harm and they only want peace, yet they brazenly shine lasers on our satellites and single handedly add 10% more space debris to earth's orbit through destroying one of their own. China says they are all for innovation, yet they have armies of spies in the United States and Europe conducting industrial espionage on a grand scale, rather than spending the money they use for espionage operations on home-grown research. China says they are all about socialism and equality, yet wealth is even far more concentrated in the top 1% in China than here in the United States (and by a wide margin). I could go on and on, but the point stands that every piece of state propaganda coming out of Beijing should be taken with a grain of salt.
Duplicity and doublespeak is China in a nutshell. After the 2008 Olympics, expect China to start making its real moves, now that George Bush has successfully run our military into the ground and thanks to military espionage, the Chinese now have the military capability to keep our pacific fleet in check and threaten any nation they wish in the Pacific.
in the sense that of our "lets boost the confidence of the children at any cost" mentality, but what about oral exams?
When you see the average American these days being interviewed on television, they simply have no rhetorical skills whatsoever. They may not have a room temperature IQ, but they sure sound like it most of the time. Yah I know some people fear public speaking more than death itself, but public speaking is arguably more important than being able to write clear essays in real world situations.
Also, I am no means an expert on how kids are educated in Europe, but at least in universities I have heard that oral exams are or were a big deal over there. An oral exam is the ultimate shit test for whether you clearly understand the material or not because you are forced to articulate yourself on the topic directly to your audience in an almost ad hoc manner. If you don't know the material, then you better have some wit to pass as filler for content or else you will embarrass yourself incredibly in front of your peers and teachers.
Plus there is a strong dichotomy generally with being able to speak clearly and write clearly. People who find themselves long-winded and off topic when presenting their arguments on paper for on any given topic, will learn quickly when it comes to an oral exam that their audience will start snoring and/or mocking them which will encourage them to become better at communication overall and that is a good thing.
Of course grading an oral exam is highly subjective, but who the hell cares. As long as students are learning the material and becoming better at communicating with each other in ways more sophisticated than spamming emoticons back and forth over IM, then I am all for it.
Essays should of course still exist, but they should be complimentary to the oral exam itself. Kind of like how at academic conferences where people submit papers and then if they are lucky enough they get to personally present the material contained in those papers before an audience of their peers.
This Guy!
Of course walking up several flights of stairs because you live in a big city, or havin to bike several miles a day to work, or having to walk a mile to get some groceries at the corner store is going to burn more calories than sitting at home, but forcing everyone to live this kind of lifestyle is a bit Maoist if you ask me. I mean, if you have arthritis or asthma, or a heart condition then I guess you are SOL.
If you do live in a community that lacks parks, trails, or sidewalks/roads you can safely jog on, you don't even need a stairmaster or stationary bike to stay fit. All you need is the discipline to do basic resistance exercises every day. Just a quick intense workout when you wake up in the morning, and you will find it hard to get fat. Pushups, situps/crunches, dips, squats, etc. without weights but done in an explosive fashion will burn a lot of calories very fast and keep your muscles toned as well. You don't need to run 10 miles or do aerobics for an hour to burn a lot of calories if you are know that anaerobic exercise is about 8 times less efficient in calorie usage as aerobic exercise. What this essentially means is that anaerobic exercise will burn calories 8 times faster than aerobic exercise.
Of course, you could just lift weights for 10-15 minutes a day like I do, but if you don't have the space or the money to afford free weights, do the next best thing and do the basics to keep fit. It doesn't take a lot of time, just the discipline to make it part of your daily routine as if it was as core to your day as brushing your teeth.
and hopefully our education system in the future will reflect some of these truisms. Whether it be private industry or public education that adopts to these changes does not matter. What does matter is that the idea of going to college and getting a degree and then intellectually vegetating at some cushy job the rest of your life is sooooooooooooo 20th century. In the new millenium people will have to take the personal initiative to keep learning and keep themselves educated whether they are in their 20's or their 80's. In addition, the idea of "retirement" will become an outmoded concept as competition for limited resources among a growing world population will not allow many people to live a "life of leisure" for a third of their lives (assuming people retire in their 60's and die in their 90's).
I personally never graduated from college due to financial problems I had with financial aid, coupled with the fact that I thought at the time (and still do) that college is mostly a high-priced scam that exploits the amazingly inelastic demand for an inconsequential piece of paper which I did not want to spend my entire life paying off in the form of student loans. Some people would be bitter about not finishing school, but I am happy that I did not because it taught me that education should be a non-stop process throughout life and that an expensive piece of paper you have framed on your office wall would of been better spent on a framed piece of tasteful art since fine art generally appreciates in value over time, while diplomas quickly devalue at about the rate of a new car.
It is also amazing how people I know who have graduated from college a decade or more ago and who didn't keep their minds occupied with learning seem like dinosaurs today. I also sometimes wonder how they will fit into the new global economy in the near future when people in other nations where people are hungrier for success will be competing against these college grads who feel entitled to a well paid job, just because they successfully navigated some high-price rat race in their early 20's.
That doesn't mean that there is no place for formal education in this world anymore as some professions absolutely demand it (practicing medicine comes to mind), however, for the vast majority of jobs out there I think college education has become obsolete. The sooner our education systems adapt to this new reality, the better prepared people will be for a world economy that will be even more dynamic and exciting than it is today.
that if women dress more attractive when they are most fertile, as well as the fact that fertility for women falls sharply after age 30, that women generally don't give a crap about their appearance past age 30?
Doesn't seem to make a lot of sense to me, since women seem to put on more makeup, as well as visit the plastic surgeon more often as they get older. The vanity of women seems to increase with age if you ask me.