Slashdot Mirror


User: VortexCortex

VortexCortex's activity in the archive.

Stories
0
Comments
5,203
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 5,203

  1. Re:Yay for C++ 0x7DB; // FTFY on ISO C++ Committee Approves C++0x Final Draft · · Score: 0

    Well I must apologize, I was wrong. language native primitive types can't have global operators overridden...

    So I guess there's only one predictable set of operations you can do in C++, work with the primitive types. Except, you can't really predict the size or range of the primitive types until runtime, unless you know the specifics of the platform the code will be compiled on.

    I grepped my code, and couldn't find a singe use of an int, long, char, etc... Turns out that we all use stdint.h types to provide cross platform capabilities (even though it's C not C++) -- typedefs for all the primitive data types, such as uint32_t are used in place of int, because sizeof( int ) is platform dependent... Now, quick, say you're on a 32 bit system. Without looking in the stdint.h file, prove that uint32_t is not really a class that implements all the int operators, has an internal state 4 bytes in size, and can cause the following statements to do any arbitrary operation.

    #include <stdint.h>
    int main( void ){
    uint32_t C = 0;
    return C++;
    }

    Use tricks with Templates? xxx_cast, etc? Typeinfo? All those things work at compile time -- looking at the code, and only the code, without compiling it and running it, there's no way to tell what the hell it's going to do.

    Say you do read through the stdint.h and discover that uint23_t is an alias for int... ON YOUR SYSTEM. Who knows what stdint.h will define uint32_t as on anyone else's system -- Faith is a required virtue of C++ coders. On an 8 bit system, uint32_t may be a class that wraps an array of 4 ints (8 bit each == 32bits), and simulates 32 bit integer operations... or perhaps they open network connections and ask a mainframe what the answer is... I still can't really tell what's going to happen when that simple code executes... hell, even if I take for granted a "standard" stdint.h file being available, the semantics of #include <stdint.h> vs #include "stdint.h" are platform dependent -- some compilers will look in the current directory first regardless of the angle brackets or quotes.... so... Is there a stdint.h in the local directory? Only looking at the code, I can't tell... Is it really so hard to give a C++ programmer even the most basic tools, such as a few guaranteed size integer types? ( isn't in my C++ compiler; Is it in yours? -- stdint.h is C, not C++ )

    I admit that I'm wrong about the special case where you actually use the platform dependent language primitive types such as int, char, etc, however, just because sizeof uint32_t == 4, doesn't mean that's a primitive type, and short of using typeid or other such compile-time or run-time operations, I'm not sure I can predict what that code will do without reading the typedef and/or class implementation of the uint32_t type.

    Conversely, in languages that don't allow operator overrides, I can be sure that +, --, ++, and other mathematical operators operate on numbers, or at least perform defined operations given a set of parameter types.

  2. Re:Yay for C++ 0x7DB; // FTFY on ISO C++ Committee Approves C++0x Final Draft · · Score: 0

    Just as a side note, regarding "objectified int" - the term "object" in C++ standard actually comes from plain C, and doesn't have much to do with objects in OO sense. I'll just quote the C99 spec:

    3. Terms, definitions, and symbols For the purposes of this International Standard, the following definitions apply. ... 3.14 object region of data storage in the execution environment, the contents of which can represent values

    Yes, and the instance of a Class is a "region of data storage" used in the execution environment, the contents of which can "represent" a "value". Literals are also stored in regions of data storage, and used in the execution environment, with contents that can represent values... So also may a variable of an enumeration type, or even functions (which have stack frames) for meatball's sake! -- So once again, the multi-headed snake is happy to eat any of its myriad of tails.

    I don't object to the object of object oriented programming; However, I do object to, "object" being the chosen term for objects in any programming language.

    It's as if the object of choosing "object" to name objects were to cause confusion and ambiguities, not resolve them. (Clearly this must be some sort of bad joke, no?)

    If it were one of the objectives of an object oriented programming language, to help provide clarity of concept, one would think that the creators of such languages would have been a bit more objective and chosen less objectionable terms, such as Entity, native type, idea, concept, form, pattern, formula, design, etc.

    C++ is marketed as an "Object Oriented Language". IMHO, the term "object" is a very overloaded in English -- Like C++ functions can be...

    "Object Oriented Programming" could describe a language that revolves around the concept of Objections -- Like C++ does (Exceptions).

    "Object Oriented Programming" could describe a language that focuses on the objectives of the logic, not the data model, similar to the procedural aspects one uses in a language such as C++.

    "Object Oriented Programming" could even describe a language that allows one to group data and behavior into a single unit, like C++ classes do...

    Finally, given your citation of the ambiguous "standards", C++ being capable of "Object Oriented Programming", could mean that one spends most of their time reprogramming the syntax of the language to provide different behaviors for standard built in "primitive objects"... Like C++ operator overloading does...

    You know what, I take it back, "Object" is a perfect term for C++ -- It's opaque, ambiguous, and ill-suited for its purpose, in other words, par for the course in C++.

    ( Don't even get me started on "classes" -- Are we talking classification system, or training of AI algorithms? Perhaps we mean that classes are where you must go when the compiler objects to your code in order to learn WTF the object of the object's objects are. )

  3. Re:Meh ... on Firefox 5 Details: Sharing, Home Tab, PDF Viewer · · Score: 2

    I just wished that the Firefox devs would just leave the Flock features concerning social network integration out of the FF Mainline -- If we want FF + Social, Flock exists already... Where will be my FF minus the pointless social tools? (And what about identi.ca?)

    It's sort of like if Linux decided to incorporate a web browser into the kernel -- Bad Idea, Leave that to specialized projects / add-ons / apps, not everyone needs a browser on their Linux (not everyone needs social network integration in their Firefox).

  4. Re:14 quantum bits on New Quantum Record: 14 Entangled Bits · · Score: 5, Funny

    Hell yeah! In a few years, I will be able to play Super Mario on a quantum computer!

    Yes, but then you'll have to deal with Bowser's Peach Paradox -- The game will start with the Princess being both captured and not captured, and you'll only find out which if you complete the game and observe the ending.

    "I'm sorry Mario, but our Princess exists in a super position of both being in another castle, and awaiting your return safely at home."

    Only after you observe the game's ending will you discover the game's plot:
    You either attempted to save the Princess from the evil clutches of King Kupa,
    or it's another case of Mario going mad and destroying an innocent kingdom for no good reason.

    Of course the credits will either reveal that the game's events haven't taken place yet (it was all a dream (ala Mario 2), ), or that the story has all happened before, an infinite number of times, and the princes might have just been captured again!

    Talk about replayability...
    Insert Qubits to Contiue.

  5. Getting on the X37B has earned him a Pro title. on Amateurs Spy On US Spy Plane · · Score: 1

    Was I the only one who initially missed the S, and thought the headline was, "Amateur Spy On US Spy Plane" ?

    Clearly that spy can't be considered a green-horn anymore; Getting a seat on an unmanned space flight is no small feat!

  6. Re:Classified != Secret on Amateurs Spy On US Spy Plane · · Score: 3, Interesting

    Like the SR-71, no information is worse than a little info -- So they released inaccurate info to sate the interested parties, best of both worlds.

  7. BRB, gonna manipulate my worm. on Engineering Election Debates With Subtle Cues · · Score: 1, Funny

    an experiment with 150 participants in which they manipulated the worm and superimposed it on a live broadcast of a UK election debate.

    Look, I know it's fascinating, and possibly addictive, but I think the field of wank research is well tapped out... Anyhow, what sort of research are you playing at wot involves 150 folks "manipulating" their "worms" all over a live election broadcast.

    I take it they're electing porn-stars now?

  8. Re:Yay for C++ 0x7DB; // FTFY on ISO C++ Committee Approves C++0x Final Draft · · Score: 1

    You, my friend, have arrived at the heart of the matter, and thus was my initial point:

    C++ is to be regarded as "a different language than C", not as C with extensions. However, C++ was surely developed by adding features to C, then calling it a new language after the fact.

    My point is that the basic C syntax could have been kept in C++ without having to limit C++ to old language constructs. The main point is this: The C++ language itself has no business compiling C code. If C++ libraries need extern "C" { ... } to provide C interfaces for their functions, then why not REQUIRE a wrapper convention for any and all C code in a C++ project, then simply let code not wrapped in a "Parse this as C" block have whatever semantics are required -- Including those that break C syntax.

    You see -- C++ could have both retained a close tie with the popular C language, while at the same time isolating itself from the older C syntax.

    I've actually developed a few toy scripting languages that are "somewhat" C like... In fact, my favorite of these scripting languages has this very parse_as "C" { ... } construct, which simply extracts the code, invokes a C compiler on it to build a shared C library from all such blocks, and dynamically loads those libs at run time. (The VM translates these code blocks into a "load_shared_c" instruction, followed by op codes that add function names to the context's symbol table. These symbols contain functors that call the shared C lib's function by function pointer.)

    In short: It is possible to retain the power of C, and take advantage of the C install base, WITHOUT polluting your language with the C language's syntax...

    // Creates new object that subclasses the ParseAs object,
    // passing "C" to the ParseAs constructor.
    // The new object has methods written in C.
    math' = parse_as( "C" )'(){

    #include <math.h>

    long multiply( long a, long b){
    return a * b;
    }

    double divide( long a, long b){
    if ( b != 0 ) return a / (double)b;
    return -INFINITY;
    }

    }

    args' = ( 6, 7 );
    ans' = math.multiply( args );
    say( "Multiply: " + args + " = " + ans );
    say( "also, " + args.join( " / " ) + " = " + math.divide( args );
    ----- output -----
    Multiply: 6, 7 = 42
    also, 6 / 7 = 8.57142857e-1

  9. Re:Yay for C++ 0x7DB; // FTFY on ISO C++ Committee Approves C++0x Final Draft · · Score: 0

    Bang: You're dead! Assumptions have that effect. My point stands that certainty is only derived from reading every flipping line of code that is ever "included" -- Who does such things? Masochists. Who designs language traps such as these? Sadists.

    Does the simple statement: C++; open a temporary file, and record the number of increments or throw an exception?

    Only if the programmer intentionally obfuscated the code. But then, he doesn't need operator overloading of #define; tell me, what does "increase_by_1(C);" do?

    Oh, and if C is an int (or another incrementable builtin type), the statement C++; will indeed increment C, with certainty.

    Unless someone has overloaded the global ++ operator for int types... Your "certainty" assumptions amuse me.

  10. Re:Surprised? on Android Passes BlackBerry In US Market Share · · Score: 3, Interesting

    If I were choosing to develop for a platform, why would I choose one with only 5% of the sales?

    Actually... I was presented with the choice of developing our apps for Apple's Application Store, or Google's Android Marketplace. Not really liking the choice much we opted for the 3rd choice: Distribute the application ourselves and in one of the proprietary marketplaces. So, naturally the application will be an Android application.

    Granted, our applications are more specialized for use by noise abatement engineers, mapping problematic sources of noise via triangulation, overlaying 3D sound models in real-time (altered reality), etc.

    Our apps will be supplemental to our other products. We didn't want to spend time making the apps, then not be able to sell them for whatever reason. Our only real choice is Android OS.

    They've relegate Android to the bargain bin.

    Yes, that means our mobile applications will be available to more people. Also, why would a developer take so much pride in a platform brand? We don't make more money based on who sells the best phones -- We make more money based on how many people can access and purchase our apps...

    However, you must be able to see that sales alone is not the sole deciding factor when a developer decides which mobile platform to support... There are many factors, one of which is "Are we sure that we'll even be able to sell the app at all?" Android is the only smart-phone platform where the answer to this question is Yes.

  11. Re:I'm involved with this on FCC Giving Away Wi-fi Routers For Broadband Tests · · Score: 1

    Bonus: After the test is over you can install a DD-WRT Linux firmware on the Netgear WNR3500L in order to flush any tracking software and have fully customizable router...

    My Linksys WRT54GL with DD-WRT is pretty sweet -- I even added a multi-player Tetris game (ssh or telnet + ncurses), and usage graphs for individual services, like TOR, my private GIT repository, my g/f's WOW, etc. I can only drool over the possibilities enabled by having a USB port available.

    Sign me up.

    P.S. It would be interesting to connect their router downstream of my current router and see just exactly what they are recording / sending.

  12. Re:As I and many others pointed out yesterday on Amazon's Cloud Player: We Don't Need a License · · Score: 2

    I, for one, do not want to be the expert witness who has to parse out the differences between storing multiple copies, symlinks, hardlinks, file-level deduplication, block-level deduplication, whatever jiggery-pokery Amazon's EBS volumes use, whatever different jiggery-pokery supports objects and buckets on S3, to a layman jury and a judge who may or may not have gone to lawyer school back when glass ttys were pretty cool stuff...

    It may well be even worse because, since copyright law was written more or less entirely without any reference to contemporary storage, the decision might well hinge on some combination of how the backend works and what abstraction or abstractions are used to present the data to the user.

    Yeah, well, If you really want to blow their mind have someone explain how their beloved Internet actually works ( multiple copies of each packet are made as they bounce from router to router until they get to the destination ). Honestly, "copy" rights in this, the information age, are incredibly out-dated and inadequate. Seems to me like everyone is just ignoring how it all really works down at the packet / cache level.

    On just about every web page you'll find a copyright notice, which aren't even necessary, a copyright of "all-rights reserved" is implied on everything we write (US law).

    I've yet to find a web-host that says something along the lines of: By tagging a file's metadata as publicly accessible you agree to sublicense such content for redistribution by way of any and every router or otherwise Internet connected device.

    How many unlicensed duplications are made per connection? Run a trace-route (" # traceroute yro.slashdot.org" on *nix, or " >tracert yro.slashdot.org" on Windows) to find out -- don't forget to count the one in your browser's cache, the one in your RAM, the copy in video RAM too (even if not hardware accelerated the image must be composited before display), oh, and if this get's paged out to disk -- that's another copy, a hibernation will make duplicates too.

    I average about 20 copies per web resource, at about 30 individual resources per page view, that's around 600 unlicensed copies / copyright violations per visitor -- Let the madness begin.

  13. Re:Tail wagging the dog? on Browser Power Consumption Compared · · Score: 3, Interesting

    Since they're not the fastest, they're claiming their the most power-friendly.

    "We did it on purpose.. see?"

    Actually, I just got a new notebook with Windows 7 pre-installed. I immediately imaged the system, then installed Linux (dual boot). I do believe that MS's products use FAR less power than open source software like Firefox & Linux... bear with me...

    I used an external USB hard drive enclosure to transfer my over 21,000 songs ( not pirated -- I fervently support local indie / folk bands ).

    Linux was copying files faster than I was used to ( only 1h 40m est. time ), I attributed this to the faster hardware. When I checked back in on the copy process the computer was locked up. At first I thought that a flaky NTFS Linux driver was the problem, the caps lock key was flashing (usually means a kernel panic occurred)... so I re-booted into Windows7 and re-initiated the file transfer.

    After 1 and a half hours the estimated time till completion was still 2.5 hours. Thinking that was pretty strange for Windows7 to take over 150% more time than the Linux system reported, I tried again with my Linux install: wiping out the music partition and starting again.

    Sure enough, the files transfered almost twice as fast. The CPU usage went to 100% on both cores, and the fans went into high gear... Near the end of the transfer (98%) at 1h:33m the computer froze again with the same flashing capslock indicator...

    I completed the file transfer with Windows, and noticed that it only used 70% of one core to do the file transfer... Searching online led me to a hardware user guide for the system that said the flashing capslock meant that the CPU overheated. It wasn't a problem with Linux after all. I sent the machine back to the manufacturer and they stress tested the CPU, found it was weak, and replaced it with a new one.

    I purchased a cooling mat for when I use Linux -- I don't need it when running Windows: MS won't let me use the hardware to its full potential, so it uses less CPU gets better battery life and doesn't overheat.

    Of course, I can always adjust the CPU usage on Linux to achieve the same power consumption, but I can't make Windows use the full CPU power -- It won't let me.

    Without the multi-core aware Linux, I wonder how long it would have taken me to notice I had a weak CPU. If I had used only MS Windows, I probably wouldn't have noticed until after the warranty expired...

    I posit that most times MS software is getting better power consumption than their competitors -- It's because the routines aren't using multiple threads to get the best speeds... Which is just dumb if you ask me, multi-core machines have less power per core on average. Single threaded code on a 3ghz single core machine goes twice as fast as the same code on a "faster" 6Ghz quad core machine (1.5Ghz per core). If you're not writing multi threaded code you're burying your head in the sand.

    (Wooo! Lookit how much battery life you get with dumb single threaded code!)

  14. Re:It's called my[___] now on MySpace Loses Ten Million Users In One Month · · Score: 2

    Really? Maybe I've been corrupted by the Internet, but I thought it was a clever ASCII version of Goatse.

  15. Re:Come on, Slashdot on Ridiculous Software Patents: a Developer's Nemesis · · Score: 1

    When the "subset window type" is an iconified window, or perhaps if you have a window manager, like say MS Windows, that allows you to open such icons with a single click.

  16. Re:Silly patent example on Ridiculous Software Patents: a Developer's Nemesis · · Score: 1

    Yes, yes... Patents are supposed to be "non-obvious", but that has no meaning at all. To prove that a patent is "non-obvious" to an individual skilled in the art patent examiners simply look at what's already patented. Why, if it's worthy of submitting a patent application, whomever came up with such an idea would have patented it already? Right? Wrong. Just because an idea "exists" doesn't mean the creator of the idea decided to patent it -- In fact, most ideas are not submitted for patent approval... yet...

    To be fair, patent examiners can't just search Google and say: "Damn it, everything is un-patentable!" They have to prove that the patent has no "prior art", and the only repository of "prior art" that they see as trustworthy is the volume of previous patents. They can't even get that right, however because there are duplicate patents awarded...

    Patent examiners don't see a problem with granting patents that are over broad, already patented, or obvious because if someone is using the idea, they can just go to court and get the patent invalidated... (I don't know about you, but I don't have hundreds of thousands of dollars to spend -- As a small developer, If threatened legally by patent trolls I must fold.)

    The current shift to "First to File" instead of "First to invent" to make granting patents easier means that all those brilliant ideas you have posted to your blog and not submitted patent applications for can be gobbled up by a troll and patented out from under you. Then you can be sued for using your own ideas that you really did "invent".

    Yes, one can still go to court and try to get the troll patents invalidated, but as I said before: I don't have many thousands to spend on litigation.

    This all has a stifling effect on innovation and openness; Two concepts that patents are supposed to promote. I've always distributed my source code under an open-source license, but now I consider closing sources just so that patent trolls can't pick apart the inner-workings of my software looking for the trigger to a patent bomb, or take specific clever ideas I've "invented" and file patents for them (Spaghetti Monster knows the patent examiners won't find my products when searching for "prior art", esp. since I refuse to play the game and patent any of my ideas).

    The patent system seems to think that all great ideas should be patented, however they are both incorrect and a poor judge of what "great" means, therefore we're accelerating towards a system where all ideas must be patented, if for no other reason than to provide prior art.

  17. Re:Animated Death Metal fans on The Simpsons Reviewed For Unsuitable Nuclear Jokes · · Score: 1

    And if somehow Death Metal fans managed to take over the world suddenly cartoon network would be under the gun. Where does it end? With the Oblongs of course.

    I dunno... I enjoy lots of different music, Metal & Death Metal being among the styles I like, and I love Metalocalypse.

    I think its high time we all grow up and start taking ourselves less seriously... Among those things that shouldn't be taken seriously: Humorous Cartoons.

    IMHO, political correctness == censorship. I don't know about anyone else, but I've been through some very rough times in the past...

    I don't get bent out of shape when people make comedies involving homeless people, orphans, car accidents, police brutality, bigotry & racial violence. I've lost loved ones to terribly unfortunate circumstances, but I didn't decide to censor the world's media -- I just changed the damn channel (viewer discretion, always advised).

    I don't take it personally when I see a TV show that reminds me of a life tragedy. It's up to me to deal with my own issues, not anyone else. Perhaps burying your head in the sand and stuffing away dark feelings deep inside instead of dealing with real life is a good idea -- In my experience, it's not.

    Excuse me if I fail to see why YOU should be censored for crap that happened to ME; OTOH, I also fail to see why I should be censored when tragedy befalls you.

    TL;DR: Real Life Happens: Deal with it like everyone else, you're not special.

  18. Bit Coins? on Aussie Police Probe Virtual Worlds For Money Trail · · Score: 4, Interesting

    I wonder how hard it is to track Bitcoin laundering considering that each wallet has over 100 different keys it can use in any given transaction...

    From the Bitcoin FAQ:

    Bitcoin transactions need to be public, so that every client can confirm what account has how much money available. However since accounts are just numbers, it's very hard to figure out what is behind each individual transaction. Here is an example for a Bitcoin transaction:

    IN: 1NqwGDRi9Gs4xm1BmPnGeMwgz1CowP6CeQ: 25.09
    OUT: 1GZZUd25jbDpUghYD1EA3URdtbzobedqWr: 25.09

    As you can see, the transaction only includes the Bitcoin addresses involved which by themselves don't tell you much at all. Every Bitcoin wallet contains a hundred or more addresses, which makes associating users with their wallets even more difficult.

    So, I guess some sort of massive transaction "mining" operation would be needed in order to make a correlation between the keys / account holders. Launderers: get started now while transactions are still free!

  19. Re:Are "hackers/crackers" good or better programme on Enlisting Game Hackers Instead of Fighting Them · · Score: 1

    And some God-like programmer is going to come along and demonstrate that you don't have to use c at all, you can magically XOR things or have a long string of a += b -= c += a or something and make it all work with only two variables. Obviously, they pass also.

    A reluctant pass...firstly, they are, in all probability, not god-like (see footnote); most likely just a show-off, or someone who's indignant at being given such a trivial exercise. (see footnote)

    Actually, you'll never even know that you've been interviewing a true "god-like" programmer because they'll just get bored with such a mundane problem, open the Real Life debugger, hit the "Rewind to Previous-Stack-Frame" button a few times, and walk past your office leaving you wondering why the applicant never showed and experiencing a strong sense of deja vu.

    ...sorry... I know I'm not supposed to talk about us, but I can't keep pretending that your world isn't just a big physics simulation when you make blatant references to us.

    P.S. We don't not "magically XOR things", we mathematically XOR things... That's the difference between make-believe and platypus.

  20. Re:Nice! on ISO C++ Committee Approves C++0x Final Draft · · Score: 1

    Machine code. It's not as difficult as you think, I have a bunch of macros and a program that just reads in the macros and outputs the machine code. I modify the macros for each hardware platform -- Our "cross-compile" process scales in O(n) time!

    I scoff at Assembly Language programmers because they have to use a "compiler" which frequently doesn't support every op-code/instruction the machine has to offer. The instructions are just sitting there, wasting power unless you use them!

    In C or C++, Python, and even higher languages there is no telling what the assembly is going to look like, and thanks to their crappy "cross platform" compilers there's plenty of opcodes that they rarely (if ever) take advantage of anymore, esp. in the x86 set...

    Hell, "modern" compilers are so terrible at using the best op-codes that some hardware MFGs are starting to microcode some of the instructions that they rarely use (the ones I use for performance!) -- Some new "high-end" systems run our programs slower than our current hardware thanks to op-code neutering microcode, that's one of the main reasons I laugh at "modern" hardware salespersons...

    If you want complete control, there's nothing like machine code. If we used a higher level language, any wet-behind the ears Java developer could take over MY projects! Then we would HAVE to upgrade just to get decent speeds.

    Talk about job security... "Compiler", "Assembler", "Linker", HA! I'll be irreplaceable till I'm dead!

  21. Re:Yay for C++ 0x7DB; // FTFY on ISO C++ Committee Approves C++0x Final Draft · · Score: 4, Insightful

    Enough said!

    -Chris

    Incorrect. The year 2011 A.D. is 7DB Hexadecimal A.D. Ergo, if you're going to abbreviate the numeral using the last two digits you should be heralding C++'DB or simply shorten it to C++'B.

    Note: Due to the fact that legacy versions are abbreviated as YEAR mod 100 in radix (base) 10, the new hexadecimal notation should include the a prefix or suffix indicating the radix in use. For quite some time there has existed such a hexadecimal radix prefix in C and C++: 0x

    Thus:
    Hurray for C++ 0xB;
    (Also note the above line does not parse as valid statement in C++, even though the ++ operator actually does take a dummy int parameter as the right-hand-side to differentiate it from the ++C; prefix increment operator.
    operator++(int){ /* WTF! */ };

    For meatball's sake people, even the ++ operator is a kludge in C++? ( "C++" translates to "C (with kludges)" to me.)

    Even without any #define macros present, I still can't tell what a single snippet of C++ code is going to do. (Does the simple statement: C++; open a temporary file, and record the number of increments or throw an exception? Should I wrap all such statements in a try / catch block!?) If you haven't studied the entire inheritance graph of the type that the C variable is declared as, there is really no way (beside a debugger) to know what will happen next. (What if a pointer is to a polymorphic class? *my_ptr->operator++(42); Now, it's not supposed to do anything with that "dummy" 42 value, the base type doesn't but a subclass might...)

    Don't get me wrong, I code in C++ every day, and prefer it to C, but it surprises me just how messed up things have been allowed to get because we're shoe-horning in features into an existing syntax instead of just creating a new language that has less kludges.

    int main() {
    int my_var_a( 1 ); //Constructed an int "object" by calling it's "constructor"
    // ^^^ Uh.. OK ints are object-ified now.
    int my_var_b(); // DOES NOT call the int object's empty constructor.
    my_var_b = 10; // ERROR, the previous line declares a function.
    return my_var_a;
    }
    ^^^^^^ Declares a new function in the function/method body WTF? (because C lets you do that, for better or worse... )
    use: int myvar; to "instantiate" a new int "object" using the empty constructor instead... So, why can't I subclass an int? class my_number : public int { ... }; ARGH.

    Look, it's clearly time to stop hacking extra features into the language, or stop letting it be hindered by legacy C conventions / syntax. I think that C++ could be much better than it is if it weren't pandering to C coders... It's too bad that we started down that path with C++, there's far too much time and energy invested to reboot it now.

    I'm glad for some of the new C++ features, but at this point there's not much to celebrate for me -- Doing without for so long has caused us to create our own systems: the C++0x garbage collector is incompatible with my multi-threaded hybrid strategy (pool / slab & heap-like) memory manager (thank Spaghetti Monster, theirs is optional), I already have a ton of code that uses my cross platform multi-threading libraries, we've been using a HashContainer for over 10 years in our company...

    C++0x7DB adoption to us means: "Oh great, they finally got around to standardizing all these things we've needed for years and made ourselves -- It's going to be a headache writing new code that conforms to the new standard while remaining compatible with our current code-base."

    (And there was much rejoicing: "... yay... ")

  22. Parrot on Duke Nukem Forever Gets Delayed - Again · · Score: 1

    I hear tell that Duke Nukem Forever is written entirely in Perl 6.

  23. Re:If you ever walked out of the bathroom... on Duke Nukem Forever Gets Delayed - Again · · Score: 1

    Or, if you've ever been shot by the LARD cops, and tried gulping from a broken fire hydrant to heal your wounds enough to make it to the movie theater hide out (now showing Bleach Blond Biker Bimbos) -- You may be a sentient AI living in a sadist's computer running a Duke Nukem 3D simulation.

  24. Re:Diff? on Red Hat Nears $1 Billion In Revenues, Closing Door On Clones · · Score: 2

    I somewhat agree. RHEL's pre-patched kernel doesn't affect upstream. If you want upstream patches broken up by time, checkout the kernel from its git repository & browse away... Hint: The commit messages describe what each group of changes addresses.

    Of course, I still think its a shitty thing to do. What if Red Hat's upstream (Linux) made it harder for RHEL devs to support their custom selected kernel code... If it Red Hat suddenly couldn't pick and choose which Linux mainline patches to apply to their long-term-support releases because the commit logs were obliterated via rebase, I'm sure everyone would be singing a different toon -- You put the shoe on the other foot and suddenly it's bizzaro land?

    It's not like RHEL writes the whole damn distro itself. The least they could do is make it as easy for downstream devs as their upstream makes it for them. To do otherwise, while not illegal, is a major dickhead move which I'll no longer be supporting with my hard earned dollars (or recommending others do either).

    Again, that's not something you'd care about if you're a desktop end-user, but in a corporate IT environment it makes a difference.

    Way to go RHEL team... Keep pissing people off for the sake of the almighty dollar -- It may come back to bite you in the ass someday...

    That only gives you the patch broken up in space, not in time.

    The idea is that Red Hat has patches for specific issues that are developed at different points in time. These patches may modify the same files as previous ones, or even the same blocks of code. By having all patches applied at once, the singular diff does not tell you which component of the patch fixed which issue.

    This is really only relevant for providing commercial support.

    ... P.S. I work in the corporate IT environment. We do a lot of our own internal maintenance. We don't upgrade very often, and when we do so the sheer amount of adjustments to changes and testing that must be performed dwarfs the decision of which distro gets chosen as the upgrade target -- Guess which distro (and support contract) won't be on the list come next upgrade? You guessed it: The distro that's actively making it harder for us (downstream) to maintain it ourselves -- RHEL.

  25. Re:But, but... on Google Delays General Release of Honeycomb Source · · Score: 0

    http://twitter.com/Arubin/status/27808662429

    What is the definition of "open" today, Google...?

    Here, let me show you what the definition means now:

    mkdir android
    cd android
    repo init -u git://android.git.kernel.org/platform/manifest.git
    No command 'repo' found, did you mean:
    Command 'rep' from package 'rep' (universe)
    Command 'repl' from package 'nmh' (universe)
    Command 'repl' from package 'mailutils-mh' (universe)
    repo: command not found

    repo sync
    No command 'repo' found, did you mean:
    Command 'rep' from package 'rep' (universe)
    Command 'repl' from package 'nmh' (universe)
    Command 'repl' from package 'mailutils-mh' (universe)
    repo: command not found

    make
    make: *** No targets specified and no makefile found. Stop.

    Since Google will not be releasing the Android sources (just the GPL Linux Kernel code, I presume), their definition of open is now:
    open: command not found