Unfortunately most games have a lot of such suckage problems (A common web comic setup involves one character asking another, video game playing character if he like what he's playing. Hint: the response isn't yes.) Everything from bad UI's to poor world models and steep sliding scales can hurt a game's playability. It's not a surprise that many games created by technical experts in programming, etc. who lack design or people skills are often the games spending the longest time in the bargain bin.
The difficulty and game balancing issues even affect player-persistent-only games like Blizzards Diablo 2. My experience with the game over the last year is that the development staff has worked hard to change the initial game setup so that it is fairer and easier to play. The recent Expansion (Lord of Destruction) added a lot in the way of in-game multiplayer fun with more character classes to play and a lot of new item classes.
Even with only persistent characters, there is a hot market for good D2 and LoD items. Trading is a popular past time with many characters. Each major sever developed and economy based on a certain rare, if findable item (gold finding is merely a matter of not dying to often.) Duping became a problem when someone hacked the game-engine's network layer to send packets full of fake game state data. Fortunately, a lot of the duplicated items were flushed (they caused a lot of problems as each duplicated item was essentially a database bug/corruption waiting to strike.) Finding items gets easier over time with the items the affect the ability to find more items (and character skills that also add to this.)
As for experience, many Guilds and even groups of friends capitalize on a high level player through the use of residual experience (pretty much on-the-job training IHMO) and the gateway structure of Diablo 2's quests. While being boosted, pumped, pushed or any other term for being taken through a quest with the help of a much more powerful player, the new guy/gal gets a quick level-building trip. This is useful in D2 since teams of lower level people can often blow through hard situations that individual players can't handle without a lot of time invested in simply 'gaining that next level.' Just having one more player on your team means the game returns more rewards in terms of gold and experience and items drops (a very good multi-/network-player design idea.)
Again, it all boils down to whether it's fun or not. If a game is not fun and doesn't give you anything in return, it shouldn't be played. It should probably be held up as an example of what not to do (rather than just allowed to fail miserably along with the company that made it.) It may not be very fun to get plowed under by a 350 lbs linebacker on a cold February day, but a lot of American's find it very fun to watch (after a few beers and with some friends of course.) And that can turn into a very fun game.
Well, if the market for Linux games does get better in the future, someone could just buy the Loki trademark and branding, then re-start the company under different management (it happens a lot more often then you think.)
Assuming we are talking U.S.A. I.P. Law and by extension all Berne Treaty signature countries):
However, in an interesting twist of ethics and morals, there are registered secrets ((trade secrets ) that are essentially the same thing as patents without the benefit to the general public (the military is not so restricted), except you can get sued something ugly for going public and trying to patent or use someone else's *secret* process no matter how original you though you were. Trying to prove you didn't get it from the owners of the *secret* technology is not very easy.
Considering how *new discovery* dependant Computer Science and its derived engineering disciplines are at this time, the ethical nature of I.P. and patenting are still under debate. Just look at the whole Open Source initiative: it almost tries to return the original meaning of copyright (protection of attribution) to the current twisted definition (protection of money). In both cases, the majority is hurt by the expansion of rights to the individual (i.e. corporation) whereas the individual only gets a small conjectured advantage (majority of patents are never actually implemented, just registered and defended (yet another source of income not derived from meaningful work)). Not a surprise for a system whose major originating proponent created such patents as the patent covering his *long arm* - a device that consists of a long pole with a grasping device at the end to help get books off tall shelves (even though such devices had been used for centuries by his contemporary farmers for occasional chores.)
Fortunately or unfortunately most changes to entrenched systems in inventory control and accounting systems are purely profit driven. From a non-computer administrator's point of view, there is no need to mess with what works - that can cost downtime, training and other ugly expenses. The accounting/inventory system is a tool, often highly customized, just like a hammer. Because someone just came out with hammer 2.0 doesn't mean that my trusty hammer 1.0 isn't doing what I want. This is also why a lot of systems with really ugly bugs, misfeatures, and peculiarities are found in the back offices. Nobody really cares about the latest-and-greatest tech for accounting systems: the underlying processes have been developed and codified for centuries and in the minds of the users there is no real need for an accounting system implemented on top of a Quake 3 engine when good ol' DBase III will do.
About the only ways to get post-60's/70's into most backend business systems is to either start with it (still get same out-of-date problem in five, ten or fifteen years) or to have the higher-ups declare that a particular system will be used. Too bad a lot of Linux companies are getting a bad rap. If the hype had kept going, a lot of higher-ups would probably have switched to *Open Source* systems just to be the first in their country club to have all-Linux accounting department.
Sorry about the cynicism but I've worked with migrating few small inventory and accounting systems to something from the 90's and none of them were pretty from the personal or technical point of view. Sometimes it's all about culture.
Actually, I had been wondering about this question for a long time, particularly the archival questions mentioned briefly by other posters and (oddly enough) the comments about the silly questions. I was intending to get information from the community and I'd actually like to see more of the 'never asked because their inane' questions as they can generate a lot of usefull discussion and reveal underlying themes and concepts within a populace.
You concern about the self-serving nature of the post though is well founded. When I wrote the submission (the first of many of the years to ever be posted) I though that it did sound very pretentious. I rewrote it a few times and almost didn't submit. The fact that Dragon Spirit (which has really interesting 'niche' articles IMHO, a nice url - dragon.org - which is easily stumbled upon and a fairly good user interface) had already closed its doors led me to think it wouldn't hurt to list it rather than the many other still operational sites. Belfry is a very good source of web comics and keeps regular information on sites that are abandonded. (If you hadn't noticed or set you user preferences to exclude them, Slashdot has a box dedicated to a selection of geeky comics.)
Frankly, of all the things I said, I didn't expect it to make the cut let alone generate the discussions it did. I was really impressed with the comments on the dillution of Linux mindshare by a profusion of Linux sites (something similar happened to the local LUG while I was secretary - too many user groups, not enough members in any one to sustain them.)
If I wanted to generate traffic for the sites without consideration for the greater theme I believed this this exepmlifies (sorry, more bad spellin') I could have just tried for a submission in the Quickies department. To illustrate the point I was trying to make, see the CensorSheep animation (sorry, yet another Wired link - it's amazing how usefull some 'old' data can be) and pay attention to who is censoring the artwork at the end.
BTW - I am neither affiliated nor deriving benifit from any of the sites I have listed (besides being able to browse and enjoy them.;)
"I have made this letter longer than usual, only because I have not had the time to make it shorter."
During a two semester introductory course in software engineering I participated in a group that refractored a J2EE application (improved underlying code yet left it bug-for-bug compatible) and then completely reimplementation another J2EE application concept. Throughout both experiences, the rich support of architectures and patterns, on which JBoss (and Tomcat) are designed, made the projects simpler and more effective at achieving the goals of writing maintainable code.
More importantly for this point-of-view is these (like many other programming techniques) allowed the group to implement solutions with widely varying performance: from slow but explicit code to hand-tooled solutions that utilize aspects of the problem domain. While it is a common conception that systems with as rich a feature set as JBoss are performance hogs, it should be noted that most enterprise scale systems don't have very attractive small-scale performance (some Oracle DBs can have a +1GB footprint before any user data or DBs are added which ain't exactly embedded.) JBoss is both small and fast enough to run from student/school-lab quality development systems (real budget machines IHMO) but has sufficient performance to match wits with a full-blown ecommerce application. I helped implement a complete on-line store (liquor store, that is) that held under our test loads (page view/transactions per sec) without relying on clustering.
The onjava.com article does bring up a valid point: like many complex software packages (tcsh, ant, Java) does have a complex environment to setup and maintain. A large part of this however (much like with tcshrc config files) it is a matter of how much you want to custom tailor YOUR system. Much like makefiles and easy builds, a little bit o' work goes a long way (I've seen a factor of ten improvement with some cases.) I think though you will find the best improvement in performance not from hoping between J2EE systems but from good ol' fashion Data Structures and Algorithm Analysis appropriate to you application.
Mixing languages (and paradigms) can be complicated, but it is a lot more common than most people think.
I've had to start doing this for Senior Class projects in my CS curricula: SQL embedded in C code (ala Oracle.) While not exactly that same a writing separate programs in separate languages, it does share a lot of the features:
Database access code is separated into ASNI SQL statements that exist beside C/C++ functions and operations
Native C/C++ parsers can't understand the SQL so Normal IDE's have *fun* trying to colorize, organize, or typeset the code.
Without Translation into C by extra SQL preprocessors, the code is un-compliable.
Easy debugging at the source level doesn't happen - essentially, the SQL and C/C++ are designed together, written separately, tested separately and merged together afterwards. Due to the complexity of the interactions of the two languages, errors in one language may or may not affect the detection of errors in the other.
Where they differ:
SQL must be handled from the point of view of preprocessed (and just a likely reorganized) source file that no longer resembles anything you wrote. While this can been seen as little different than the debugging of optimized sections problem for a compiler/debugger suite, at this point you're still dealing with your source code - which has been changed *for you* to facilitate the usage of two languages rather than one.
The code can be very hard to maintain - it is essentially two different programs in two different language paradigms - one declarative and one procedural - are combined into a single set of source files. However, it gets the job done.
Usually, due to 'type mismatches' in the approaches (found even with two standardized and mature languages such as SQL and C) the best bet is to wall everything off behind library code and interface layers - creating a set of libraries written in SQL, which are called from C programs.
(More of a similarity than a difference on second thought.)
So to a certain degree, yes I have been writing 'applications' in multiple languages and so have a lot of other people in the database community for a long time. SQL is good for accessing databases. C/C++ is good for driving programs. The two work well together (most of the time) even if it often feels like a marriage between a hedgehog and a mole rat. (I guess that'd make Perl modules with Apache served HTML like shrimp and seagulls being married by humbacked whales at the speed of an http 1.1 GET, but I digress.)
Hey, as long as the local Garage Sales-where all the really neat Radio Shack and cheap but good antique stuff goes-only take my Greenbacks, I'm all for keeping with the hard-as-in-to-trace cash society. Besides which: have you every tried to stuff a pillow with debit cards? It just not the same.
Better not try to attend the University of Oklahoma. They've been running a laptop enigneering requirement for the last three years. I've been skirting the edge of the requirement all this time, but I remember a day when Computer Scientists and EEs and Mechanical Engineers could bepend on powerful lab computers, rather than the underpowered $3,000 machines that they require freshmen to use (since they require a certain type with certain never-powerful-enough-for-engineering-but-great-fo r-the-business-college features it only gets worse as the machines age.)
Geeze, I used to sell these laptops from the University Computer Store, but I've yet to see a real benifit to students. I've always stuck by scrounging and cheap-o parts, but then I'm not in the Mommy-and-Daddy can pay for it income bracket (I wish I were, though...) The original pilot program for the laptops was flawed anyway: they gave a bunch of civil and envriomental engineers students cheap laptops that they could take out in the field when making measurments and doing homework and (surprise, surprise!) the students really loved it. When you spend a lot of time in the lab/library writing papers and researching stuff on big (+$30,000) machines, these laptops loose a lot of their value.
Yet it's still a uniform requirement for engineers at OU. I can't begin to think how many poorer students (with good engineering skills) are being shut out of thie major University right smack dab in the middle of the third world nation of U.S. states, Oklahoma.
The Nirvana Editor
It may not be an MDI (multi document interface) like Visual C++, but then I like being able to pop up a xxgdb window and have three scrolling xterms of ouput from gcc's last runs rather than tabbing through a tiny window. Got better syntax highlighting too.
Don't foget EMACS
If you can't do it in EMACS, it probably can't be done (or is waiting for the Lisp to be written.)
One acronym -
CVS
As professional who has worked on real program (i.e. real-time embeded OSes for cirtical system with more than a Megabyte of Z80 ASSEMBLER code in some files) I cannot begin to attest to the superiority of CVS (or even RCS) over Microsoft's $600 SourceSafe product for managing (or mangling) project documents.
Bugzilla
Decent bug tracking tools are hard to come by and this one has withstood the test of time (and the mozilla codebase). I don't know of anything equivalent shipped by Microsoft (or specifically for their OS).
It's been mentioned already, but OpenGL works just as well on most Linux boxes as it does on MS Windows. I've written applets and games (for a University graphics class actually) that compile and run under both Windows and Linux.
Don't complain about Linux tools just because you have to LOOK FOR THEM rather than sit around and have them shoved in your face. Between a decent editor, code revision/control, bug tracking, decent uptime of a sever grade OS, ANSI complient compilers, at least one SDK, I may still want to buy a keyboard from Microsoft but I don't have to buy Microsoft tools software to develop games for Windows or for Linux.
At the University of Oklahoma, my introductory course (CS 1213) was in Haskel and C. While it may seem more *interesting* from a paradigm point of view, functional programming languages are radically different from procedural (C, Perl, basic) and their object oriented children (Perl modules, C++, Java). Functional languages focus on matimatical and logical proof concepts. For a ciricula like mine that is trying to produce Computer Scientists - i.e. professors who do research - rather than programmers or Software Engineers (the model they are trying to move toward) - functional programs are fine, even when used in both the introductory and discrete mathematics components of a CompSci program.
However, these languages are very difficult to learn and this can get in the way of learning other facets of programming and computer science. This learning curve impacts the learning of the general problem solving skills needed to work outside the limited world of discrete finite machines, such as in networking or inter-personal spaces. Java solves some of the problem in the OU cirricula by providing a "lite" language. It is a language that does impressive things very easily and that gaurds the programmer against some nasty complexities like platform/compile/library incompatabilities. These are also the reasons it is popular in industry. Languages such as Fortran and Cobol hold on in our Science and Business colleges because of legacy code and the personal perceptions of the faculty. Unfortunately you can improperly teach the problem solving ciritcal to progammin in any language, just as you can properly teach without a language. Classes that focus on getting design and thought about a problem started at least during if not before a project would be much more helpful. Systems such as OO pattern and tools like UML provide much help to the Software Engineer and Computer Scientist alike.
However you choose to view the language, as toy, irritant, the next wave, the last wave, et cetera, it is in our CompSci cirricula and it can be taught and taught well. When I went on to my second year of classes I was exposed to C++ for Data Structures and Java for a Programming Abstractions course. Data Structures became a waste of a class trying while to work with a professor who was new to the lanugage. The Programming Abstractions professor knew what was up with Java and so taught us a lot about OO design before delving into the language. I didn't get a lot of help from my time learning Haskel, wich in turn had severly limited my time working with C before moving onto C++.
For what it's worth, learning RCS, and later CVS and UML, helped with my programming more than any of the languages I in which I learned or worked. In the end, these languages proved that they are just tools. Like all tools - Craftsman, DeWALT, GNU liscenses, Sun.Java.*, there will be proponents and detractors and teachers and charlitans. You mileage may vary.
Here's to 5 years of CompSci and counting (with 1 year to go.)
Interesting. One may attack the unrealistic images of women portrayed in video games, but then to commit the hypocrisy of not also mentioning the unrealistic portrayal of women in the general media is unfair. Maxim and AF, Playboy and Penthouse, movies with ditzy blondes and sultry redheads all rain images of the so trim [American model] feminine mystique upon the worlds youth. Mattel has been promoting the never-aging Barbie lifestyle since the time of my grandparents. Emaciated 6 foot runway models with sub-100 pound weights have been the role models for little Suzie?s *proper* career for decades.
True, most of the men in the marketing and design departments don?t want to deal with the fact that ugly, small breasted or even (oh my god?) fat people exist. Rather we live with the images these men believe the average Joe (or Jane) want to see. While I?d rather we have a society that believes in judging people by what?s on the inside, we currently get to enjoy (or hate) a world where, if any visual clue is given, man and women are immediately compared with the standards set up by men who have to pay for their
I am wondering if, like they suspect with Pluto, this planetismal might be able to hold a thin atmosphere. I haven't run any of the gas-law computations or looked up the kinetic energy tables to find out when (thermally and gravitationally speaking) a planet, with a certain gas mixture, would loose its atmosphere.
I'd love to see if; the Pluto Express Mission and its ilk would go through, what kind of liquid mixes one can find on distance snowballs like this.
If they can't get to Pluto on time though, before it gets too far from the sun (or if they send a probe to look at one of these many *new planets* out further) they could consider using large lenses or some form of retransmitted light to cook the little rocks back up to temperature (sort of a planetary bake-off with the dial stuck to low).
For some reason this desk arrangement seem to remind me of the tank driving scene at the begining of Tron. The cool huge monitor space and the rear panel of stuff behind the driver. (Of course living IN the computer game arena and driving a tank with a huge rotating cab would be much niftier than cubicle dwelling).
The difficulty and game balancing issues even affect player-persistent-only games like Blizzards Diablo 2. My experience with the game over the last year is that the development staff has worked hard to change the initial game setup so that it is fairer and easier to play. The recent Expansion (Lord of Destruction) added a lot in the way of in-game multiplayer fun with more character classes to play and a lot of new item classes.
Even with only persistent characters, there is a hot market for good D2 and LoD items. Trading is a popular past time with many characters. Each major sever developed and economy based on a certain rare, if findable item (gold finding is merely a matter of not dying to often.) Duping became a problem when someone hacked the game-engine's network layer to send packets full of fake game state data. Fortunately, a lot of the duplicated items were flushed (they caused a lot of problems as each duplicated item was essentially a database bug/corruption waiting to strike.) Finding items gets easier over time with the items the affect the ability to find more items (and character skills that also add to this.)
As for experience, many Guilds and even groups of friends capitalize on a high level player through the use of residual experience (pretty much on-the-job training IHMO) and the gateway structure of Diablo 2's quests. While being boosted, pumped, pushed or any other term for being taken through a quest with the help of a much more powerful player, the new guy/gal gets a quick level-building trip. This is useful in D2 since teams of lower level people can often blow through hard situations that individual players can't handle without a lot of time invested in simply 'gaining that next level.' Just having one more player on your team means the game returns more rewards in terms of gold and experience and items drops (a very good multi-/network-player design idea.)
Again, it all boils down to whether it's fun or not. If a game is not fun and doesn't give you anything in return, it shouldn't be played. It should probably be held up as an example of what not to do (rather than just allowed to fail miserably along with the company that made it.) It may not be very fun to get plowed under by a 350 lbs linebacker on a cold February day, but a lot of American's find it very fun to watch (after a few beers and with some friends of course.) And that can turn into a very fun game.
Well, if the market for Linux games does get better in the future, someone could just buy the Loki trademark and branding, then re-start the company under different management (it happens a lot more often then you think.)
However, in an interesting twist of ethics and morals, there are registered secrets ((trade secrets ) that are essentially the same thing as patents without the benefit to the general public (the military is not so restricted), except you can get sued something ugly for going public and trying to patent or use someone else's *secret* process no matter how original you though you were. Trying to prove you didn't get it from the owners of the *secret* technology is not very easy.
Considering how *new discovery* dependant Computer Science and its derived engineering disciplines are at this time, the ethical nature of I.P. and patenting are still under debate. Just look at the whole Open Source initiative: it almost tries to return the original meaning of copyright (protection of attribution) to the current twisted definition (protection of money). In both cases, the majority is hurt by the expansion of rights to the individual (i.e. corporation) whereas the individual only gets a small conjectured advantage (majority of patents are never actually implemented, just registered and defended (yet another source of income not derived from meaningful work)). Not a surprise for a system whose major originating proponent created such patents as the patent covering his *long arm* - a device that consists of a long pole with a grasping device at the end to help get books off tall shelves (even though such devices had been used for centuries by his contemporary farmers for occasional chores.)
"The fact that it works is immaterial,"
L. Ogborn.
I once commetned that it's not hard to learn Linux/UNIX, but the learning curve is not real at all points.
Sorry, bad math joke.
About the only ways to get post-60's/70's into most backend business systems is to either start with it (still get same out-of-date problem in five, ten or fifteen years) or to have the higher-ups declare that a particular system will be used. Too bad a lot of Linux companies are getting a bad rap. If the hype had kept going, a lot of higher-ups would probably have switched to *Open Source* systems just to be the first in their country club to have all-Linux accounting department.
Sorry about the cynicism but I've worked with migrating few small inventory and accounting systems to something from the 90's and none of them were pretty from the personal or technical point of view. Sometimes it's all about culture.
You concern about the self-serving nature of the post though is well founded. When I wrote the submission (the first of many of the years to ever be posted) I though that it did sound very pretentious. I rewrote it a few times and almost didn't submit. The fact that Dragon Spirit (which has really interesting 'niche' articles IMHO, a nice url - dragon.org - which is easily stumbled upon and a fairly good user interface) had already closed its doors led me to think it wouldn't hurt to list it rather than the many other still operational sites. Belfry is a very good source of web comics and keeps regular information on sites that are abandonded. (If you hadn't noticed or set you user preferences to exclude them, Slashdot has a box dedicated to a selection of geeky comics.)
Frankly, of all the things I said, I didn't expect it to make the cut let alone generate the discussions it did. I was really impressed with the comments on the dillution of Linux mindshare by a profusion of Linux sites (something similar happened to the local LUG while I was secretary - too many user groups, not enough members in any one to sustain them.)
If I wanted to generate traffic for the sites without consideration for the greater theme I believed this this exepmlifies (sorry, more bad spellin') I could have just tried for a submission in the Quickies department. To illustrate the point I was trying to make, see the CensorSheep animation (sorry, yet another Wired link - it's amazing how usefull some 'old' data can be) and pay attention to who is censoring the artwork at the end.
BTW - I am neither affiliated nor deriving benifit from any of the sites I have listed (besides being able to browse and enjoy them.
"I have made this letter longer than usual, only because I have not had the time to make it shorter."
- Blaise Pascal(UselessKnowledge.com)
More importantly for this point-of-view is these (like many other programming techniques) allowed the group to implement solutions with widely varying performance: from slow but explicit code to hand-tooled solutions that utilize aspects of the problem domain. While it is a common conception that systems with as rich a feature set as JBoss are performance hogs, it should be noted that most enterprise scale systems don't have very attractive small-scale performance (some Oracle DBs can have a +1GB footprint before any user data or DBs are added which ain't exactly embedded.) JBoss is both small and fast enough to run from student/school-lab quality development systems (real budget machines IHMO) but has sufficient performance to match wits with a full-blown ecommerce application. I helped implement a complete on-line store (liquor store, that is) that held under our test loads (page view/transactions per sec) without relying on clustering.
The onjava.com article does bring up a valid point: like many complex software packages (tcsh, ant, Java) does have a complex environment to setup and maintain. A large part of this however (much like with tcshrc config files) it is a matter of how much you want to custom tailor YOUR system. Much like makefiles and easy builds, a little bit o' work goes a long way (I've seen a factor of ten improvement with some cases.) I think though you will find the best improvement in performance not from hoping between J2EE systems but from good ol' fashion Data Structures and Algorithm Analysis appropriate to you application.
Happy coding.
Where they differ:
-
SQL must be handled from the point of view of preprocessed (and just a likely reorganized) source file that no longer resembles anything you wrote. While this can been seen as little different than the debugging of optimized sections problem for a compiler/debugger suite, at this point you're still dealing with your source code - which has been changed *for you* to facilitate the usage of two languages rather than one.
The code can be very hard to maintain - it is essentially two different programs in two different language paradigms - one declarative and one procedural - are combined into a single set of source files. However, it gets the job done.
-
Usually, due to 'type mismatches' in the approaches (found even with two standardized and mature languages such as SQL and C) the best bet is to wall everything off behind library code and interface layers - creating a set of libraries written in SQL, which are called from C programs.
(More of a similarity than a difference on second thought.)
So to a certain degree, yes I have been writing 'applications' in multiple languages and so have a lot of other people in the database community for a long time. SQL is good for accessing databases. C/C++ is good for driving programs. The two work well together (most of the time) even if it often feels like a marriage between a hedgehog and a mole rat. (I guess that'd make Perl modules with Apache served HTML like shrimp and seagulls being married by humbacked whales at the speed of an http 1.1 GET, but I digress.)Hey, as long as the local Garage Sales-where all the really neat Radio Shack and cheap but good antique stuff goes-only take my Greenbacks, I'm all for keeping with the hard-as-in-to-trace cash society. Besides which: have you every tried to stuff a pillow with debit cards? It just not the same.
Better not try to attend the University of Oklahoma. They've been running a laptop enigneering requirement for the last three years. I've been skirting the edge of the requirement all this time, but I remember a day when Computer Scientists and EEs and Mechanical Engineers could bepend on powerful lab computers, rather than the underpowered $3,000 machines that they require freshmen to use (since they require a certain type with certain never-powerful-enough-for-engineering-but-great-fo r-the-business-college features it only gets worse as the machines age.)
Geeze, I used to sell these laptops from the University Computer Store, but I've yet to see a real benifit to students. I've always stuck by scrounging and cheap-o parts, but then I'm not in the Mommy-and-Daddy can pay for it income bracket (I wish I were, though...) The original pilot program for the laptops was flawed anyway: they gave a bunch of civil and envriomental engineers students cheap laptops that they could take out in the field when making measurments and doing homework and (surprise, surprise!) the students really loved it. When you spend a lot of time in the lab/library writing papers and researching stuff on big (+$30,000) machines, these laptops loose a lot of their value.
Yet it's still a uniform requirement for engineers at OU. I can't begin to think how many poorer students (with good engineering skills) are being shut out of thie major University right smack dab in the middle of the third world nation of U.S. states, Oklahoma.
Sad...
- The Nirvana Editor
- Don't foget EMACS
- One acronym -
CVS
- Bugzilla
- It's been mentioned already, but OpenGL works just as well on most Linux boxes as it does on MS Windows. I've written applets and games (for a University graphics class actually) that compile and run under both Windows and Linux.
Don't complain about Linux tools just because you have to LOOK FOR THEM rather than sit around and have them shoved in your face. Between a decent editor, code revision/control, bug tracking, decent uptime of a sever grade OS, ANSI complient compilers, at least one SDK, I may still want to buy a keyboard from Microsoft but I don't have to buy Microsoft tools software to develop games for Windows or for Linux.It may not be an MDI (multi document interface) like Visual C++, but then I like being able to pop up a xxgdb window and have three scrolling xterms of ouput from gcc's last runs rather than tabbing through a tiny window. Got better syntax highlighting too.
If you can't do it in EMACS, it probably can't be done (or is waiting for the Lisp to be written.)
As professional who has worked on real program (i.e. real-time embeded OSes for cirtical system with more than a Megabyte of Z80 ASSEMBLER code in some files) I cannot begin to attest to the superiority of CVS (or even RCS) over Microsoft's $600 SourceSafe product for managing (or mangling) project documents.
Decent bug tracking tools are hard to come by and this one has withstood the test of time (and the mozilla codebase). I don't know of anything equivalent shipped by Microsoft (or specifically for their OS).
However, these languages are very difficult to learn and this can get in the way of learning other facets of programming and computer science. This learning curve impacts the learning of the general problem solving skills needed to work outside the limited world of discrete finite machines, such as in networking or inter-personal spaces. Java solves some of the problem in the OU cirricula by providing a "lite" language. It is a language that does impressive things very easily and that gaurds the programmer against some nasty complexities like platform/compile/library incompatabilities. These are also the reasons it is popular in industry. Languages such as Fortran and Cobol hold on in our Science and Business colleges because of legacy code and the personal perceptions of the faculty. Unfortunately you can improperly teach the problem solving ciritcal to progammin in any language, just as you can properly teach without a language. Classes that focus on getting design and thought about a problem started at least during if not before a project would be much more helpful. Systems such as OO pattern and tools like UML provide much help to the Software Engineer and Computer Scientist alike.
I've worked in the *real world* Perl, C, C++, Z80 assembler (in embedded and non-embedded environments) and Java. Each has a different goal and a different way of getting their. However, irregardless of the path taken, they achieve those golas to a limited degree. Oak, the language that became Java, was designed to be a simple extension of real OOP with a C syntax. Like other embedded languages, most of which are either assemblers or functional strangely enough, it has grown to include methods of getting at the machine and conecpts such as closures. If it adopted lamda calculus syntax extensions, you could use it to teach mathematical therom proving.
However you choose to view the language, as toy, irritant, the next wave, the last wave, et cetera, it is in our CompSci cirricula and it can be taught and taught well. When I went on to my second year of classes I was exposed to C++ for Data Structures and Java for a Programming Abstractions course. Data Structures became a waste of a class trying while to work with a professor who was new to the lanugage. The Programming Abstractions professor knew what was up with Java and so taught us a lot about OO design before delving into the language. I didn't get a lot of help from my time learning Haskel, wich in turn had severly limited my time working with C before moving onto C++.
For what it's worth, learning RCS, and later CVS and UML, helped with my programming more than any of the languages I in which I learned or worked. In the end, these languages proved that they are just tools. Like all tools - Craftsman, DeWALT, GNU liscenses, Sun.Java.*, there will be proponents and detractors and teachers and charlitans. You mileage may vary.
Here's to 5 years of CompSci and counting (with 1 year to go.)
Interesting. One may attack the unrealistic images of women portrayed in video games, but then to commit the hypocrisy of not also mentioning the unrealistic portrayal of women in the general media is unfair. Maxim and AF, Playboy and Penthouse, movies with ditzy blondes and sultry redheads all rain images of the so trim [American model] feminine mystique upon the worlds youth. Mattel has been promoting the never-aging Barbie lifestyle since the time of my grandparents. Emaciated 6 foot runway models with sub-100 pound weights have been the role models for little Suzie?s *proper* career for decades.
True, most of the men in the marketing and design departments don?t want to deal with the fact that ugly, small breasted or even (oh my god?) fat people exist. Rather we live with the images these men believe the average Joe (or Jane) want to see. While I?d rather we have a society that believes in judging people by what?s on the inside, we currently get to enjoy (or hate) a world where, if any visual clue is given, man and women are immediately compared with the standards set up by men who have to pay for their
I am wondering if, like they suspect with Pluto, this planetismal might be able to hold a thin atmosphere. I haven't run any of the gas-law computations or looked up the kinetic energy tables to find out when (thermally and gravitationally speaking) a planet, with a certain gas mixture, would loose its atmosphere.
I'd love to see if; the Pluto Express Mission and its ilk would go through, what kind of liquid mixes one can find on distance snowballs like this. If they can't get to Pluto on time though, before it gets too far from the sun (or if they send a probe to look at one of these many *new planets* out further) they could consider using large lenses or some form of retransmitted light to cook the little rocks back up to temperature (sort of a planetary bake-off with the dial stuck to low).
For some reason this desk arrangement seem to remind me of the tank driving scene at the begining of Tron. The cool huge monitor space and the rear panel of stuff behind the driver. (Of course living IN the computer game arena and driving a tank with a huge rotating cab would be much niftier than cubicle dwelling).