Slashdot Mirror


User: insert_username_here

insert_username_here's activity in the archive.

Stories
0
Comments
31
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 31

  1. Re:Obligatory on OS Combat - Ubuntu Linux Versus Vista · · Score: 1

    There was a good reason for that:

    The most straightforward of the user-friendly (as opposed to something invoked from a command line)...
  2. Re:Apology AND free play time on Blizzard Unbans Linux World of Warcraft Players · · Score: 1
    I hate bots in WoW as much as anyone, but Blizzard needs to WARN people that a 3rd party program is running on their system. WARN them. Every time it's detected.

    They do. It's called the Launcher - that was the original idea, to warn people if the Warden detected something before they actually started the game. Unfortunately, I can't get it to work in Linux (because it depends on IE).

  3. Re:Screw Perl 6; Make Mine Javascript on Mozilla Firefox 2 RC2 Released · · Score: 1

    Check out XUL here (Mozilla's XUL project page) and here.

    I've done some experimenting with XUL, and I've actually found it to be an incredibly powerful (but rarely used) platform. The biggest problem when I used it was that the only way you could actually "get stuff done" was via XPCOM, which is a rather clunky interface from JS to C++. If they were to make XPCOM components much easier to write and install (and maybe add seamless support for languages like Java and Python - I wouldn't be surprised if this has already happened, actually), it'd be unstoppable (apart from the fact that you need to have Gecko installed before you can use it).

  4. Re:Big deal for OSS on Java to be Open Sourced in October · · Score: 1

    ...why don't you make a change, say renaming the util package to utility...

    Say I have a KDE based distro, I want to package Java with that distro, but there's a bug in java that breaks the clipboard under KDE but not GTK (this is a real life bug)...

    These two scenarios are wildly different - while they both involve making changes to code (both of which would be allowed under the GPL), one involves making a (very large) change to the interface that is exposed to Java programs, while the other changes only the implementation of that interface. This difference is absolutely crucial, given the whole point of Java is "Write once, run anywhere" (and yes, we know it doesn't work that way in practice).

    Even if they do release Java under (say) the GPL, Sun are probably going to do everything they can to prevent people from changing the interface, as they've already been bitten by these changes in the past (remember Visual J++ anyone?).

  5. Re:RIP America on Wiretapping Lawsuit Against AT&T Dismissed · · Score: 1

    It only takes one person willing to pick 2, and then enough people willing to help them.

    As for candidates, I'm with Michael Moore: Oprah for President!

  6. Re:Not Gonna Happen! on WoW the Next "Golf"? · · Score: 2, Informative

    You haven't played WoW, have you. It's bloody gigantic, and you often spend a lot of time getting around.

    It might as well be called World of Walkcraft.

  7. Re:It's not the language that counts... on Ultra-Stable Software Design in C++? · · Score: 1
    I've heard this before, and I've got to admit that I don't completely understand it. Is the problem simply that a function might get called without the requisite "was-the-return-negative-one" check to follow it -- and that using exceptions helps to prevent you from making that error? Or is there another point that I'm missing (obviously, exceptions are also advantageous when any number, including -1, could be a valid return.)?

    Both... For one, it is the whole "was-the-return-negative-one" thing - since EVERY single call could return an error code, that's a lot of possible mistakes. Of course, languages (like Java) that include checked exceptions (i.e. you MUST handle all possible exceptions) also screw this up, because every function call that could throw an exception must include exception checking around it, leading to lots of "try { ... } catch (Exception ex) { }", which is just as bad or worse.

    But the other thing is the desire to make it easy to separate error detection from error handling. For example, a lowly file I/O library used by a web browser to read and decode .gif's may be aware of a .gif format error, but doesn't know how to handle it. So it needs an easy way to tell the invoking code that there's an error, so the invoking code can handle it properly (i.e. display an image broken icon). Although, this is still possible with error codes...

  8. It's not the language that counts... on Ultra-Stable Software Design in C++? · · Score: 1
    it's how you use it!

    Honestly, everyone seem to believe that all C/C++ code is unstable (probably because of all those people working for companies like Sun/Microsoft, who are promoting The Next Big Thing in Software Development), but it's far more to do with how you go about using the language and its features.

    However, it is honestly an improvement on C. I think Bjarne Stroustrup (I'm almost certain I spelled that wrong) said it best: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off." (http://public.research.att.com/~bs/bs_faq.html; apart from the quote, it has a whole lot of useful tips).

    So, here's my advice, from my experience working in all sorts of languages (professionally I've used everything from TCL through PHP to Java/C#, but at home I use C++ exclusively). This is just my experience, though; take this with the requisite grain of salt:

    STL is your friend. I cannot stress this enough. STL allows you to leverage complex containers (automatically resizing lists, hash tables, ropes - which are mega-long strings, etc) with complete type safety: you can create a container for a particular type, and the compiler will balk if you ever try to put something incompatible in. Also, the generated code will be optimized for your particular storage type. In this respect, C++ is actually better than most other languages (only with Java 1.5 and .NET 2.0 do Java and C# implement Generics, and in the case of Java, it's only implemented in the compiler).

    Pointers are not always your friend. When you allocate data structures on the stack (e.g. "string blah;"), they will automatically be taken care of by the language. Even if an exception is thrown, these objects will still have their destructor called (which in turn will call all other necessary destructors) and the memory will be deallocated freely.

    Of course, this will not work everywhere (large numbers of polymorphic, dynamically allocated objects). But in these cases, you can use helper classes (such as auto_ptr in the STL, or something like shared_ptr from Boost or nsCOMPtr from Mozilla). Look around; lots of other people have already solved this problem. In fact, there are even Garbage-Collection libraries available for C++!

    Use exceptions instead of value checking, dammit! Every time you call a function that "returns 0/false/-1 on error" you are exposing yourself to possible bugs. Try to avoid this wherever possible, and try to keep all your OS-specific calls in one spot.

    Check out Boost: (www.boost.org) There is a LOT of useful stuff in here, and it will certainly speed up the development process.

    Finally, make sure you design it properly! A couple of well-defined interfaces to separate things out will go a LONG way towards simplifying code, as it will ensure there is less coupling between different code modules (i.e. they don't depend on eachother as much, so you can rewrite one without affecting others). This goes for ANY language. C++ doesn't directly support interfaces, but abstract classes will do the same thing.

    As for separating modules out, you could try CORBA (as you mentioned): ORBit (orbitcpp.sourceforge.net) is a free implementation (that happens to be used by GNOME). But to be honest you probably won't need to go to this effort. If written properly, your code should be stable enough that you don't even need to separate code out into separate processes. The furthest I'd go in your situation would be to write a command-line application that does all the work, then have a graphical client (although you could write this in a different language; don't get me started on graphics library support under C++) that uses a socket or TCP/IP to communicate with the worker thread. In this case, you could just use a very simple protocol to

  9. Re:JavaScript code is the core code - What??? on Mastering Ajax Websites · · Score: 2, Interesting

    The incompatibility you are talking about is the direct result of Microsoft implementing XMLHttpRequest with ActiveX, and everybody else implementing it as a native Javascript object. Microsoft are changing their implementation in Internet Explorer 7 to be compatible with everyone else.

    You do know that Microsoft actually invented the XMLHttpRequest object, don't you (they then completely ignored it for years until Google realized its potential)? And since COM/ActiveX is the main way things get done in the Microsoft world, it's entirely appropriate (although, you're right, the security implications are huge).

    I will be really impressed if Microsoft really is changing their implementation to an in-browser object instead of a COM object, as it means that they will have changed something they invented to fit in with everyone else - the exact opposite of their usual behaviour.

    I'm all for bashing M$ when they deserve it, but give them credit where it's due.

  10. Re:I'm all for it on Anti-Gravity Device Patented · · Score: 1

    Problem is, every time someone submits a patent application, the USPTO needs to get examiners to look it over.

    According to TFA, the USPTO has only 5,000 patent examiners, who need to examine 350,000 patents (approx. 70 per year per examiner), all of which require stringent checks against patent law (is it valid?), the current state of the art (is this legitimate? can anyone skilled in the arts implement this with the instructions in the patent?) and prior art (has it been done before?). This would require a lot of work. There have already been articles about patent examiners (previous /. article) being overworked.

    All the time spent researching obviously dubious patents from screwballs like this guy is less time spent researching other patents, both the genuinely new concepts from new inventors that may need patent protection and the flood (half of which are probably either prior art or immediately obvious to anyone) coming from large companies.

    Junk patents like this one need to be discouraged as much as possible.

  11. Re:HEY LOOK: A RARE AND MAGNIFICENT ANIMAL!!! on Mystery Australian Big Cat Shot · · Score: 1

    It's Coming Right For Us!

    Oh wait... they changed the laws, so now I have to say:

    Looks like we'll have to thin out their numbers. We'll have to kill these gigantic foreign feral felines or else they'll die.

  12. Re:The dolphins have FLIPPERED out. on Armed Dolphins Released Into Gulf of Mexico · · Score: 5, Funny

    Hi, this site is all about dolphins, REAL DOLPHINS. This site is awesome. My name is Robert and I can't stop thinking about dolphins. These guys are cool; and by cool, I mean totally sweet.

    Facts:
    1. Dolphins are mammals.
    2. Dolphins fight ALL the time.
    3. The purpose of the dolphin is to flip out and kill people.

    Dolphins can kill anyone they want! Dolphins cut off heads ALL the time and don't even think twice about it. These guys are so crazy and awesome that they flip out ALL the time. I heard that there was this dolphin who was eating at a diner. And when some dude dropped a spoon the dolphin killed the whole town. My friend Mark said that he saw a dolphin totally uppercut some kid just because the kid opened a window.

    And that's what I call REAL Ultimate Power!!!!!!!!!!!!!!!!!!

  13. Re:The equipment? on The Digital Dark Age · · Score: 1

    Legally, this will not be a problem in the timescale the article implies. When restoring technology from 50 years ago, software patents (which last a paltry 17 years) don't even come into consideration. And although copyright lasts longer (thanks to the Senator for Disney), this will probably not be a problem, as the companies who own these rights will have bigger fish to fry than protecting the copyright for software that is 50 years old (assuming, that is, the company is still around - although IBM is over 100 years old and still going strong...).

    I think the bigger problem, as other posters have said, is DRM; if all content is encoded with DRM, reading these DRM-encrypted formats in 50 years will be a challenge. But even then, I'm sure the computing technology available in 50 years time will easily be able to break the primitive encryption technology we have now. Although I'm sure they'll find the process easier if they have documentation of these DRM file formats.

  14. Re:suprised? on System Exploitable With USB · · Score: 1

    It probably will be...

    The flaw isn't within Windows; it's within the device drivers. So it isn't a matter of Microsoft fixing it, it's a matter of every USB driver manufacturer fixing it.

    What's more, this kind of issue will apply to any OS with shoddy drivers.

    This is but one of the many reasons why device drivers should never run in kernel mode - that goes for everyone!

  15. Re:That's not OK? on Australia's 'e-tax' Windows Only · · Score: 1

    Considering most people use Windows it makes sense to initially develop a program for Windows. It's a responsible use of tax money.

    As an Australian taxpayer, I'd agree, except that it would be far easier for everyone if they implemented eTax as a web-based application.

    Why should I have to install a Win32 application which I will only ever use once (to ensure the latest tax law changes are included, you have to reinstall/patch each year)? This is not just inconvenient, it limits the user base to those who are technical enough (and motivated enough) to install the thing.

    If implemented as a web application, no-one would have to install anything. Not only is this arrangement far more convenient for everyone, you get support for all operating systems for free! It also becomes possible to change the application without requiring users to install updates. While there would be security issues, they would be facing the exact same security issues now (only difference is they'd be using HTTPS instead of whatever proprietrary protocol they currently use - but we all know security through obscurity does not work).

    Incidentally, the last question the eTax program asks is for comments on the program. I explained pretty much everything I'm posting here. Funnily enough, nothing has changed. Oh well, as for responsible use of taxpayer money, there's all these great public information campaigns (and anti-terror fridge magnets!) to look forward to!

    Disclaimer: I work as a web programmer, so I probably have a vested interest ;-).

  16. Re:This really was a pointless act by the EU on Windows XP N a Bust · · Score: 0

    I think the problem is that everyone (not just here on Slashdot, but also among the computer manufacturers mentioned in TFA) are missing the point.

    If I recall, XP N was not supposed to be for end-users - it was supposed to be for computer manufacturers. The whole point of XP N was to allow manufacturers to install XP N, and then install other media players (e.g. iTunes, WinAmp, etc.) on the machine. This way, other software vendors have a chance to compete through bundling deals.

    Of course, this places the burden of fostering competition on the vendors instead of where it belongs - on Microsoft. And since the vendors have no reason to bother (install XP N and iTunes vs. install regular XP) - especially when there is no price difference - no-one has bothered.

    It was a good idea, but I'm not sure it'll fly.

  17. Re:hypocrisy? on Censored Nagasaki Bomb Story Found · · Score: 1

    I used to think that was the case, but having read the Wikipedia article posted above, I'm now not so sure. It seems there were several alternative ways to end the war:

    Operation Starvation (as described here): 160 planes planted around 2,000 sea mines in many of the major ports of Japan in April 1945. This proved to be so effective that 35/47 convoy routes had to be abandoned due to the risk to shipping. This would have had a major impact on supplies and logistics. Quoth Wikipedia: "After the war, the commander of Japan's minesweeping operations noted that he thought this mining campaign could have directly led to the defeat of Japan on its own had it began earlier.". Of course, the death by starvation would have probably been as painful as the nuclear attacks.

    Operation August Storm (Here): This was to be the initial Russian foray into the war, which started after the Russian declaration of war on August 8th. The Soviets were planning to head through China, and launch a land invasion long before the planned American invasion in March 1946. Having the Russians suddenly transform from weary neutral to enemy, with a major military campaign to boot, would surely have had some effect on the morale of the Japanese military command.

    Of course, this would have also resulted in heavy civilian casualties. But if the Soviets didn't get anywhere, there would've been no reason why the Americans couldn't have dropped the bomb later (after warning the Soviet allies, of course).

    And finally, they could have always performed a demonstration blast, before actually attacking civilian targets. To their credits, the Americans did drop leaflets to warn the Japanese about their new weapons.

  18. Re:Am I dreaming? on Nothing of .Net in Longhorn? · · Score: 1

    that doesn't mean that you write perfomance sensitive code that will be used by billions of people on top of an interpreter.

    Last I checked, .NET wasn't an interpreter but a bytecode compiler - all CIL code is converted into machine code before the first instruction is executed.

    Of course, this would mean applications take longer to load - except that applications can actually be converted into machine during (or maybe before) installation time.

    Compiling MSIL into native code - found with a single Google search.

  19. Re:AJAX will also kick your ass on AJAX Buzzword Reinvigorates Javascript · · Score: 1

    Helpful Hint: Preview is your friend.

    if ((!document.getElementById) && (document.all)) {
    document.getElementById = function(id)
    {
    return document.all[id];
    }
    }

  20. Re:AJAX will also kick your ass on AJAX Buzzword Reinvigorates Javascript · · Score: 1

    Funny... I just do this: if ((!document.getElementById) && (document.all)) { document.getElementById = function(id) { return document.all[id]; } } Works in Mozilla and IE just fine (although there's probably a few other browsers where it doesn't work). In 90% of my JavaScript programming, this is all I need to write cross-browser compatible scripts.

  21. Re:Wow.... on U.S. Firms Take on Australia's CSIRO Over Patents · · Score: 3, Interesting

    By the way, the CSIRO is highly respected by a lot of Australians.

    That wouldn't explain why it's funding is being cut so drastically. The Federal Government has been reducing funding for the CSIRO (not to mention Universities - nowadays, most unis get most of their funding from overseas full-fee paying students, making it harder for ordinary Australian students out of high school to get a uni place - but that's another rant) since it got into power. Meanwhile, we all get tax cuts (but you only get the big ones if you earn over $70,000 a year)! Yay!

    Ethically, I believe patents are wrong (how can someone own an idea???), but given the funding cuts, I'm not surprised the CSIRO has resorted to finding funding from other sources.

  22. Re:I like GOTO! on Aspect-Oriented Programming Considered Harmful · · Score: 1

    It is also exceedingly useful for error handling, in that it allows you to skip the bulk of a function and still hit the cleanup section of the function.

    That is what exception handling, and the finally statement (in Java, anyway), is for.

    It has the added bonus of making sure that all the stuff you created is automatically destroyed where necessary (in C++, anyway) - you don't even have to type a thing.

  23. Re:They want feedback? I'll give em FEEDBACK on New IE7 Information Announced · · Score: 2, Insightful

    MS is working under the pretense of being a service to their customers, not a service to industry honchos.

    Funny, that. I always thought they were being a service to their shareholders, and them alone.

    Since Microsoft doesn't actually make any money from IE users, you can't expect them to follow a user-centric point of view. The only way they can make any money from their users (apart from Windows licenses, which they will get regardless of whether or not they use IE or another browser, or even switch to Linux after buying a new PC with Windows pre-installed) is from advertising revenue on sites like MSN.

    Hence, allowing ads is the only way they can perform a service for the shareholders. Oh well, that's why I use Firefox instead.

  24. Re:Real Problem on CDDL Project Leader on the CDDL · · Score: 2, Informative

    Also, notice the trend. Virtually everyone (Netscape, TrollTech, etc.) starts with their own crappy license, and eventually, switches to a dual-licensing model that includes GPL. Follow the lesson, and start off on the GPL side from the start.

    There's a reason for that, as described in TFA... as you mentioned, wherever possible, it's always easier to use someone else's code than to write some more of your own. The same goes in the proprietrary world, except that instead of all using one license (GPL/BSD/whatever), each bit of code will come attached with its own separate license.

    All the other proprietrary to open source projects would have started out with significant sections of proprietrary code owned by other groups, which could not be licensed by the GPL. Over time, these sections of code get replaced by open source code. Eventually, separate licenses are no longer a barrier, and it becomes possible to use the GPL for the whole project.

    However, after the project is initially released open source, there is a very real reason why the GPL cannot be used.

  25. Re:food.... on loband - Killer App for Developing World? · · Score: 1

    It assumes a teleology: that societies like the US and Europe are at some ideal state that others need to aspire to, that levels of consumption and production are the indices of progress.

    If that means having food, then sign me up!

    Of course, it's not necessarily that simple...