Even if people say that patterns are overused, [...]
In University, on all math related courses we were strongly prohibited using calculators or PC software to solve assignments.
Point is not that design patterns are overused, but that people do not learn to think for themselves and go on copy pasting examples.
To become decent developer, you have to be able to figure out solution to problems yourself without consulting books.
On flip side, the only effect of design pattern application I have seen is exponential growth of code base size: piles of crap code doing nothing else but implementing the patterns, instead of actually solving the problem at hand.
First time I have stumbled on design patters in code, I have managed to make out of very beautiful and well referenced ~120 classes, >1MB object code library something what actually didn't crashed, didn't hogged CPU/memory, was easily reviewable and actually worked. And it all took to me about 15 plain, design-pattern-free classes and 100K of object code. Feel the difference.
- Object Oriented Design and Analysis by Booch/etc.
One of the best books on object oriented programming. Very hard to read and grok all the concepts. Covers many aspects on all phases of software development.
- Programming Perl by Larry Wall, Tom Christiansen & Randal L. Schwartz.
For a *nix guy, Perl is irreplaceable tool for solving randomly popping up problems. Easy read, but need to read Learning Perl first.
- UNIX Power Tools by Jerry Peek, Tim O'Reilly & Mike Loukides.
Great book on learning stupid tricks one can do in *nix. Most tips are outdated, yet many ideas are quite relevant even in Linux today. Took some time to read it, but was very rewarding.
The point here is that Apple has no obligations to PsyStar to license Mac OS X.
The Apple's business model is strictly vertical: they produce everything by themselves and keep all stuff under their own copyright and branding.
Apple by definition has unlimited monopoly on its own product.
Most software companies license and sell their technology and software. But not Apple. The case would have been different is Apple had Mac OS X licensing program, but discriminated against PsyStar by excluding them. That would be against the law.
Apple's product is not "Mac OS X" - it is "Mac". Mac OS X is only small integral part. You can't take it out of "Mac" without permission of Apple: it is not licensed for that. The Mac OS X license is there to protect Apple's brand and business model and very likely would be enforced by the court.
That's I presume what gp meant and I agree with that.
I believe they have changed that in 2.1 too, but in earlier versions to allow external connection to guest virtual machine, non-trivial bridge configuration process on host was required.
By default VBox (and that didn't changed in 2.1) uses NAT: VM can access everything, yet nothing can access VM. (Unless of course you are verse in back draft tunneling skill over e.g. SSH).
Sorry to not to make my point clear: Apple DRM is not worst one out there. And it is packaged well: it was not only one of the first DRMs, it was actually really first (and probably only one) to work as advertised from day one.
I'd say we have DRM-free shops now because **AA finally understood that to have DRM which customers would want to buy into is technically very challenging. And DRM **AA wants can't really scale to the level of demand for the content and (most importantly) it can't accommodate the various business models already existing around content distribution.
And actually now requirements for functioning DRM are pretty clear: single hardware vendor, single software vendor and single content gatekeeper. How the vertical model, existing solely on lack of competition, is healthy for the market? Judge yourself.
The average user is more than willing to pay more money for hobbled music because of user interface, ease of use, and marketing.
There is an escape from Apple's DRM: just burn tracks on music CD.
On other side, many companies really disregard the time. The time user has to spend on doing something silly and stupid. Apple was always good on removing the artificial barriers and negotiating compromise where it doesn't hurt users. (But it's not that Apple is clear on all DRM charges.)
From my personal experience, I would easily overpay for something what requires little of attention and just works. Though most of my friends prefer to spend time searching for better deal, spend time getting into the deal and then spend even more time trying to make it work in the end.
IMHO, good accessibility is also feature and I do not mind paying extra for it. Though you never find accessibility on official list of features.
Right now iTMS holds really little of advantage over other stores, so the point of RTFAs stands. Yet, now the time Apple invested into building user loyalty is simply paying back. iTMS competitors shoot themselves so many times in all the possible foots and they would need considerable time to gain the trust back.
P.S. And thanks to misleading **AA campaign many believe that Apple's DRM is norm of life. And that I believe is bigger problem.
I use HP-UX and Solaris on daily basis: business software of my employer run there.
You have to try to do something on Unix once to start seeing that Linux is not Unix and start hating Unix.
Solaris e.g. still doesn't install any capable text editor by default. You end up with original 'vi' which was last update 1996 and still doesn't support arrow keys (actually it's worse: it interprets unknown key sequences literally). But Solaris is paradise compared to underwhelming HP-UX, where you really end up with bare minimum. Infamous messages "line too long" from awk or sed (yeah, they still do not handle strings longer than 1000 characters). Lack or recursive grep, when you have to pipe 'find' to pretty much anything - but what is not always possible.
Default install of any Linux is quite usable. Default install of both Solaris and HP-UX is miserable torture. (*) For business software, with all its bogosities and hacks, commercial Unix is better: they provide workarounds for literally everything. But deploying (process which takes months) anything on Unix is royal pain. Using Unix daily - is even more so.
Apparently, Unix degraded to some backbone OS: spend five minutes installing something and then just monitor it remotely. That works and works really well. But if you actually need to do something on them... forget. It is simpler to rewrite every tool they supply in Perl and be with it. Linux on other side looks like it is actually used - actively - by all kinds of people: it is much more polished and can be used painlessly on daily basis without rewriting anything.
(*) Most bogosities of Unix can be worked around by compiling e.g. GNU tools or any other functioning analogue. But there is a catch: Unix doesn't come with compiler preinstalled or even if it is installed it is pretty much incapable of compiling anything big (e.g. gcc). That's the way Unix vendors remind you that they also sell separately commercial compilers and you are welcome to buy them.
Then you must be BSD old timer. That's the only group I have seen could digest 20yo file-tools/text-tools as compared freshened up 10 years ago GNU file/text-tools. You do not need to explain me how typing twice more is superior to typing twice less. I will not get it. I'm on command line 99% of time and every character I do not need to type counts.
P.S. Administrative tools - no need to argue: Solaris have huge advantage.
Solaris is used by many businesses and having always at hand system running similar system helps a lot.
I know number of people who would happily replace Linux on their lappies with Solaris: confusion from reading wrong man page caused not once delays in various projects.
But it's really about having a choice. Provided that OpenSolaris uses GNOME there should be only few regressions, as pretty much nobody willingly uses Solaris command line.
Though personally, I wouldn't trade my aging Linux PowerBook for the new OpenSolaris notebook./me addicted to Linux./me hates Unix.
Somehow most previews don't even mention power consumption.
Had you RTFA properly, folks have mentioned that card is not yet officially out and nVidia asked to withheld further details as BIOS might still get tweaked.
By that logic everything which does not start to burn is power efficient...
This is not an absolute metric (or is it "yardic" in US?). I presume they compare it to 4870 on which the infamous DDR5 alone - even when idle - draws whooping 40W. 4870x2 has already tweaked factory BIOS and yet twice more DDR5 still consumes same 40W. Yes - RAM alone consumes 40W.
Even if they would survive, I'm not going to buy it.
The Apple survives now as it is solely because Jobs is there to fend off shareholders drooling over turning Apple into low risk franchise akin Dell.
Or in other words: Jobs is the driver of the innovation. Without such creative and authoritative person in charge, company would turn into one of the bleak gray box producers out there.
I was tempted to write the exceptions - confirming the rule.
... OpenOffice...
And that would good example of the mess Linus describes in linked by ggp post.
I can say for sure that I run a lot more C++ programs on a daily basis than Java ones.
Business software of company I work for is also written in C++. And it works. Sometimes. Somehow.
Frankly, it is impossible to compare OSS C++ projects like KDE to commercial C++ software. KDE is open, gets tested by thousands peoples and hundreds look into its source code. It is very very clean.
But on commercial front, few companies outside of MS really invest into making good product and as long as it runs and can be sold - they will sell it. It is cheaper to order out-sourced development of new version as compared to making actual product good.
As C++ developer I'm of course would be critical about many issues. And really customers do not care how much overtime developers spent on fixing trivial issues which thanks to abuse of basic C++ features were made the trivial issues into elephant in the room.
Java programs I find generally to be of higher quality. But it is changing now too. Before, Java programmers were in might tighter space: Java resource consumption gets out of hands easily, stupid code degrades performance terribly. But nowadays Java programs start to look more and more like C++ programs since modern computers have much more resources and you do not need bright heads to write decent Java application anymore: you can get cheap right-out-of-university out-sourced folks who would write something you can sell.
The difference between C++ and Java was that most of stupid things in C++ worked good enough. In Java they worked terribly so people were fixing them. But now, due to advances of hardware, Java lost its advantage of being strict on developers and amount of crap I see in Java programs started increasing steadily.
It doesn't really depends on programming language: it depends on developers. Most C++ developers are spoiled with tons of silly libraries and uncountable number of hacks C++ allows. As Java heads in the same direction (just compare JDK 1.0 to 1.6) now allowing programmers even more hacks than C++, you can expect developers to start using the hacks. As results, quality of Java programs would soon reach the same level as of C++ programs now.
Some OSS projects enforce discipline with review process. Some OSS projects can't afford review and choose to stick with more explicit languages. Commercial software generally never gets reviewed (MS and Adobe being notable exceptions).
The only problem I have to validate the statement, is that I have never seen single C++ follower. C++ is like Windows: everybody ended up using it, before they were even being give a choice.
Linus rants are mostly valid - from pov of system programmer.
But frankly, I yet to see any well written large scale C++ project. It's way too easy to workaround some programmers bogosities. Strict typing on one side was thought to help programmers to write better code, yet on another side, operator overloading mixed in, it allowed to pack loads of crap into pretty innocent statements like "a = b;"
C++ ends up pretty quickly unreadable. Unreadable means that it is also untestable and unmaintainable. Essentially, in many C++ project, people end up rewriting large chunks of code pretty often. And I witnessed that quite often. Yet, pretty quickly even new and shiny pieces of code gets bloated with the "real world" stuff - no less to make it working - turning it again into unmaintainable mess.
Yet, except for C, there is no other language so widely adopted. With good development discipline, one can make even in C++ good programs. It is just that corporations generally try to oust good programmers who also often happen to be disciplined programmers.
Java would be Fundamentalist Christianity
C# would be Mormonism
As I have said - this is normal risk based evaluation.
If you have huge install base of anything, you get sensitive as to not ruin everything with e.g. bad budget decision or system update.
SCO? Didn't even registered. CxO's do not read news anyway. And for the rest they have legal counsel on board.
Novell? Same thing. Many companies deployed Linux as cheap backbone for everything what is of Unix origin. Linux in enterprises is most popular for Oracle: RH and SUSE invested heavily into making Linux good Oracle platform. DB, Java, proprietary apps ported from Unix - all that runs on Linux happily. Yet, if you want to deploy Linux as replacement for Windows servers, few CTOs would immediately get excited about the savings. The problem is that risk is too high: M$ with single update to Windows clients can ruin whole infrastructure. Huge companies have phone support from M$. And not some out-sourced support - but real support from M$. If there is a problem, in a matter of few hours you would get M$ engineer helping you resolve problem. That essentially means that M$ alleviates the risks by providing supreme support options to its customers. And support here means that M$ really solves the problem - complaining that some 3rd party (from pov of Linux provider - M$ is 3rd party) did change something won't do. And now that's where Novell enters. They are perfectly positioned to allow CTOs painless migration to the Linux, because they can be called responsible for problems integrating Linux and Windows together. There is no other single company which have any kind of agreement with M$.
And Novell has the experience with huge enterprises, what RH is plainly missing at the moment: RH was and is after Unix server market (what is kind of cheating, as Linux is free Unix implementation), Novell tries to make a dent into Windows server market (a.k.a. missing impossible).
IMHO, enterprises drove themselves into the M$ lock-in. It's theirs problem. But I'm pretty happy to see that some new companies install all-Linux infrastructure - what is true solution to the whole Novell-M$ debacle problem.
If I am a linux user, then Microsoft's attempts to make all distros - except for msft approved distros - illegal, certainty could affect me.
Please answer the following question sincerely: do you still believe in Santa Claus?
Please learn basics, GPL v2, v3 being a good start.
Re:Still not safe to use Suse of any sort
on
openSUSE Launches 11.1
·
· Score: 3, Insightful
SUSE always made clear distinction between commercial/non-free software they include and core OS. Core OS always was and is GPL'ed Linux.
You have a short memory. YaST was non-free not so long ago. I think Novell made it free software after they bought SuSE.
Well, in the days I used SUSE very extensively. And, no, SUSE never tried to hide the fact that they ship and install non-free software.
What's more, if you would dig you memory, you might recall that they pretty much from day one were stating that it is impossible to build good OS with only free software. And they were always shipping commercial software. e.g. SUSE was first Linux to include movie editing software - in the times when there was no F/LOSS alternatives. They were also shipping MP3 support - because they acquired license for that. (*)
SUSE was openly stating that they are per se not free. You can make out of SUSE free OS - yet you would loose lots of functionality, making OS non-starter in any OS comparison. And SUSE was always comparable versus Windows and Mac OS.
(*) Freely downloadable ISO image not always included all goodies of the boxed retail version.
Deal is between M$ and Novell. Between you (as user) and Novell stands GPL. Users are NOT affected by the deal.
If Novell truly goes to dark side... Stop. Actually, if you read history of Novell, you would notice that they are of the dark side: company run by lawyers (M$ being company run by sales).
Though point stands: flaming Novell for deal with M$ is silly and pointless as it doesn't affect normal SUSE users. On other side, business users (== paying customers) are more than happy about the deal and its future potential.
Finally, the anti-Novell trolls bring nothing to discussion, generally pissing on stuff I personally do not care - e.g. Mono or Moonlight or OOXML. I personally program in Perl, watch Flash movies and use ODF. I'm (as most of the SUSE users) in no part influenced by the deal (disclaimer: do not use SUSE at the moment).
I would mod up any informative post about e.g. Novell crippling GPL'ed software to please M$. Yet, only the same senseless rumors are getting repeated over and over again, bringing nothing new to discussion. So how should I mod them?
A reasonable alternative is to use a distribution which keeps a clear distinction between free software and non-free.
Unlike RH and some other companies, Novell didn't claimed any openness until community shaped around openSUSE.
Just recall Fedora earlier days: RH claimed it was open (in whatever sense they meant it), yet RH retained rights to do whatever it liked with it. And there was no community - or rather original Fedora community was simply excluded from the development process.
Novell did it right - they learned mistakes of Fedora and did none of them. They first forked and opened distro, assigned internal developers to it. Then they started listening to needs of people who actually wanted to participate. Time have passed and now most of the participation processes are established: anybody willing can participate. And now they claim that they are open. It can be better only in Debian.
Re:Still not safe to use Suse of any sort
on
openSUSE Launches 11.1
·
· Score: 4, Informative
+1.
A reasonable alternative is to use a distribution which keeps a clear distinction between free software and non-free.
SUSE always made clear distinction between commercial/non-free software they include and core OS. Core OS always was and is GPL'ed Linux.
All software is installed with rpm - you can always grep for license.
Ironically, I know companies which started Linux (SUSE) adoption upon hearing the news about collaboration.
If nothing else, that was one huge pitch to use Linux coming from nobody else but Microsoft itself.
If you have business and have heaps of Windows servers and Windows clients, adopting something (e.g. RH or Debian) what isn't targeting heterogeneous environment where M$ dominates, is plain too risky. With SUSE the risk is much lower and calling Novell support on M$ vs. Linux compatibility is already an option. Try calling RH and complain that RHEL doesn't connect to Windows (or vise versa).
No, I personally do not like that Novell cooperates with M$. Yes, it is sound business decision which is needed now to spur wider Linux adoption. I hope that famous Novell lawyers know what they do. Let the GPL be with them.
auto-flattening lists and requiring explicit references to do nesting is insane.
Care to elaborate where your problem is?
I in fact the auto-flattening a nice feature which allows for many silly and useful tricks (e.g. prepare list(s) with arguments to function, dynamically lookup function reference, call by references supplying the list)
Explicit references are pretty handy too. After all, normally you do not use references at all. For most of the things plain data structures (without nesting) are sufficient. And even then, if you have deep nested structure, by adding extra functions to work on primitive types (hashes, lists), you can keep referencing madness localized to small part of a program. But I find it all not much more complicated than working with pointers in C. Perl run-time checks (use strict) help here too.
MS has irregular release cycles but they currently say they will support each version of windows for at least 7 years after it's successor is released. Hell even microsofts service packs have longer support overlaps than ubuntu's LTS releases.
This is very very bad example. Because MS upgrade cycle is true disaster as software companies concerned.
The point is that MS time after time has to push critical updates which in fact change OS API. That in Linux is version bump - but in Windows you essentially have to perform extra check for all relevant library versions before you can actually recognize what precisely version of Windows you have. Windows essentially has no version numbers. Those which are easy to see - are meaningless. (This is btw where the DLL hell sprouts from.)
In Linux it is much clearer. I have seen number of scripts to check for OS vs. commercial software compatibility and the checks are magnitudes simpler than that Windows install.exe/setup.exe software has to perform.
Also, in Linux, even major upgrades all over the place play little role: software can still install in parallel library versions they need.
From point of view of user, there is no notable difference between Linux software installation and Windows software installation (modulo dll hell because under Linux, unlike Windows, different library version have different names).
While many people do run operating systems that are no longer getting security updates it is not something I would generally reccomend especially if the user is relying on the OS supplied web browser,mail client, im client etc.
True, yet some do it out of plain laziness.
What's more, there are number of volunteers who support *buntus after Canonical stops supporting them. Considering that automatically hacking Linux (as botnet owners do with Windows) it much more elaborate and less rewarding task, at the moment the problem isn't that huge as it might seem.
But then again, for the purpose there are LTS releases. And, if you ask me, three years release cycle with upgrade window of 18 months is one hell of a luxury you'll never get from MS.
And to think it would be 15+ years to the next language which would integrate standard data structures right into language is really a shame.
Most languages try to create "the language." Perl always wins by simple fact of being first and foremost "the tool," and only then "a language."
If with normal language, you spend some time learning syntax, with Perl you first learn to do some work by picking scripts on the Net. Then you try to combine the scripts - and find that it is possible indeed and the abracadabra beneath is a neat programming language.
Business went away, but nobody's missing it.
P.S. ... and do not forget to google for "free flash games".
It was long before I have noticed that at least once per week I get from a friends a link to some fancy flash game of the day.
Even if people say that patterns are overused, [...]
In University, on all math related courses we were strongly prohibited using calculators or PC software to solve assignments.
Point is not that design patterns are overused, but that people do not learn to think for themselves and go on copy pasting examples.
To become decent developer, you have to be able to figure out solution to problems yourself without consulting books.
On flip side, the only effect of design pattern application I have seen is exponential growth of code base size: piles of crap code doing nothing else but implementing the patterns, instead of actually solving the problem at hand.
First time I have stumbled on design patters in code, I have managed to make out of very beautiful and well referenced ~120 classes, >1MB object code library something what actually didn't crashed, didn't hogged CPU/memory, was easily reviewable and actually worked. And it all took to me about 15 plain, design-pattern-free classes and 100K of object code. Feel the difference.
- Object Oriented Design and Analysis by Booch/etc.
One of the best books on object oriented programming. Very hard to read and grok all the concepts. Covers many aspects on all phases of software development.
- Programming Perl by Larry Wall, Tom Christiansen & Randal L. Schwartz.
For a *nix guy, Perl is irreplaceable tool for solving randomly popping up problems. Easy read, but need to read Learning Perl first.
- UNIX Power Tools by Jerry Peek, Tim O'Reilly & Mike Loukides.
Great book on learning stupid tricks one can do in *nix. Most tips are outdated, yet many ideas are quite relevant even in Linux today. Took some time to read it, but was very rewarding.
- Art of Unix Programming by ESR.
Delves into many things. Great help to get an overview on how people do things and most importantly why. Read in one gulp in less than two days.
The point here is that Apple has no obligations to PsyStar to license Mac OS X.
The Apple's business model is strictly vertical: they produce everything by themselves and keep all stuff under their own copyright and branding.
Apple by definition has unlimited monopoly on its own product.
Most software companies license and sell their technology and software. But not Apple. The case would have been different is Apple had Mac OS X licensing program, but discriminated against PsyStar by excluding them. That would be against the law.
Apple's product is not "Mac OS X" - it is "Mac". Mac OS X is only small integral part. You can't take it out of "Mac" without permission of Apple: it is not licensed for that. The Mac OS X license is there to protect Apple's brand and business model and very likely would be enforced by the court.
That's I presume what gp meant and I agree with that.
I believe they have changed that in 2.1 too, but in earlier versions to allow external connection to guest virtual machine, non-trivial bridge configuration process on host was required.
By default VBox (and that didn't changed in 2.1) uses NAT: VM can access everything, yet nothing can access VM. (Unless of course you are verse in back draft tunneling skill over e.g. SSH).
Sorry to not to make my point clear: Apple DRM is not worst one out there. And it is packaged well: it was not only one of the first DRMs, it was actually really first (and probably only one) to work as advertised from day one.
I'd say we have DRM-free shops now because **AA finally understood that to have DRM which customers would want to buy into is technically very challenging. And DRM **AA wants can't really scale to the level of demand for the content and (most importantly) it can't accommodate the various business models already existing around content distribution.
And actually now requirements for functioning DRM are pretty clear: single hardware vendor, single software vendor and single content gatekeeper. How the vertical model, existing solely on lack of competition, is healthy for the market? Judge yourself.
The average user is more than willing to pay more money for hobbled music because of user interface, ease of use, and marketing.
There is an escape from Apple's DRM: just burn tracks on music CD.
On other side, many companies really disregard the time. The time user has to spend on doing something silly and stupid. Apple was always good on removing the artificial barriers and negotiating compromise where it doesn't hurt users. (But it's not that Apple is clear on all DRM charges.)
From my personal experience, I would easily overpay for something what requires little of attention and just works. Though most of my friends prefer to spend time searching for better deal, spend time getting into the deal and then spend even more time trying to make it work in the end.
IMHO, good accessibility is also feature and I do not mind paying extra for it. Though you never find accessibility on official list of features.
Right now iTMS holds really little of advantage over other stores, so the point of RTFAs stands. Yet, now the time Apple invested into building user loyalty is simply paying back. iTMS competitors shoot themselves so many times in all the possible foots and they would need considerable time to gain the trust back.
P.S. And thanks to misleading **AA campaign many believe that Apple's DRM is norm of life. And that I believe is bigger problem.
I use HP-UX and Solaris on daily basis: business software of my employer run there.
You have to try to do something on Unix once to start seeing that Linux is not Unix and start hating Unix.
Solaris e.g. still doesn't install any capable text editor by default. You end up with original 'vi' which was last update 1996 and still doesn't support arrow keys (actually it's worse: it interprets unknown key sequences literally). But Solaris is paradise compared to underwhelming HP-UX, where you really end up with bare minimum. Infamous messages "line too long" from awk or sed (yeah, they still do not handle strings longer than 1000 characters). Lack or recursive grep, when you have to pipe 'find' to pretty much anything - but what is not always possible.
Default install of any Linux is quite usable. Default install of both Solaris and HP-UX is miserable torture. (*) For business software, with all its bogosities and hacks, commercial Unix is better: they provide workarounds for literally everything. But deploying (process which takes months) anything on Unix is royal pain. Using Unix daily - is even more so.
Apparently, Unix degraded to some backbone OS: spend five minutes installing something and then just monitor it remotely. That works and works really well. But if you actually need to do something on them ... forget. It is simpler to rewrite every tool they supply in Perl and be with it. Linux on other side looks like it is actually used - actively - by all kinds of people: it is much more polished and can be used painlessly on daily basis without rewriting anything.
(*) Most bogosities of Unix can be worked around by compiling e.g. GNU tools or any other functioning analogue. But there is a catch: Unix doesn't come with compiler preinstalled or even if it is installed it is pretty much incapable of compiling anything big (e.g. gcc). That's the way Unix vendors remind you that they also sell separately commercial compilers and you are welcome to buy them.
Then you must be BSD old timer. That's the only group I have seen could digest 20yo file-tools/text-tools as compared freshened up 10 years ago GNU file/text-tools. You do not need to explain me how typing twice more is superior to typing twice less. I will not get it. I'm on command line 99% of time and every character I do not need to type counts.
P.S. Administrative tools - no need to argue: Solaris have huge advantage.
Solaris is used by many businesses and having always at hand system running similar system helps a lot.
I know number of people who would happily replace Linux on their lappies with Solaris: confusion from reading wrong man page caused not once delays in various projects.
But it's really about having a choice. Provided that OpenSolaris uses GNOME there should be only few regressions, as pretty much nobody willingly uses Solaris command line.
Though personally, I wouldn't trade my aging Linux PowerBook for the new OpenSolaris notebook. /me addicted to Linux. /me hates Unix.
Somehow most previews don't even mention power consumption.
Had you RTFA properly, folks have mentioned that card is not yet officially out and nVidia asked to withheld further details as BIOS might still get tweaked.
By that logic everything which does not start to burn is power efficient...
This is not an absolute metric (or is it "yardic" in US?). I presume they compare it to 4870 on which the infamous DDR5 alone - even when idle - draws whooping 40W. 4870x2 has already tweaked factory BIOS and yet twice more DDR5 still consumes same 40W. Yes - RAM alone consumes 40W.
I frankly do not care about Apple after Jobs.
Even if they would survive, I'm not going to buy it.
The Apple survives now as it is solely because Jobs is there to fend off shareholders drooling over turning Apple into low risk franchise akin Dell.
Or in other words: Jobs is the driver of the innovation. Without such creative and authoritative person in charge, company would turn into one of the bleak gray box producers out there.
I was tempted to write the exceptions - confirming the rule.
And that would good example of the mess Linus describes in linked by ggp post.
I can say for sure that I run a lot more C++ programs on a daily basis than Java ones.
Business software of company I work for is also written in C++. And it works. Sometimes. Somehow.
Frankly, it is impossible to compare OSS C++ projects like KDE to commercial C++ software. KDE is open, gets tested by thousands peoples and hundreds look into its source code. It is very very clean.
But on commercial front, few companies outside of MS really invest into making good product and as long as it runs and can be sold - they will sell it. It is cheaper to order out-sourced development of new version as compared to making actual product good.
As C++ developer I'm of course would be critical about many issues. And really customers do not care how much overtime developers spent on fixing trivial issues which thanks to abuse of basic C++ features were made the trivial issues into elephant in the room.
Java programs I find generally to be of higher quality. But it is changing now too. Before, Java programmers were in might tighter space: Java resource consumption gets out of hands easily, stupid code degrades performance terribly. But nowadays Java programs start to look more and more like C++ programs since modern computers have much more resources and you do not need bright heads to write decent Java application anymore: you can get cheap right-out-of-university out-sourced folks who would write something you can sell.
The difference between C++ and Java was that most of stupid things in C++ worked good enough. In Java they worked terribly so people were fixing them. But now, due to advances of hardware, Java lost its advantage of being strict on developers and amount of crap I see in Java programs started increasing steadily.
It doesn't really depends on programming language: it depends on developers. Most C++ developers are spoiled with tons of silly libraries and uncountable number of hacks C++ allows. As Java heads in the same direction (just compare JDK 1.0 to 1.6) now allowing programmers even more hacks than C++, you can expect developers to start using the hacks. As results, quality of Java programs would soon reach the same level as of C++ programs now.
Some OSS projects enforce discipline with review process. Some OSS projects can't afford review and choose to stick with more explicit languages. Commercial software generally never gets reviewed (MS and Adobe being notable exceptions).
C++ would be Islam
The only problem I have to validate the statement, is that I have never seen single C++ follower. C++ is like Windows: everybody ended up using it, before they were even being give a choice.
Linus rants are mostly valid - from pov of system programmer.
But frankly, I yet to see any well written large scale C++ project. It's way too easy to workaround some programmers bogosities. Strict typing on one side was thought to help programmers to write better code, yet on another side, operator overloading mixed in, it allowed to pack loads of crap into pretty innocent statements like "a = b;"
C++ ends up pretty quickly unreadable. Unreadable means that it is also untestable and unmaintainable. Essentially, in many C++ project, people end up rewriting large chunks of code pretty often. And I witnessed that quite often. Yet, pretty quickly even new and shiny pieces of code gets bloated with the "real world" stuff - no less to make it working - turning it again into unmaintainable mess.
Yet, except for C, there is no other language so widely adopted. With good development discipline, one can make even in C++ good programs. It is just that corporations generally try to oust good programmers who also often happen to be disciplined programmers.
Java would be Fundamentalist Christianity
C# would be Mormonism
*NOD*
Perl would be Voodoo
As I have said - this is normal risk based evaluation.
If you have huge install base of anything, you get sensitive as to not ruin everything with e.g. bad budget decision or system update.
SCO? Didn't even registered. CxO's do not read news anyway. And for the rest they have legal counsel on board.
Novell? Same thing. Many companies deployed Linux as cheap backbone for everything what is of Unix origin. Linux in enterprises is most popular for Oracle: RH and SUSE invested heavily into making Linux good Oracle platform. DB, Java, proprietary apps ported from Unix - all that runs on Linux happily. Yet, if you want to deploy Linux as replacement for Windows servers, few CTOs would immediately get excited about the savings. The problem is that risk is too high: M$ with single update to Windows clients can ruin whole infrastructure. Huge companies have phone support from M$. And not some out-sourced support - but real support from M$. If there is a problem, in a matter of few hours you would get M$ engineer helping you resolve problem. That essentially means that M$ alleviates the risks by providing supreme support options to its customers. And support here means that M$ really solves the problem - complaining that some 3rd party (from pov of Linux provider - M$ is 3rd party) did change something won't do. And now that's where Novell enters. They are perfectly positioned to allow CTOs painless migration to the Linux, because they can be called responsible for problems integrating Linux and Windows together. There is no other single company which have any kind of agreement with M$.
And Novell has the experience with huge enterprises, what RH is plainly missing at the moment: RH was and is after Unix server market (what is kind of cheating, as Linux is free Unix implementation), Novell tries to make a dent into Windows server market (a.k.a. missing impossible).
IMHO, enterprises drove themselves into the M$ lock-in. It's theirs problem. But I'm pretty happy to see that some new companies install all-Linux infrastructure - what is true solution to the whole Novell-M$ debacle problem.
If I am a linux user, then Microsoft's attempts to make all distros - except for msft approved distros - illegal, certainty could affect me.
Please answer the following question sincerely: do you still believe in Santa Claus?
Please learn basics, GPL v2, v3 being a good start.
You have a short memory. YaST was non-free not so long ago. I think Novell made it free software after they bought SuSE.
Well, in the days I used SUSE very extensively. And, no, SUSE never tried to hide the fact that they ship and install non-free software.
What's more, if you would dig you memory, you might recall that they pretty much from day one were stating that it is impossible to build good OS with only free software. And they were always shipping commercial software. e.g. SUSE was first Linux to include movie editing software - in the times when there was no F/LOSS alternatives. They were also shipping MP3 support - because they acquired license for that. (*)
SUSE was openly stating that they are per se not free. You can make out of SUSE free OS - yet you would loose lots of functionality, making OS non-starter in any OS comparison. And SUSE was always comparable versus Windows and Mac OS.
(*) Freely downloadable ISO image not always included all goodies of the boxed retail version.
Deal is between M$ and Novell. Between you (as user) and Novell stands GPL. Users are NOT affected by the deal.
If Novell truly goes to dark side... Stop. Actually, if you read history of Novell, you would notice that they are of the dark side: company run by lawyers (M$ being company run by sales).
Though point stands: flaming Novell for deal with M$ is silly and pointless as it doesn't affect normal SUSE users. On other side, business users (== paying customers) are more than happy about the deal and its future potential.
Finally, the anti-Novell trolls bring nothing to discussion, generally pissing on stuff I personally do not care - e.g. Mono or Moonlight or OOXML. I personally program in Perl, watch Flash movies and use ODF. I'm (as most of the SUSE users) in no part influenced by the deal (disclaimer: do not use SUSE at the moment).
I would mod up any informative post about e.g. Novell crippling GPL'ed software to please M$. Yet, only the same senseless rumors are getting repeated over and over again, bringing nothing new to discussion. So how should I mod them?
A reasonable alternative is to use a distribution which keeps a clear distinction between free software and non-free.
Unlike RH and some other companies, Novell didn't claimed any openness until community shaped around openSUSE.
Just recall Fedora earlier days: RH claimed it was open (in whatever sense they meant it), yet RH retained rights to do whatever it liked with it. And there was no community - or rather original Fedora community was simply excluded from the development process.
Novell did it right - they learned mistakes of Fedora and did none of them. They first forked and opened distro, assigned internal developers to it. Then they started listening to needs of people who actually wanted to participate. Time have passed and now most of the participation processes are established: anybody willing can participate. And now they claim that they are open. It can be better only in Debian.
+1.
A reasonable alternative is to use a distribution which keeps a clear distinction between free software and non-free.
SUSE always made clear distinction between commercial/non-free software they include and core OS. Core OS always was and is GPL'ed Linux.
All software is installed with rpm - you can always grep for license.
Ironically, I know companies which started Linux (SUSE) adoption upon hearing the news about collaboration.
If nothing else, that was one huge pitch to use Linux coming from nobody else but Microsoft itself.
If you have business and have heaps of Windows servers and Windows clients, adopting something (e.g. RH or Debian) what isn't targeting heterogeneous environment where M$ dominates, is plain too risky. With SUSE the risk is much lower and calling Novell support on M$ vs. Linux compatibility is already an option. Try calling RH and complain that RHEL doesn't connect to Windows (or vise versa).
No, I personally do not like that Novell cooperates with M$. Yes, it is sound business decision which is needed now to spur wider Linux adoption. I hope that famous Novell lawyers know what they do. Let the GPL be with them.
Kids, you read too much of rabbid flames...
As I'm concerned, SUSE is good OS. Let the rest be sorted out by GPL.
auto-flattening lists and requiring explicit references to do nesting is insane.
Care to elaborate where your problem is?
I in fact the auto-flattening a nice feature which allows for many silly and useful tricks (e.g. prepare list(s) with arguments to function, dynamically lookup function reference, call by references supplying the list)
Explicit references are pretty handy too. After all, normally you do not use references at all. For most of the things plain data structures (without nesting) are sufficient. And even then, if you have deep nested structure, by adding extra functions to work on primitive types (hashes, lists), you can keep referencing madness localized to small part of a program. But I find it all not much more complicated than working with pointers in C. Perl run-time checks (use strict) help here too.
MS has irregular release cycles but they currently say they will support each version of windows for at least 7 years after it's successor is released. Hell even microsofts service packs have longer support overlaps than ubuntu's LTS releases.
This is very very bad example. Because MS upgrade cycle is true disaster as software companies concerned.
The point is that MS time after time has to push critical updates which in fact change OS API. That in Linux is version bump - but in Windows you essentially have to perform extra check for all relevant library versions before you can actually recognize what precisely version of Windows you have. Windows essentially has no version numbers. Those which are easy to see - are meaningless. (This is btw where the DLL hell sprouts from.)
In Linux it is much clearer. I have seen number of scripts to check for OS vs. commercial software compatibility and the checks are magnitudes simpler than that Windows install.exe/setup.exe software has to perform.
Also, in Linux, even major upgrades all over the place play little role: software can still install in parallel library versions they need.
From point of view of user, there is no notable difference between Linux software installation and Windows software installation (modulo dll hell because under Linux, unlike Windows, different library version have different names).
While many people do run operating systems that are no longer getting security updates it is not something I would generally reccomend especially if the user is relying on the OS supplied web browser,mail client, im client etc.
True, yet some do it out of plain laziness.
What's more, there are number of volunteers who support *buntus after Canonical stops supporting them. Considering that automatically hacking Linux (as botnet owners do with Windows) it much more elaborate and less rewarding task, at the moment the problem isn't that huge as it might seem.
But then again, for the purpose there are LTS releases. And, if you ask me, three years release cycle with upgrade window of 18 months is one hell of a luxury you'll never get from MS.
Hehe...
And to think it would be 15+ years to the next language which would integrate standard data structures right into language is really a shame.
Most languages try to create "the language." Perl always wins by simple fact of being first and foremost "the tool," and only then "a language."
If with normal language, you spend some time learning syntax, with Perl you first learn to do some work by picking scripts on the Net. Then you try to combine the scripts - and find that it is possible indeed and the abracadabra beneath is a neat programming language.