Slashdot Mirror


User: Chuck+Messenger

Chuck+Messenger's activity in the archive.

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

Comments · 198

  1. Rewriting is good. Money is even better. on How To Make Software Projects Fail · · Score: 1

    I think the author has it completely wrong. It's suicide for (most) companies to keep alive ancient code. Indeed, the author makes this case strongly himself, in reference to (what he describes as) the ridiculous Word Perfect people who insisted on coding everything in assembler. At some point (he rightly implies), in order to remain competitive, Word Perfect should have dumped their old assembly-coded model and switched to C or Pascal (in the context of the time period). In other words, code it from scratch.

    The author takes the attitude that Microsoft's success was a function of its "correct" thinking vis-a-vis using old code. It doubt it very much. Firstly, there's the obvious example of the continuous replacement of 16-bit DOS code with 32-bit Win95 code. And of course, the completely-written-from-scratch OS, WinNT. At this point, they've completely dumped everything but NT. What percentage of code shipping with XP does the author imagine is more than, say, 5 years old?

    The author fails to see that Microsoft's technological success is primarily a function of the amount of money it has at its disposal. Indeed, the author provides an excellent example: where parallel teams developed Word -- one from an old codebase, and one starting from scratch.

    How can a company compete with Microsoft? That's the real question. Is success more likely by sticking with old code, or by writing from scratch? Very clearly, the answer must be -- by writing from scratch. Consumers only want the best. Microsoft has the wherewithal to be constantly writing from scratch. In order to even get a shot at them, you must at the very least have a very clean, very well-designed framework. That Netscape didn't have the resources to develop the old Netscape 4 line in parallel with the Netscape 5/6 line is not a failure of Netscape technical management. Indeed, in the long term, the only _possibility_ to continue to compete with Microsoft's deep-pocketed browser effort would be to have a very-well-designed (therefore, mostly-written-from-scratch) framework. The 2-3 year gap between Netscape 4 and a usable Netscape 6 is the unfortunate-but-necessary result of being squeezed by Microsoft's monopoly position.

    I think history will judge the rewrite (and, as importantly, the open-sourcing) as a very tough, but correct, decision. At least this way, Netscape is still in the game, rather than going the way of Word Perfect. The foundations are there to build on.

  2. The author has it backwards (C++ vs Java) on C# From a Java Developer's Perspective · · Score: 1, Funny
    The author asserts that Java is akin to the English language (non-centralized evolution directed by popular demand), while C++ is akin to the official French as defined by the Academe Francaise.


    Firstly, the author has this backwards: the Java language design is dictated by one organization -- Sun; thus, akin to French. C++ is the result of broad-based popular demand (the C++ Standards Committe).


    Secondly, C++ is in many important ways significantly more modernized than Java. Most important is templates and the STL, supporting generic programming. Also important is multiple inheritance. While C++ doesn't "have garbage collection", it is no problem to design a programming framework in C++ which supports it (and you can design a much more sophisticated garbage collection system than comes with Java). Besides, with STL-style programming, it is becoming ever-less important as an issue. Meanwhile, Java suffers from its inability to precisely control when objects are destructed.


    Java certainly has its uses. It's a fantastic platform for rapid cross-platform development. However, it's not in the same league as C++. You'd write Java in C++, but not the reverse. It's somewhere between a scripting language and a "serious" language.

  3. Re:Space power 1000+ times more expensive (Zubrin) on Space-based Power Generation · · Score: 1

    It's still ridiculous. Why not just put the solar stations on boring-old Earth? What are we trying to save by putting them in orbit, exactly?

    As Zubrin laments, the attention paid to this idea detracts from the legitimate space program.

  4. Space power 1000+ times more expensive (Zubrin) on Space-based Power Generation · · Score: 1, Insightful

    Robert Zubrin makes the convincing case (in Entering Space, for example), that space-based power is an absurd idea. Launching stuff into space is outrageously expensive -- alot more than you probably think. The advantages to be gained, in terms of solar power efficiency, from space basing vs ground basing is only on the order of 2 or 3. The disadvantage in terms of cost of building in space vs on the ground is on the order of 1000 or 10,000 (or was it even higher? Can't remember -- I only recall it was multiple orders of magnitude greater).

    In short, space-based power is a red herring. Just build a ground-based power station that's 2 or 3 times bigger. It will be hundreds or thousands (or more?) times cheaper to build and operate.

  5. Re:Slashdot pretty Bolshy! on US Starts Attacking Afghanistan · · Score: 1

    I never mentioned Socialism. But now that you brought it up...

    There are all sorts of -isms, most of them being anti-thetical to free choice in one way or another. Give people freedom to choose, and they create a market economy on their own volition.

    Of course, it's also the case that in any democracy, there will be a majority which is in favor of helping themselves to some of the wealth of the rich minority. That's what Socialism is about, I'd say. So some degree of Socialism is inevitable, and even desirable (in that democracy is desirable). The big political arguments center around finding the right balance.

    Still, the Good Stuff (high tech, etc) comes from free market economics, not from Socialism (e.g. government research). (Again, except in that free choice is only possible in a democracy, and a democracy is only possible with Socialism.)

    (This leads into the argument by the Socialist crowd about how the Moon program supposedly gave rise to the computer industry. And how the govt (if not Al Gore) created the Internet. Etc. All pretty lame arguments. Free and vigorous competition, backed by property rights and large dollops of capital is what creates and drives high tech. The new twist is Open Source. I don't have a good way to categorize that yet -- it's a brand-new phenomenon, which I'm still trying to come to grips with. It's not Socialism, which is about redistribution of wealth. So what is it? Something new.)

  6. Slashdot pretty Bolshy! on US Starts Attacking Afghanistan · · Score: 1

    I always find it ironic to read great volumes of strident anti-market, anti-liberal, anti-freedom, anti-Western, anti-globalisation, etc., commentary on a high-tech forum such as Slashdot. The phrase "biting the hand that feeds you" comes to mind. I think it's because such forums are greatly over-represented by young people (old people like me mostly don't have the time/inclination). Young people simply haven't learned about the hard ways of the Real World. They really have no conception of the hard sacrifices which have been made by generations before them, on their behalf, to give them the world they now so blithely enjoy. And would so recklessly squander (if they had any real power). Luckily, they tend to get real as they grow more experienced. That's why our system continues to work.

  7. Re:A critique (and take a look at Ocaml) on The D Programming Language · · Score: 1

    Make that:

    We've substituted a single &lt&lt for a "put", left paren, right paren, and a dot-or-a-comma. Four syntactic elements have been reduced to one.

  8. Re:A critique (and take a look at Ocaml) on The D Programming Language · · Score: 1
    I suggested:

    put(put(put(put(cout, "Value "), valName), " = "), val);

    and you suggest:

    cout.put("Value").put(valName).put("=").put(val) ;

    These both require the same number of syntactic elements: 4 "put"'s, 4 sets of (...), and one ";", in addition to the essential elements: "cout", "Value", valName, " = " and val. The only difference is that yours uses four dots in place of my 4 commas.

    By contrast, with operator overloading, we have:

    cout &lt&lt "Value " &lt&lt valName &lt&lt " = " &lt&lt val;

    Here, we've reduced the syntactic complexity, substituting a single &lt&lt for a left paren, right paren, plus a dot-or-comma (depending whether you use your formulation or mine). Three syntactic elements have been reduced to one.
  9. Link to distro-comparison chart? on Mandrake 8.1 Beta1 (Raklet) Released · · Score: 1

    In a recent discussion about another distro, someone posted a link to a great chart which showed the release numbers of all the major apps included in each distro. Can someone please post that link?

  10. Re:A critique -- macros on The D Programming Language · · Score: 1
    You're probably right, that if C++ had a macro system as powerful as Lisp's, that it would supplant templates.

    And so, I think a worthwhile avenue, in terms of programming language development, would be to get rid of C++ templates, and the C preprocessor, and replace them both with a suitably-powerful Lisp-style macro system.

    Easier said than done, of course!

    A development which is somewhat in the spirit of a powerful Lisp-sytle macro system is Open C++. I haven't tried to use it for anything, though. As compared to Lisp, the problem is that it is very obtuse (due to the messy nature of C++ syntax compared with Lisp). But it does let you do symbolic-level macro programming in C++.

    LISP style symbolic manipulation of code permits the construction of special purpose syntax that is closer to the problem at hand
    Exactly. In other words, Lisp macros let you program with fewer keystrokes (ultimately). That makes them a Good Thing.
  11. Re:A critique (and take a look at Ocaml) on The D Programming Language · · Score: 2, Insightful
    Yes -- overloading can be abused. It's the same reasoning people use against macros -- that they can be even _more_ abused. It takes an experienced hand to use them effectively.

    Still, overloading, and macros, add a great deal to the language, increasing the possibilities for creating powerful libraries, with simple, intuitive interfaces. If you want a language which protects you from yourself, use Java. But don't expect to be as productive! (he says as he ducks for cover...)

    As an example (of overloading), consider the C++ streams library. Imagine having to do:

    put(put(put(put(cout, "Value "), valName), " = "), val);
    It's horrible! Instead, we can write:
    cout << "Value " << valName << " = " << val;
    Nice! It's much faster to type, and much more clear (hence more maintainable and less prone to bugs).

    In my experience, in general, reducing the number of keystrokes (increasing the conciseness of code) leads, simultaneously, to faster-written, less-buggy, and more-maintainable code.

    In general.

  12. Re:generics in ocaml? on The D Programming Language · · Score: 1

    I'm unfortunately a mere beginner at Ocaml -- working through a tutorial (slowly). As I understand it, you can use the module system to achieve generic programming. But I haven't tried it out myself ... yet.

  13. Re:A critique (and take a look at Ocaml) on The D Programming Language · · Score: 1
    You left off "(ultimately)" from my quote.

    That is to say, the goal is to get to a given result (meaning, fully debugged and fully functional) as quickly as possible. In my experience, that means, doing it in the fewest keystrokes possible. Excess verbiage not only takes more time to type in, but more importantly, it opens more possibility for bugs. The goal is to write in the most abstract, most succinct possible way.

  14. A critique (and take a look at Ocaml) on The D Programming Language · · Score: 3, Interesting
    Briefly examining the specs for D, here are some thoughts which occur to me, based on my experiences with C++, Java, and a few other languages:

    o Multiple inheritance is absolutely necessary. The main way it is useful is for Java-style interfaces.

    o Getting rid of macros (preprocessor) is a very bad idea. What is needed is even more powerful macros (see Lisp).

    o Generic programming with templates is the greatest thing about C++ -- the one feature that puts C++ above other programming languages. I'd rate generic programming capability as being a "must" of any modern programming language.

    o Operator overloading is a Good Thing, in that it helps you set up a well-designed library as a "mini-language". Good programming practice involves reducing the number of keystrokes required to achieve a given result (ultimately). Generic programming, macros, and operator overloading all go in this direction. Eliminating them is a step backward.

    o You say "smart pointers are irrelevant in a garbage collected language". Not true. There are many types of resources which a destructor might free besides memory. One weakness of Java vs C++ is that it is hard to control Java's "destructors".

    The "best" programming language (for general-purpose "big" programming projects) I've encountered may be Ocaml. It can compile into native code as efficient as C++'s. It can also be interpreted. It is stronly typed. It supports a powerful "functional" programming idiom. It looks pretty good to me, although I haven't used it for anything "real" yet. But if you're looking for the "be-all, end-all" modern programming langauge, I think Ocaml's worth taking a look at.

  15. Re:That is just bullshit. on Office-Worker Linux: It's Here and It Works · · Score: 1
    And thats paying the bills how?
    You can't sell sand for very much. You can sell glass for more. You can sell silicon wafers for even more. There's always additional value to be added.
  16. Re:That is just bullshit. on Office-Worker Linux: It's Here and It Works · · Score: 1
    I didn't say your business should or should not give things away for free. What I'm saying is that the open source phenomenon is a fact of life. It's great for consumers. Businesses must adapt. In the end, the economy is enriched. See -- the thing is that nobody is "giving things away". Giving something away is like this: I have a computer, I give it to you, I no longer have the computer. That's not what's happening.

    A business who open sources their software may have little downside, and potential upside. Think of Netscape. It can be a very smart move. The nature of software is very strongly toward a single huge winner. The market craves standardization. But whereas a traditional business might sell out to one of the big fish, in the software business, the big fish don't want to buy the little fish. They want to _eat_ the little fish. It would do nothing for Microsoft to buy out Netscape. The software's completely incompatible.

    So what is a software business to do, when it faces being eaten by a big fish? Rather than simply going bankrupt, the software business can instead shift to a new model. They can open-source their software (something which actually costs a certain effort -- it's not free), and give it a new lease on life. Something which would otherwise have become worthless, instead retains some value.

    Another way to look at it is as a clash between marketers and programmers. In general, marketers will beat the programmers every time. But open source changes the balance. A lean programmer-rich operation can take on a highly-capitalized market behemoth, by open-sourcing their code. It doesn't cost them that much, if the business is basically a consulting business. Within their open-sourced architecture, they have a unique ability to add value -- to keep the contracts coming in. All at a tiny fraction of the cost of the market behemoth. Also, small independent developers can find great value in using (and in the process, adding to) the open source codebase.

    And so, by this mechanism, the software business may not actually be winner-takes-all, ultimately. Time will tell -- it's too early to see whether open source software will truly challenge the Microsoft's and Oracle's of the world.

    In any case, whether it does or doesn't, there's nothing nefarious about it. It's quite natural. Just a fact of life which is unique to the software business.

  17. Re:Proprietary programmers as coal miners? on Office-Worker Linux: It's Here and It Works · · Score: 1
    What you describe is jobs replaced by other jobs. When the products are given away jobs really disappear.
    What I have described is not jobs disappearing, but peoples' jobs changing. The open source software phenomenon results in the continuous and efficient commoditization of software. To add value, you need to _run_, not walk, to stay ahead of the curve.

    It's a fantastic development for consumers of software - obviously. It's a great challenge for software-creating businesses -- a sea change. But ultimately, like all changes to the business environment, this can be a great opportunity for the fleet of foot, as well as being disastrous for those who fail to adapt.

  18. Re:Proprietary programmers as coal miners? on Office-Worker Linux: It's Here and It Works · · Score: 1
    A economy can never be built on giving everything away. That is not market economy, that is communism. Not the same thing.
    Not at all. You simply misunderstand the current nature of the software industry. A new fact has emerged -- the fact of open source software. A successful business figures out how to adapt to this new fact. Why would a customer pay for something which has become free? The customer wants value above-and-beyond what he can get for free, when he pays you money.

    Therefore, you must figure out how to _start_ with what's free, then add your value on top of that. Everyone ends up winning. You've become more productive (i.e. you deliver products of higher value). The customer gets more bang for their buck. The economy triumphs (as it can't help doing, as along as everyone attempts to maximize their bang-for-the-buck, and some outside force doesn't stop them).

  19. Ogg vs MP3 is transparent -- users won't know diff on Ogg The Conqueror? RC2 Is Out · · Score: 1
    I don't see the big motivating factor for people to go to Ogg Vorbis. The future seems to be divided up between MP3 and copy-protected formats provided by companies like Microsoft.
    Ogg is the only well-working format which is free of licensing issues. Users won't care about licensing, but manufacturers and developers will. Users won't be loyal to MP3 -- they'll go with whatever is available that works. It's not like Windows vs Linux -- there's practially no hurdle at all to a user using Ogg (if their player/encoder supports it). After all, WMA (and all the proprietary formats) are really several different formats, grouped together under one name. Users have no clue what the real, underlying formats are. Why should they care? Ogg will be just another format, which users will be as quick to use as any other (if the performance is there). From a developer's viewpoint, once Ogg is stable (perhaps it is -- I don't know), why not include Ogg support? The more formats you support, the more valuable your player/encoder product is to your users.
    What am I missing? What is going to motivate anyone but idealogically motivated open source advocates to switch to Ogg Vorbis?
    But it isn't necessary to "switch" at all. With the advent of Ogg, high quality audio compression has become a commodity.
  20. Proprietary programmers as coal miners? on Office-Worker Linux: It's Here and It Works · · Score: 1
    That's like saying the deployment of the cotton gin cost jobs. Yes, in the short run. But in the long run, what matters is the creation of value. Perhaps office software is now mostly a commodity. Paying premium prices for a commodity doesn't really "save jobs". That's a Euro-socialist notion. For example, as the British govt has scaled back state support for coal miners, there have been job losses, of course (i.e. fewer coal miners). But the point is that the money that was being spent to support these uneconomic coal miners was a net drag on the economy. Laying them off frees up resources elsewhere in the economy, leading to a net _gain_ of jobs (higher-value-added ones).

    It's just the same with software. Why should companies continue paying premium prices for commodites? If you think they should in order to "protect programmers' jobs", then I'd say your thinking is misguided. Companies (and govt's!) should do whatever is most economically efficient. If it costs 1/10th as much to run your organization with open source software, then you're not only saving your company money, but you're freeing resources in the economy -- adding to the net efficiency of the economy.

    Let's look at it at a micro-economic level, assuming that it really _is_ 90% cheaper for the typical office to use an open source vs commercial OS/office-suite/etc (we can debate that seperately). In that case, the market is sending a signal that alot of programmers should switch to developing from a base of open source software. In other words, as a programmer, perhaps you can be more efficient (that is, add more value per hour of work) by leveraging a huge base of open source software, than you can by developing for a proprietary system.

    The argument I'm making is that it is always "best" for the economy if organizations use the cheapest available solution. That leads to the most efficient utilization of resources in that economy. Ultimately, that leads to the most jobs of the highest quality (whatever type of jobs those might be). If open source solutions are cheaper than proprietary ones, then it's better for the economy if they are used. The net result, in that case, would be a shift of programmer resources from building on a base of proprietary software, to building on a base of open source software.

    The only real question is: is open source software cheaper than proprietary software? If it is, then it's good for the economy if open source is used.

  21. How do you disable popups in IE? on Pop Up Advertising Continues to Suck · · Score: 1

    Like the title says...

  22. These aren't "bonds" at all on Funding Software Development Through Bonds · · Score: 1

    "Bond" is the wrong word to describe the instrument described in the article. A bond is something which would be bought by a financial institution, or Granny, or whatever -- someone who simply expects to get their money back at some defined time, with a defined amount of interest proportional to the risk. What's being described is much like the system used by GMT Games to fund new wargame development. Their system, called the P500, has been working successfully for two or so years now. See www.gmtgames.com for details. Wargames are very much a niche market. What happens is, a wargame designer completes the design of a game, then goes to GMT with it. If it passes muster, GMT publishes it on the P500 list (with description, etc). People are then asked to pre-buy the game (at a discout to the eventual retail price). When you sign up for the game, you are giving permission to have your credit card be charged when the game is finally published. When 500 people sign up for the game, GMT takes the plunge, and publishes it. The idea is that these sales should cover the cost of materials, at least. Any additional (retail) sales provides the profit. If 500 people don't sign up within some time period (a year, I think), then the listing is cancelled. Perhaps this model could work for open source. In any case, I don't think "bond" is the right word to use for this kind of transaction. You're then saying that when I sign up for a game on the P500, I've bought a "bond". That's not the conventional meaning of the word.

  23. Smart. Very smart. on Interested In A US Linux For PS2? · · Score: 1

    A perfect use for free software. Done right, it will let game developers leverage the huge stable Linux code base. It's hard to imagine the wonders which might emerge from that. Ultimately, cheaper and better software. Why do it? Well, first, let's look at it fron Sony's point of view. With a relatively small effort on their part, they open up their platform to a whole new class of developer. The kinds of people who like tinkering and pushing the envelope for the fun of it. For example: I can see a TiVo-like open-source app being developed for such a platform. Imagine how cool _that_ would be! Not to mention an Ogg-Vorbis based home-stereo system. All with integrated Mozilla-based web access. It could be _fantastic_! The PS2 could become, in effect, an open-source settop box. From my perspective, as a potential PS2 buyer, of course I'd rather leverage my money by buying into an extendable system, rather than a closed system. Duh. And why would anyone develop apps for it? Well, firstly, because it could become a huge market (depending on how Sony handled it). And secondly, enthusiasts would create open/free software, just for the fun of it -- because they could.