Slashdot Mirror


Compiz Project Releases C++ Based v0.9.0

werfu writes "Compiz 0.9.0, the first release of Compiz rewritten in C++, has been announced on the Compiz mailing list. See the announcement for more info." Compiz has for years been one of my favorite ways to make Windows users envious, despite my (Linux) systems' otherwise low-end graphics capabilities. Besides the switch to C++ from C, this release "brings a whole new developer API, splits rendering into plugins, switches the buildsystem from automake to cmake and brings minor functionality improvements."

39 of 237 comments (clear)

  1. Wow! by Jugalator · · Score: 5, Funny

    I'm excited to learn about more software using this new programming language of the future!

    --
    Beware: In C++, your friends can see your privates!
    1. Re:Wow! by AnonymousClown · · Score: 4, Funny

      troll or idiot?

      People with preternatural foresight will often look like the idiot or a fool.

      I think the grand parent sees the potential of C++ and a bright future for this new and advanced language!

      --
      RIP America

      July 4, 1776 - September 11, 2001

  2. Re:Objects... by daid303 · · Score: 2, Interesting

    I think it's because if you want all the shiny bits of objects and encapsulation then you use Java. If you want raw speed & dirty tricks then you use C.

    I favor C++ myself, but I'm a huge fan of breaking encapsulation.

  3. Re:favorite way by uberchicken · · Score: 2, Insightful

    -1, linux zealotry bordering on FUD

  4. Summary Fail by drinkypoo · · Score: 5, Interesting

    The relevant words from the announcement are "complete rewrite". Or in simpler terms for the users, you do not want to run this until it reaches 0.10 (also as per the article.) This is a development and not stable release. (Sure would be nice if they would go 1.0 instead of .10 if it's going to be a stable release...)

    Here's the stuff from the announcement interesting to users:

    Rendering framework split into the composite and opengl plugins, the former
        making compiz a compositing window manager and the latter performing that
        compositing using OpenGL. Such a split will allow new rendering plugins such
        as XRender and Clutter to be developed as well as for compiz to run as a
        non-compositing window manager

    Added support to drag windows to edges and have them fill the adjacent side of
        the screen

    * Added support for automatic wallpaper rotation
    * Added edge support to grid plugin so windows can easily be resized by dragging
        to an edge or corner

    Everything else is of interest only to developers...

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  5. Re:favorite way by AnonymousClown · · Score: 2, Insightful

    -1, linux zealotry bordering on FUD

    Nah. He's karma whoring.

    --
    RIP America

    July 4, 1776 - September 11, 2001

  6. Re:favorite way by ZERO1ZERO · · Score: 5, Interesting

    Compiz doesn't actually use that much system resources, nor strain your hardware either. It uses your gfx card to do all the work, which otherwise would be doing 99% nothing in most other circumstances anyway.

  7. Re:Objects... by Anonymous Coward · · Score: 3, Funny

    Fun fact: I knew somebody who added a preprocessor step to his compile process to make every class as a friend of every other class, because he was tired with "not being able to use the pesky private stuff in coworker's cold".

  8. First release of merged branches by NewToNix · · Score: 4, Informative

    This is a first release after the reunification of the Compiz, Compiz++, NOMAD and Compiz Fusion branches. It's unstable, but at least it's good to see all the effort coming under the same roof again.

  9. Re:Sensible choices'r'us by Stumbles · · Score: 2, Insightful
    Oh yes, cmake is really complicated compared to the autotools build stuff. I mean I really enjoy fiddling around with all the *.in, *a4, *.am, ltmain.sh, etc just so I can do; ./configure --help.

    But then I guess you have never tried to use cmake; else you would not have made the ignorant statement about its incomprehensibility. If you have never used autoconf, automake, make, libtool, m4 and friends it would be just as incomprehensible.

    --
    My karma is not a Chameleon.
  10. Re:Objects... by Shados · · Score: 2, Interesting

    The point is that its niche. The range of situations where you need raw speed, yet by-the-book OOP doesn't slow you down too much is very very small. Games and large commercial desktop apps are basically it. Line of business apps will usually go .NET or Java, web apps will go PHP, .NET, Java, PERL, Python, whatever. Drivers will go C/Assembly, specialized backend systems will go C/Assembly, etc.

    There's exceptions to everything and i realize this is a gross generalization, but overall it stands, leaving C++ in a pretty small (but significant nevertheless) niche as opposed to C. You need too much speed to use the more high level solutions, but not enough speed to require C or assembly...

  11. So.. what is it? by bakuun · · Score: 4, Insightful

    It'd be nice if the summary contained at least a sentence describing what the software actually does.

    1. Re:So.. what is it? by christoofar · · Score: 4, Funny

      It sucks the paint off your house and gives you and your family a permanent orange afro.

    2. Re:So.. what is it? by L4t3r4lu5 · · Score: 3, Informative

      Nothing useful. It's eye candy, like a turbo-charged Aero Glass with 3D effects.

      I use the cube desktop switcher and that's it. For some reason I find the idea of a cube easier to map out my mind when I have several windows open than a chain of 4 desktops.

      --
      Finally had enough. Come see us over at https://soylentnews.org/
    3. Re:So.. what is it? by Jahava · · Score: 3, Insightful

      Nothing useful. It's eye candy, like a turbo-charged Aero Glass with 3D effects. I use the cube desktop switcher and that's it. For some reason I find the idea of a cube easier to map out my mind when I have several windows open than a chain of 4 desktops.

      So in other words, you find at least one aspect of it to be very useful. While some window effects are just pure eye-candy (e.g., wobbly windows), many of the added desktop effects provide various degrees of enhanced functionality. This includes:

      • Desktop presentation, be it cube, zooming, or task switching, can be molded and animated to allow the user to better understand and utilize the multiple desktops.
      • Transparency allows information to be literally overlayed, decreasing the intrusiveness of upper-stratum menus and windows.
      • Various effects can tag and categorize different applications or application states (active, inactive, shaded, etc.)
      • The added capabilities allow enhanced usability tools, like magnifiers and mouse location, to be well-integrated and seamless.

      Don't dismiss the suite as just eye-candy; if the main perception of Compiz is that it exists only to make things more fun and prettier, then its overall value to the desktop is understated.

    4. Re:So.. what is it? by SCHecklerX · · Score: 2, Insightful

      Don't forget window grouping and tab groups. I use that a lot. Expose is nice for managing multiple desktops as well.

  12. Re:favorite way by Rogerborg · · Score: 4, Interesting

    I use a variety of POSIX operating systems 95% of the time, at work through necessity, and at home through choice. And because I use them, rather than despite it, I am compelled to respond.

    Fewer viruses

    And drunken cheerleaders get date raped more than shut-in nerd chicks. Personally, I prefer nerd chicks, and you likely do too, but most people don't. Really, they don't, and there's no use telling them that their opinion is wrong.

    Lower cost of ownership

    If you don't value your time. For the latest of many, many examples down the years, I 'invested' 3 hours this weekend trying to get WiFi with WPA working again after upgrading my wife's box from Ubuntu 9.10 to 10.04. Verdict: the rt73usb driver has (yet again) returned to a state of porkage, so it was (yet again) ndiswrapper and Windows drivers for the eventual win.

    CLI/scripting system that actually works

    Until of course you try and run a script written for fooshell on barshell, i.e. when a distro changes its shell.

    Most open source software runs on it

    Can be made to run on it, given enough time.

    Drivers for just about any piece of hardware ever built

    If you limit "ever" to "older than two years or so". But sure, many of the drivers give the appearance of working tolerably well, for a surprising amount of the time! And when they don't, well, there's ndiswrapper, or we'll-fix-it-in-the-next-release, or you've-got-the-source-compile-a-previous-version-yes-we-know-it-doesn't-build-against-your-kernel-headers-or-gcc-version-fix-it-yourself-you-filthy-M$-shill.

    No blue screen of death

    Ain't seen on one Windows for years.

    Not nearly as resource hungry (unless of course you use Compiz :-)

    Granted. Oh, unless you've got a driver bug, which you almost certainly do if your hardware was designed this millennium. Then see above.

    Penguins way cooler than butterflies

    By that measure, that would mean...

    But the easiest way of making a windows user envious is to use a mac

    ...that.

    This is not the year of Linux on the desktop (or the netbook). I thought we were there with Ubuntu 10.04, but it's actually a regression from 9.10. I'd just recommend 9.10, but that's effectively abandonware now, just like all previous versions of all Linux distros, "LTS" included.

    Again: I'm writing this from Ubuntu 9.10. I've got RHEL5 in that VM over there, SUSE 11 yonder, Solaris in that shell, and even SUA on Windows (tastes a bit like POSIX). I'm happy with POSIX OSen. But I would not recommend them to a Joe Windows user, ever, since I don't want to be their Support Guy from now until there's a distro that actually Just Works.

    --
    If you were blocking sigs, you wouldn't have to read this.
  13. Re:favorite way by KiloByte · · Score: 5, Informative

    In fact, on old systems with a graphics card it is significantly faster than the traditional way of redrawing windows.

    Why? Because:
    1. the gfx card can do part of the work
    2. all windows are already drawn and kept in the graphic card's memory

    --
    The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
  14. Re:Objects... by js_sebastian · · Score: 5, Insightful

    I understand, but for speed I expect that C++ still outperforms Java, and while C should outperform both of them, C doesn't feature encapsulation, polymorphism and all the other goodies that OOP provides.

    No, C is exactly as fast as C++. C++ only becomes slower if you use certain features that have a performance impact. Example: if you use exceptions, there is a performance penalty. If you don't, you don't get the performance penalty. That is one of the design principles of C++: nothing can be included into the language that slows down code that does not use/need it. The main slow downs you will see in your average C++ program, over the corresponding C, is the use of the string class as opposed to the nasty but fast strcpy and friends, and the extra indirect function calls due to virtual functions (which causes a branch misprediction and hence a pipeline flush on modern cpus, costing you a bunch of clock cycles). Still, you only pay for virtual if you choose to use it, and manually implemented virtual function calls are used all over the place in good old C, with the same effect. Furthermore, C++ templates allow code re-use with exactly 0 performance loss and while the error messages are ugly, they're still a whole load prettier than doing the same thing the C way with recursive includes and lots of preprocessor madness. And you can link to existing C code/libraries without any problems. Frankly, there is no valid reason for starting a new program in C in this day and age.

  15. Re:favorite way by Jurily · · Score: 5, Informative

    No, karma whoring is to post something completely obvious you know will be modded up and not add anything to the discussion. Like this comment.

  16. Re:favorite way by CastrTroy · · Score: 3, Insightful

    Fewer Viruses - While this is technically true, most viruses I've seen installed on users machines are the result of users actively clicking and running an executable on their machine. While not running in root mode by default on Linux helps to prevent some of the damage, I think a virus running as a regular unprivileged user could still cause a lot of damage. This is also ignoring the fact that if the same incompetent users if presented with a message asking them to perform administrator actions for no reason at all would still click on "Yes", even if there should be no reason for them to do so, as long it promises smiley icons.

    Lower cost of Ownership - Last time I went shoppping for a computer, I didn't see any discounts for not having Windows installed from the get go. Either you go with Dell/HP/Lenovo, and they only offer windows, or when the offer Linux, it's the same price, or only a little cheaper, but you get a lot less selection of machines you can get. The other option is to build your own machine from off the shelf components. This is my favourite option, as you can get exactly what you want, but you will end up spending more.

    CLI/Scripting system - Almost nobody except tech geeks cares about this. Also, Powershell on Windows isn't all that bad. It has its pluses and its minuses.

    Most open source software runs on it - Most all of open source that is worth running will run on Windows. Maybe not all of it, but most of the more important stuff. Conversely, almost no closed source software runs on Linux. Which might not matter to you, but if you're trying to get work done, having things like Photoshop, Outlook (hate it but necessary for business), and many other closed source programs, makes a big difference.

    Drivers - Sure you get drivers for all the old stuff. But are you sure that shiny new piece of hardware that just came out last week will run to its full potential. Probably not. And there's also plenty of older hardware that I had that I couldn't run on Linux.

    No Blue Screen - I haven't seen a blue screen on a Windows machine in many years. And when I do, it's usually because of bad RAM, causing something to get corrupted. Blue screens still exist, but they don't happen quite as often as they used to. I imagine most Linux systems would also crash pretty badly when they have bad memory.

    I'm not some Windows Zealot. I use Windows when it makes sense, and I use Linux where it makes sense. But I don't really think that that any of the reasons you mentioned are valid. Especially if you're talking about home desktop use. Which in the case of Compiz, is exactly the kind of people we are talking about.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  17. Re:Objects... by neonsignal · · Score: 2, Insightful

    I suspect the efficiency gap between C and C++ is smaller than you think. Even if you are very strict about encapsulation of objects, you'd be very unlikely to add more than 10% to the run time. And as others have pointed out, making use of features such as templating can actually help the compiler generate more efficient code.

    C++ was designed so that it adds no overheads to imperative code, while the OOP constructs such as member functions have only one extra parameter (and one level of indirection for virtual functions). Often the extra parameter would have been passed in C anyway, as a pointer to some data structure.

    There are more prosaic reasons why C has persisted. There is the inertia of a large group of programmers who have grown up on procedural languages, with a significant learning curve to switch from this to object oriented programming (even in the scripting world, one sees the still widespread use of imperative paradigms such as in PHP). There is the widespread availability of good C compilers. There are the improvements in the C language, including some features adopted back from C++. There is the existing body of code. There is the historical lack of support for objects in operating systems and associated libraries, so that link formats are oriented towards C procedure calls rather than C++ objects. But these reasons have nothing to do with raw speed.

    Where scalability is less important, I can see why Java (in a web context) or languages based on .NET (in a Windows context) might be seen as alternatives. But I would suggest that this is because they integrate better into their context, rather than because speed doesn't matter.

  18. Re:BS by Culture20 · · Score: 4, Insightful

    * Lower cost of ownership - BS, too much time is spent hacking up config files to make crap work or work right

    On Windows, too much time is spent hacking up the registry to make crap work or work right. Just this last Thursday, I had to manually scan the registry to delete every reference to a printer driver that kept killing someone's spooler service... because the spooler service needed to be running to delete the printer normally. If it had been a unix system, I could have just edited a line in a file and been done.

    * CLI/scripting system that actually works - BS, anything you can write and make work in Linux, I can in Windows

    Using cygwin, bash compiled for Windows or DOS, or other scripting applications that are not guaranteed to be on every Windows system.

    * Most open source software runs on it - Show me anything worthwhile that doesn't run in Windows or have a better alternative there

    Well, Linux runs in Windows, so I'd say you've won this argument.

    * Drivers for just about any piece of hardware ever built - BS, that's the primary thing most users have issues with, half baked drivers

    Half-baked drivers in Windows XP, Vista, and 7. That printer driver mentioned above? It was an HP driver written for and installed in Win7 64bit.

    * No blue screen of death - Agreed, but I haven't seen one yet in Win7

    I haven't either, but I have seen a Win7 machine reboot constantly (the equiv of BSOD since Win7 is set to reboot on fail).

    * Not nearly as resource hungry (unless of course you use Compiz :-) - Agreed, but neither was Win98 which is typically how Linux feels

    I still have Win98se running on an old machine for old games. Win98se is actually snappier than modern Linux, which is in turn snappier than WinXP/7. How much window compositing did Win98se do? Firewalling? Multi-user? Even the 1998 version of Linux had multi-user support and ipchains.

    Mod me down if you want to, but I've yet to have Windows drop me to a command prompt after an video card driver update

    I've had it boot up to a BSOD, which looks worse than a command prompt, or a blank screen where I had to remote in or boot up in safe graphics mode.

    [I've yet to have Windows drop me to a command prompt after an] OS update (Ubuntu anyone?)

    I've had it boot up to a BSOD, which looks worse than a command prompt.

    or had to recompile sound drivers after every OS update (Ubuntu on that one too).

    I wish I could. Sometimes vendors take years to get their sound drivers working. Google realtek, imac, and Windows 64 bit.

    My file manager will display in a column what date pictures were taken so I can categorize them accordingly, can yours do that? It couldn't the last time I checked.

    This is the first time that I ever checked. No, it does not, but it could with a little quick editing. Right clicking and selecting properties shows that the Gnome file manager (didn't check KDE) can see the image properties, including "Date Taken", so the information is there. Linux users are probably just better mentally organized, and name their photo directories YYYY_MM_DD

  19. You mean, nothing for you, right? by Seth+Kriticos · · Score: 2, Interesting

    I have to agree that the cube is useless (and I don't use it).

    There are a number of plugins that increase productivity a lot though, namely the scale, desktop wall, expo, app switcher and zoom plugin. Problem is: the default configuration is not designed to be useful, but to be easy.

    While installing new systems, I install the CompizConfig Settings Manager, and then set up the plugins for efficiency: I basically map common window functionality to screen edge/corner clicks with the mouse.

    Base setup is 6 (2x3) desktops. I move between these desktops by clicking one of the edges (depending on which direction I want to go - up/down/left/right) of my screen with the right mouse button.. See the overview (expo) with right click to the top-right edge. Alt-tab/Alt-shift-tab with mouse button clicks to the top left edge (app switcher), and see open window overview with right/left clicks to the bottom-left corner of the screen (scale).

    This (combined with select - emulated middle button pasting) effectively enables me to do all activity you'd normally need mouse+keyboard to do with keyboard only.. and that very fast and instinctively.

    Guess what you wanted to say is: the default configuration could use some tuning. Problem is: though this improves baseline productivity and is very fun when being used to it, it violates the common desktop paradigm that every desktop function has to be an icon, or context menu. In other words, setting it up in a useful manner involves thinking and learning a bit, which most folks seem to avoid by all means. (no offense).

    1. Re:You mean, nothing for you, right? by Seth+Kriticos · · Score: 2, Interesting

      Ah, sorry, wrong wording. Actually, I just wanted to expand your comment. In my experience (and I spent quite some time on it) much of the usefulness of compiz is a matter of configuration.

      So I'd rephrase my leading comment to "the desktop cube is useless to me". But that's what I like about being able to adopt compiz to my bidding. People are different, and I can adopt compiz to my preferences while not bothering you. :)

      People should be aware of how the work and see how they can adopt the tools to make the process more efficient. And in the content of the comment I tried to show a method, well my method of how I did this.

      Context: I'm a horribly lazy person. That's why I spend a lot of time optimizing things. I learned Dvorak SDK and VIM for that reason, and did the same for compiz for exactly the same reason. I admit, the customizations that I did are not really obvious.

  20. Re:favorite way by drinkypoo · · Score: 3, Informative

    Compiz doesn't actually use that much system resources, nor strain your hardware either.

    I have a 3.2GHz tri-core Phenom II system with a GTS 240 (~400MHz, 96 stream processors) and Compiz will easily consume 5% or more if you have a window with continual graphics updates, like a game or a video player. That's a lot of CPU! You can manually disable transforms on that window but that requires a visit to the settings manager that would leave the average user dumbfounded.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  21. Re:Objects... by daid303 · · Score: 2, Interesting

    Why would you want to break encapsulation?

    Speed. Lazy. Debugging.

    And in C you can have encapsulation, polymorpism and all other goodies OOP provides. C++ just makes it easier. For example many libraries don't export the contents of structures in the exported header files. zlib for example gzopen() returns a "gzFile" which is a typedef void*, and doesn't expose any internals.

  22. Re:Objects... not as easy as they sound by Rob+Y. · · Score: 2, Interesting

    I would imagine that the biggest performance hit for C++ vs C is just the fact that most objects make extensive use of memory allocations. C++ makes this 'safer' than in C, and so most C++ users use it. In C, I tend to avoid memory allocation. You end up defining arrays sized to some reasonable maximum, but there's no performance penalty for that. Occasionally, this does cause problems when that maximum was underestimated, but most of the time it's pretty effective.

    Where I work, we have a transaction processing system that was developed in C. Most of the library code is in C, and multiple attempts to build applications in C++ have resulted in something much more complex and less supportable than the 'standard' C apps. I don't know if this is due to unskilled C++ programmers, or if maybe the particular environment, being highly optimized for C coding, just doesn't gain many of the advantages C++ could provide had the platform been object oriented in the first place.

    For example, our standard apps maintain state persistence by simply writing out one or more C structures to a temp file on disk. These files are simply read back in on the next transaction, requiring no code and no serious overhead (the data's usually in cache anyway). It sounds crude, but it's amazingly effective. C++ coders could continue to do this, of course, but they've assumed they needed to use objects for this purpose, leading to complex schemes for streaming those objects out to disk for persistence.

    Then you get the programmers that attempt to build a pseudo MVC view around a platform that was designed to be a back-end system with a smart terminal front end. In this platform, all the code is on the back end, and the 'view' and the 'controller' are pretty much intertwined. But they persist and build these arbitrary separations which have to then communicate back and forth and each have to persist their own states. After the fact, they've all agreed that what they've built is harder to support than the C stuff they were building before. .Again, maybe this is bad coding or a misunderstanding of the OOP model, but it does point out a problem with C++. Unless you're just building code around an existing, well defined C++ framework, you're not likely to implement a great object model on the first (or fifth) try.

    --
    Posted from my Android phone. Oh, I can change this? There, that's better...
  23. Re:favorite way by V!NCENT · · Score: 4, Funny

    No, karma whoring is to post something completely obvious you know will be modded up and not add anything to the discussion solely because you want to boost your karma. Unlike this comment.

    --
    Here be signatures
  24. Re:BS by Culture20 · · Score: 2, Insightful

    command line is better. There's a reason we moved beyond pointing and grunting into symbolic language.

    Best description of why to use CLI; it allows for an explosion of thought.

  25. Re:favorite way by shutdown+-p+now · · Score: 2, Insightful

    If you were using #!/bin/sh and expecting bash specific code to work, you're doing it wrong. If you want bash, call it by its proper name and it will always work.

    A more likely scenario is that a script written by someone else improperly references /bin/sh despite being chock full with bashisms.

    The real problem is that many people these days just assume Unix = Linux and can't even think of /bin/sh possibly not being bash (or something "compatible enough"). This is especially true of "Linux on the desktop" crowd, as server admins typically know better

  26. Re:favorite way by GNUALMAFUERTE · · Score: 2, Interesting

    I run compiz on several Atom 230 and 330. This are mini-itx mobos that have integrated Intel GMAs (Pineview series). I am checking this as we speak over SSH.

    Compiz CPU usage: 2% Ram: 34MB.

    This is with all settings turned up to 11, and, since this machines are surveillance systems, 4 windows showing 352x288 video @30fps each, plus a fullscreen browser window that is constantly updated.

    Total CPU usage is ~3.4%.

    --
    WTF am I doing replying to an AC at 5 A.M on a Friday night?
  27. Re:Enlightment again? by hazah · · Score: 2, Informative
    Swing: X = GUI
    Miss: X = GUI

    Assuming something is what it isn't will surely give you wrong impressions. X is NOT by ANY means a GUI. Try again.

  28. Re:favorite way by Anonymous Coward · · Score: 5, Insightful

    Lower cost of ownership

    If you don't value your time.

    Linux is only free if your time is worth nothing.
    Windows is only $119.99 if your time is worth nothing.

  29. Re:favorite way by the_womble · · Score: 2, Informative

    And drunken cheerleaders get date raped more than shut-in nerd chicks. Personally, I prefer nerd chicks, and you likely do too, but most people don't. Really, they don't, and there's no use telling them that their opinion is wrong.

    Do people prefer Windows? After actually trying Linux? Not in my experience.

    If you don't value your time.

    Most stuff works out of the box. Some stuff does not work out of the box on Windows or Mac either.

    Until of course you try and run a script written for fooshell on barshell, i.e. when a distro changes its shell.

    Dash is supposed to compatible with Bash if you stuck to Debian policy of affected scripts (those than use #!/bin/sh - if you useed bash specific features you should have used #!/bin/bash . Any examples of stuff that breaks? BTW Bash is still the login shell.

    Can be made to run on it, given enough time.

    Most stuff non-geeks use is in the major distros repos and is easier to install than Windows apps.

    But I would not recommend them to a Joe Windows user, ever, since I don't want to be their Support Guy from now until there's a distro that actually Just Works.

    My father, my wife, by seven year old daughter, her former pre-school principal, an accountant who used to work for me are all presumably geeks? They all prefer Linux.

  30. Re:favorite way by GNUALMAFUERTE · · Score: 3, Interesting

    Excuse me, what part of "since this machines are surveillance systems, 4 windows showing 352x288 video @30fps each, plus a fullscreen browser window that is constantly updated. Total CPU usage is ~3.4%." You didn't understand?

    It's not compiz itself eating up that much processing power. It's the 4 threads capturing 352x288 video @30 fps, and displaying it in 4 different windows.

    Also, it is IMPOSSIBLE for any operating system to be actively displaying how much CPU it is using while using 0% CPU. Answer: WINDOWS IS LYING TO YOU.

    On the other hand, even if windows created some magic way to run out of thin air while using 0 processor power, it would mean nothing because it would still be completely useless.

    --
    WTF am I doing replying to an AC at 5 A.M on a Friday night?
  31. Re:favorite way by LordLimecat · · Score: 2, Insightful

    Heres why I WOULD recommend them to some people, in certain controlled instances (have, actually):

    A) have you actually tried to figure out how to secure a network, or even your Dad's computer, when doing so requires he have the ABSOLUTE LATEST version of flash, adobe reader, and java? Not to mention those realplayer and QT plugins that are sure to get exploited one of these days? Linux gets it right with centralized software updates; Windows is an absolute nightmare in this regard. Theres WSUS, but oh wait you cant add crap like foxit reader to it, and MSI deployments can be a nightmare to upgrade. Not to mention some things just dont have MSIs.

    B) Most users these days honestly dont care that much about windows, as the programs that they run and the way their windows act. Seeing as many users manage to make the transition to Mac just fine, I dont see why you would claim that there are no "Joe Windows users" out there who would survive an easy transition to, say, Ubuntu 9.04. And in general, once you get things working (which ISNT that hard, theres 8 million wiki articles on just about every concievable 9.04 problem by now), they will continue to work; as exploits get discovered, the system will automatically patch as the updates are released.

    C) Being able to customize the crap out of Linux means I can take Ubuntu {favorite version}, set up some sane defaults (remove crappy and unnecessary programs, install VNC and a DDNS updater), then compile the whole thing into a single CD that installs the working system as is. A little more work and you can have a backup that runs to an external drive (back-in-time), and set the CD to auto-wipe / reinstall the root partition without touching the /home. D) Heres the real kicker. Windows as of now has AWFUL recovery options. Windows XP was the last OS that had any form of disaster recovery-- combofix works well, its got the recovery console, its got repair installs, and its boot.ini is actually editable in any OS. Vista and 7 dont have a useable repair (to repair, you have to launch it from a working windows install...), and any recoveries you make to a new HDD will just not work because the disk ID wont match the BCD. If you get a virus on Vista or 7, youre basically hosed, because combofix doesnt really work on it, and there arent any fantastic removal tools yet (theres GMER, but its showing its age, and I dont know if it works on Win7 x64).
    If something goes wrong on Ubuntu, conversely, I can hand them a disk with a remote-access agent on it, remote in, and fix their root partition easily.

    Look, Ive heard this argument that "I dont want to be their tech repair guy" before, but chances are you already are, and given the choice between friends and family using Windows with its AWFUL update mechanism, its AWFUL vulnerabilities, its AWFUL recovery options, and the joys of having to hunt down drivers to make crap work (ever try installing XP on a machine that was bundled with Vista home? It SUCKS.), I will take Linux with centralized everything and built in drivers any day.

  32. Re:Objects... by ultranova · · Score: 2, Insightful

    C++ can be faster than C...

    And Java can be faster than C++, if you write sufficiently good Java code and sufficiently bad C++ code. That you manage to find a single instance of this is true doesn't prove anything.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  33. Re:Objects... by ultranova · · Score: 2, Insightful

    No, C is exactly as fast as C++. C++ only becomes slower if you use certain features that have a performance impact.

    Which would be every feature that isn't C with added syntactic sugar.

    Frankly, there is no valid reason for starting a new program in C in this day and age.

    Yes, there is: it's a simple language with very predictable behaviour, compiles fast, and the resulting binary can be trivially interfaced with pretty much every other language. There's no good reason to use C++: you don't get the benefits of managed environments and the real encapsulation they offer, yet it's almost impossible to figure out what code using templates and operator overloading is actually doing.

    Use C for performance and control, or use Java, Python and friends for a real high-level language. C++ gets you the worst of both worlds. Let's just let the damn thing die already.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.