I think the meat of the observation was that he didn't realize GCC 3.2 wouldn't be backwards-compatible with GCC 3.1, not that he didn't realize that Gentoo 1.3 was the development version.
Oh yeah, and it's real professional to kill backwards-compatibility on a sub-major version release. Just awesome as hell. That way all your users can upgrade without thinking about it and suddenly have to reinstall their whole system. No wait, they must be morons for doing this.
As a Gentoo user, I'm hoping the new GCC will remain happily package.mask'd out and I won't have to deal with it. It's going to suck when things start depending on it though. I'd would be nice to be able to continue using "emerge -up world" without worrying about all of my C++ libraries (nothing big, just QT and KDE, ya know) becoming moot.
Basically, I've been more disappointed by GCC's developers lately than any other group, except maybe for Mooix. Of course, "lately" in the GCC sense is about two years, and it's only been about four days for Mooix. But that's just my opinion.
-- Daniel
Re:The needs of the many always outweigh..[blah,bl
on
Ethical Obligations
·
· Score: 2
I agree, but I would have worded it like this:
Your fundamental obligation to fellow man outweighs your temporary obligation to an employer. This should be taught in schools.
Also, it seems to me that in the particular case of credit card theft from a website, the sheer volume of the theft is great enough to make any attempt at less than full disclosure extremely shady and obvious on investigation.
That was always a big problem BeOS had. There weren't many big apps, but programs like "FolderShaper" (which lets you template the attributes on a folder) were going for $40 at one point. I paid $40 myself for BeXL, a graphical IDE which wasn't very cool at all. They also had a tendancy to give things 1.0 version numbers with the first release rather than upon reaching stability.
I always thought it was strange that, in the Linux community, there is little replication of effort even where programs have similar goals in mind, yet in the Windows shareware world, people always seem to be ripping off from each other. Compare Emacs, Vi, Jed, xedit, and cooledit to the 900 or so shareware editors for windows and you see what I'm talking about. Everybody wants choices, but meaningful choices are much nicer than cosmetic choices.
BTW: one of my computer science lab TAs has his clock set to October last year so he continue to use UltraEdit32 for Windows 2000. The class is Systems Programming and our textbook is "Beginning Linux Programming", by the two brits.
The old joke, "if builders built buildings the way programmers wrote programs..." is still frighteningly true; other engineering professions do not often have a commonplace equivalent of a blue-screen or core-dump.
There are several problems with this, and I tend to get ticked when I see this quote tossed around.
Firstly, software is only as reliable as the language it is written in. That may sound trite, but the reality is that your language (at least in computer science) limits your ability. This is why Perl and Python are taking off, why Lisp is returning, why everywhere you look we're fleeing from C and C++. It is much, much, much harder to write secure code in C than Python, Perl, Ruby, Java, or even C++ given the standard template library. x = raw_input() can't overflow, blow the stack, overwrite important memory locations or in other ways fuck my program. That kind of security comes at an incredible cost in C---but you get it for free in every other language. But we aren't brought up to value security like we value efficiency in school. 2% of us move on to assembly to optimize their algorithms, 80% stay with C because it's the first language they know, and the rest hurry up and use Java or Perl. It's a depressing fact that lazy people like myself, who program in Python, Eiffel, or C++ because we are simple-minded and dislike complexity, and who are quite often the only people who understand *conceptually* the ideas in CS, are also the ones who are ignored, who persist in our laziness despite the attitudes of those around us, and who have such difficulty selling our ideas to other people! It's embarassing that I can do in 50 lines of Python what it would take someone 500 in C to do, even if they had the appropriate libraries! Now ask them to make it secure, if you want a great laugh! They cannot... But when have you ever seen anything written in a language *other* than C segfault? (matlab doesn't count) Half of Lisp's good reputation, when it had one, was because it was cured of that. Python, Java, Eiffel, and C++ all have exceptions to help the programmer cope with EXCEPTIONal situations, why doesn't C sympathize? Instead we get "errno" and hundreds or thousands of EXXXXXX error code constants. Fuck that. The new generation wants a real solution; a solution that doesn't begin with C[++|#|objective]
Secondly, quality of code doesn't matter to the users anyway. If it takes 25% more C code to make something work in the last funky 2%, well it's got to be out by yesterday so forget it. C++ would be great if we could have more flexibility with the libraries; the Be people spent serious time and effort in making their system libraries expandable. (If they hadn't, we'd wind up with the MFC instead of the highly-praised BeOS model.) When Windows crashes, no one is surprised. When IIS drops a few hundred users, it's written off. When MS-SQL mangles a couple rows, it's rare. When I can't connect my modem to my ISP, the phone lines are too old. These are all excuses, but in reality, you can fuck people 2% of the time and it won't be a problem, especially on this scale. Everyone knows that Microsoft's software is shit, but can we prove it? Our bad experiences are usually buried in the last fractions of a percentage point that they can legally ignore. If a building killed 2% of the people in it, it would be a problem. Nobody dies if eBay loses one of my bids. How do we even diagnose these problems when they are that rare? It's not often that every test reality will throw at your program is available to you to know while you are designing or implementing your program. Even if they were, the people programming in inferior languages like C don't always have the luxury of doing extensive tests. There is "make" for building, CVS for versioning; where is the analog for testing? Saying quality control in programming is lax may not be an understatement, but what if we were in the towel profession? Would it matter if 2 out of 100 towels just were no good? Don't take yourself too seriously---where it is a life-or-death situation, they aren't using the same languages. They're using Ada!;)
Third, the language you would want for this purpose has already come and gone. Eiffel had every feature it could to support the ideology of software engineering. It was a terrible flop in spite of the fact it was, and continues to be a great idea. Merely knowing these features exist in any language makes me unhappy that they don't exist in C++ or Python, or any other language people can actually use. ISE somehow remains profitable without any non-commercial interest. I have to wonder where they are used, because my only experience with it that wasn't purely motivated by my own interest was that Object Oriented Software Engineering was recommended to me by many people as a great book to learn about object-orientation from. I would be tempted to say government work if that weren't Ada's niche already. Perhaps it is education, but it certainly isn't popular around here. SmallEiffel hasn't been updated in how long? Instead Eiffel leaves the earth to be one with BeOS on the great hard drive of the sky. Or something.
To summarize: 1) it's C's fault, we all know it, and we're leaving it in the dust as of now, 2) you're comparing apples and oranges, and 3) learn Eiffel.
Remember, it's only as bad as it is today because people refuse to change. It doesn't have to be this way, and in fact, I believe it is changing for the better. Not everyone is drenched in their own anticipation of.NET or the common language mangler.
As the user, type "xhost +localhost". Now everyone on your box can run apps that connect to that user's X session.
(I don't think we can necessarily hold something stupid that X windows does against Linux. After all, we usually regard X as a blight, and rightfully so).
I suspect the current cost of the XBox slightly less than US$300. The losses are an accounting trick.
It's possible. The situation is very complicated, and MS traditionally takes legal advantage in as many places as possible.
But look at the situation: XBox still uses off-the-shelf parts, PS2 uses in-house developed and manufactured parts. I'm not an expert, but I would guess that in-house development is a high one-time cost and in-house manufacture is a much lower continual cost. MS went the other way to get a quick entry into the market and here they are: sub-par product which is largely ignored if not regarded as a secondary product.
Check out what XBox's are going for on ebay: selling for $310 unopened. Whee, a whole $10 over K-Mart, auction ending in one minute... that's not exactly demand. Compare to the PS2 which is selling for $260 opened and used, no extras. That's demand. I didn't even see an opened or used XBox for sale, they were all sealed and unopened. Here's a guess as to why: so the seller can go out and buy a PS2 with the money!
MS can't annex the gaming market. I agree with you: they're sharpening their legal knives, but I just don't see how their unit which is manufactured and supported by contracted third parties could be cheaper than building a PS2 from scratch. Even if you count off-the-shelf parts, they're buying from other people to sell this unit. If they are selling it at profit, it seems to go without saying that Sony is making more money on PS2s than MS could be on XBoxes.
Xbox. MS has decided to follow the Sega Model. Buy off the shelf parts, have someone else build it, and take a loss in order to push units out the door...
Anyway, Microsoft is losing money per console sold, not including what they are spending advertising and support. Reports have it fall between $50 to $105 lost per console. MS has only said that they are losing money, and won't comment on how much.
Known fact: almost all consoles are sold at a loss, usually a fairly beefy one. MS is basically pushing a little computer, priced at $300 is the only way they could ever compete with PS2 (look at 'em and the games, ask yourself if it could possibly be "worth" more than a PS2). The real money of the console market is in the games, not the hardware. At the moment, the only console known to be sold at no loss is the PS2. Sony researched it, developed it, makes the parts, assembles the units, puts 'em in the packages, and ships them; all in-house, because they are huge and have the facilities to do just that. MS does not.
I'd say this information only reinforces your conclusion. Which is MS historically more likely to spend on: advertising or quality support?
But if you want to talk sound quality, talk wav or CD
I bring this up not to insult you, but rather because this topic seems to be seldom discussed on the internet and it's likely no one has told you about it. There is such a thing in computer audio as lossless compression, which you are undoubtedly familiar with in other forms of data (zip files, tarballs, etc.). Of course, the space you save is no where near what one can achieve with Mp3, Ogg, TwinVQ, or WMA; audio compressed losslessly tends to average 1/3 to 2/3rds the size of the input WAV file. For this sacrifice you do get a gain in encoding speed (at least, that was my impression).
The most notable piece of software for Linux is FLAC: Free Lossless Audio Codec. From the webpage:
"Goals
FLAC should be and stay an open format. The source code is all either LGPL'd or GPL'd.
FLAC should be lossless. This seems obvious but lossy compression seems to creep into every audio codec. This goal also means that flac should stay archival quality and be truly lossless for all input. Testing of releases should be thorough.
FLAC should yield respectable compression, on par or better than other lossless codecs.
FLAC should allow at least realtime decoding on even modest hardware.
FLAC should support fast sample-accurate seeking.
FLAC should allow gapless playback of consecutive streams. This follows from the lossless goal.
The FLAC project owes a lot to the many people who have advanced the audio compression field so freely, and aims also to contribute through the open-source development of new ideas."
Elsewhere on the website, the author mentions that FLAC is intended to fill all the same roles as WAV, only take up less space on the hard drive. What I would like to see is a program which, in combination with CDRDAO possibly, would archive the CD including the table of contents, so that all of the information on the disc could be archived and live CDs could be reconstituted with proper stopgaps and not 3-second ones.
Oh, and if you are curious, I tested FLAC myself a bit last week, just encoding a few WAVs and getting the checksums, then decoding back. The MD5 sums matched, which was startling to me, but that's kind of the point of this technology.:)
ftpd: Proftpd wins, hands down. Configuration is like Apache except less crufty. It's modular, and pretty secure too (I can't remember hearing of any major security holes). Some people who use it: ftp.gnu.org, download.sourceforge.net. Enough said. www.proftpd.org.
bind: bind 9? I can't really think of a replacement except DNScache, and I've never used it. I have no idea if it's better or worse or just weaker.
sendmail: I hear qmail is extremely good, if you don't mind DJB's bizarre lack of license (also applies to DNScache). Qmail purportedly runs Yahoo! Mail among others. Otherwise, the only other alternative I can think of is exim, which is designed to be easier to configure and simpler IIRC.
Right. And now, there's a lot more TV available, but the same amount that used to be broadcast is still being broadcast.
And it's still shit, too.
Once TV stations lower power or cut out transmitting all together, and reduce/eliminate overhead, what are you going to say, "I'm tired of paying $30+ a month, now give me back free TV"?
No, actually I think I'll just live without TV. Like I do now.:)
There was once a time where all the TV that was available was broadcast for free, now millions are perfectly content to fork over $30+ a month for basic service.
Huh? You can still get the same TV that was once free, for free on your television. What you can't get is 50+ crummy new channels. Basic cable is in addition to broadcast television.
The next phase will be an engineering phase, where we refine the scientific techniques to be finely, highly efficient production processes.
This was basically Bertrand Meyer's argument in Object Oriented Software Construction. Because object-oriented software lets us make everything into components, soon everything will already be implemented in these components, and then we'll have nothing but catalogues of components. Making software that works will be a matter of selecting the proper objects from the huge set of existing objects, not writing new objects (except glue code, I suppose).
One counter-argument to this is the fact that this paradigm never really took off. Even now, with COM, COM+, CORBA, XPCOM, Kparts, etc. the complexity of large scale reusability is such a large barrier, people would rather reimplement the stuff. The good CORBA book is larger than The C++ Programming Language. This is not a win for small developers, learning developers, or hobbyist developers.
Secondly, think about the personality types that are attracted to a given profession. Granted, computer science proper is mostly mathematical. But coders, developers, BS degree-bearing computer scientists, and information technology majors are not engineering types. If you've heard of the Meyers-Briggs test, you might notice that programmers and their ilk are all *highly* intuitive people. Engineers are not intuitive, they are much heavier on the logic side of things. I don't see this changing anytime soon.
Third, I just don't see the early days of computer science as being very artsy. Most computer science programs today sprang from mathematics programs yesterday, barring a few strange exceptions like CMU. Fortran and assembly are not exactly expressive languages. Lisp is, and there is still a coterie of functional Lisp/Schemers out there.
Algorithms tend to be conjured up in the dark via black magic or intuition. How did C. A. R. Hoare invent Quicksort? There's no formula for making algorithms. But by the same token--if it were artistic, there would be more than the rather small number of sorting algorithms we have.
Plus, if you track programming languages, we seem to be tending towards more expressive languages and less towards stricter languages. FORTRAN has a lot of bizarre limitations, but as we all know, Perl will try very hard to execute line noise. Modern languages are starting to support function currying again, bringing us back to the Y-combinator and other idols of functional programming. We're in the midst of a bit of a strange renaissance with dozens of usable operating systems and hundreds of languages. Ever heard of CHILL? Every installation of GCC on Linux compiles four languages: C, C++, Objective C and Chill.
If this is getting a bit fuzzy, compare it to the trends in music of late. In the beginning, there was classical music, which was composed by many but only geniuses are truly remembered for it. This was the case for an extremely long time, compared to the trends of just the past 50 years. Then, with the advent of rock and roll, everything we used to know is thrown out of the window. But I could make a very good argument that since the 50's, there have been alternating periods of individualism versus genre-ism, stagnation versus creation, and combination versus invention. Take the 50's: there was basically one sound, and everybody was doing it. The 60's roll around, and suddenly rock is moving in a million directions again. The name of the group or the genre becomes more important than the person behind it. Then, in the 70's, we return to the persistance of a few simple genres with the name of the individuals being more important. Singer/songwriters and so forth.
The essential problem with taking this perspective on either computing or music, is that it doesn't take into account the exponential increase in the amount of producers and consumers of the product (be it music or information technology). If I try and sell you my alternating-decade theory of musical progress, what was the dominant music form in the 90's? For that matter, what programming environment is most prevalent today? You're tempted to say object-oriented, but what fraction of GNU/BSD applications are actually written in something besides C? At my school, exactly one course teaches you object-oriented principles in the computer science department, and it is the survey of programming languages class. However, the new IT program certainly takes it into account more. But which programming languages are actually the most prevalent these days? About the only thing you can do is rank them in order of usage:
Computing no longer is centralized enough to have a single ideology. There is no process going on which is holding computer science to anyone's prediction anymore.
Of course. I've been in computers for about 10 years, and it's always fashionable to pronounce that the limit is about to be reached and "gosh, won't we all be fucked then, eh?"
Problem is, "assuming the technology won't change significantly" is the essential assumption, and turns out to be the wrong assumption. Discoveries like this happen essentially at random, but regularly enough to keep us moving forward. While I know there is an upper limit, I don't believe we'll approach it for some time. Theoretically, it will become an asymptotic approach when we get near to the theoretical limit (ie. the speed of light). But any sort of prediction is totally ridiculous as you have seen yourself.
I'm under the impression the constant stream of doomsaying has been going on since the inception of computing. Which seems to make sense; the arguments for it haven't really changed in the years I've been here. They almost always say "unless there's some breakthrough, we'll hit the hard limit in X years," and then some breakthrough happens. Or we just find a great way to cheat.
in short, don't bother dealing with the problem until the problem exists.:) the problem doesn't exist yet, so don't worry yet. Even if some critical hard limit were reached we could hack around it as we do now in servers with RAID or SMP.
As computer users, we find certain interfaces annoying and useless. And yet, those "features" of certain software are in high demand.
Most of us (not all, by any means) are not "car hackers", and I think you know what I mean by that. The car hackers are probably rebelling against this car technology which we're calling "cool" in the same way that they would call some features of Windows "cool."
Of course, there's always dissension. But, as in the software world, I always say more choice is better than less.
The XML file still needs a DTD to show how the xml content should render, and this can be used to maintain the file lock in.
No, the DTD is just used to determine if a file is both "well-formed" and "valid". Rendering is, per spec, up to the client.
that is to say, XML is well formed if it is syntactically correct. XML is valid if it only uses properties and tags in contexts that it makes sense to use them in. (eg. putting a paragraph in html before the body doesn't make sense, so it I presume it isn't allowed in the XHTML DTD, even though most browsers just assume you forgot to start the body).
we could reverse engineer an XML-to-whatever translator using regular XML software if Word were an XML format very easily--XML is just text. We just wouldn't be able to tell a "good" document from a bad one.
Read again. He did NOT claim any form of conspiracy; he simply identified common interest. There IS a common interest in all those sectors in staying employed.
According to this logic, we would never have moved to C from assembly language.
All I have to say is; next time you set up a Windows or Linux box, and you're a few days into it, know that you could have done this all in 15 minutes on a mac.
That may be, but if you put me and another guy on two different (or even the same) linux machine, setting it up for a few days, and come back and compare, you'll see two completely different environments.
On the Mac, 15 minutes later we'll both have made change that can be undone in less than 3.
which tells me that although the mac interface is intuitive and simple, and there is not much setting up that needs to happen... there also isn't much change that can happen. We'll both be conforming to someone else's vision (probably) and that is unacceptable to me. Vi and Emacs are both extremely powerful, speedy editors---but only for those who have taken the time to learn them. By the same token, whenever you watch someone edit their Autoexec.bat in Notepad, you see how slow and inefficient the "intuitive" means can be.
Use Ion, your efficiency will triple because you won't touch the mouse and won't screw with any windows. It's the pinnacle of the "steep curve = more better" debate for window managers.
1. what's wrong with being a server closet geek toy? it's not like everything commercial, shrink-wrapped, shiny and expensive is worth something (regardless of pricetag).
2. what's the problem with making developers and users more aware of the system? educating the users should be priority one, not writing software to work around their ignorance.
3. people have been saying "Linux will forever be ______ if we don't _______" since 1992. I remember John Dvorak of PC Magazine saying something like, "Linux will never exist outside college dormitories" I can't remember his reasoning exactly. This is a man I considered (up until that point) to be an industry oracle, and I gather that he still has some of this reputation today.
The nice thing about Linux is that, like a virus;), it will change into whatever you want. if you don't like having two APIs, spend a weekend tinkering with GNOME and KDE (or UDE or XFCE or whatever) and pick one you like. Then make your own distro (or use Linux From Scratch) and roll your own. Stand on the rooftop and shout, "KDE IS THE STANDARD FROM NOW ON!" Or whichever you pick.
And the cute thing is, the people who usually say, "We need standards here!" think that there is a Linux bureaucrat somewhere they could bribe into making this happen. No. The fact is, whichever desktop is default in the most Linux For Windows type deals will become the de-facto "standard" among newbies and the rest of us can jolly well use ION.
Hardware is a place where standards are important. Standard slots, sockets, plugs, cards, etc. Even there we don't have just one thing, we have all these crazy ISA and PCI and PCMCIA. Goll darn if only they'd pick one and stick with it! Software is not a hard science. User preference is key. But I must be lecturing the wrong person, because anyone who has a problem with the way Linux runs things and isn't writing code right now to solve the problem hasn't learned the essential truth behind the free software movement. Go use HP-UX.
I think the meat of the observation was that he didn't realize GCC 3.2 wouldn't be backwards-compatible with GCC 3.1, not that he didn't realize that Gentoo 1.3 was the development version.
Oh yeah, and it's real professional to kill backwards-compatibility on a sub-major version release. Just awesome as hell. That way all your users can upgrade without thinking about it and suddenly have to reinstall their whole system. No wait, they must be morons for doing this.
As a Gentoo user, I'm hoping the new GCC will remain happily package.mask'd out and I won't have to deal with it. It's going to suck when things start depending on it though. I'd would be nice to be able to continue using "emerge -up world" without worrying about all of my C++ libraries (nothing big, just QT and KDE, ya know) becoming moot.
Basically, I've been more disappointed by GCC's developers lately than any other group, except maybe for Mooix. Of course, "lately" in the GCC sense is about two years, and it's only been about four days for Mooix. But that's just my opinion.
--
Daniel
I agree, but I would have worded it like this:
Your fundamental obligation to fellow man outweighs your temporary obligation to an employer. This should be taught in schools.
Also, it seems to me that in the particular case of credit card theft from a website, the sheer volume of the theft is great enough to make any attempt at less than full disclosure extremely shady and obvious on investigation.
--
Daniel
That was always a big problem BeOS had. There weren't many big apps, but programs like "FolderShaper" (which lets you template the attributes on a folder) were going for $40 at one point. I paid $40 myself for BeXL, a graphical IDE which wasn't very cool at all. They also had a tendancy to give things 1.0 version numbers with the first release rather than upon reaching stability.
I always thought it was strange that, in the Linux community, there is little replication of effort even where programs have similar goals in mind, yet in the Windows shareware world, people always seem to be ripping off from each other. Compare Emacs, Vi, Jed, xedit, and cooledit to the 900 or so shareware editors for windows and you see what I'm talking about. Everybody wants choices, but meaningful choices are much nicer than cosmetic choices.
BTW: one of my computer science lab TAs has his clock set to October last year so he continue to use UltraEdit32 for Windows 2000. The class is Systems Programming and our textbook is "Beginning Linux Programming", by the two brits.
--
Daniel
The old joke, "if builders built buildings the way programmers wrote programs ..." is still frighteningly true; other engineering professions do not often have a commonplace equivalent of a blue-screen or core-dump.
;)
.NET or the common language mangler.
There are several problems with this, and I tend to get ticked when I see this quote tossed around.
Firstly, software is only as reliable as the language it is written in. That may sound trite, but the reality is that your language (at least in computer science) limits your ability. This is why Perl and Python are taking off, why Lisp is returning, why everywhere you look we're fleeing from C and C++. It is much, much, much harder to write secure code in C than Python, Perl, Ruby, Java, or even C++ given the standard template library. x = raw_input() can't overflow, blow the stack, overwrite important memory locations or in other ways fuck my program. That kind of security comes at an incredible cost in C---but you get it for free in every other language. But we aren't brought up to value security like we value efficiency in school. 2% of us move on to assembly to optimize their algorithms, 80% stay with C because it's the first language they know, and the rest hurry up and use Java or Perl. It's a depressing fact that lazy people like myself, who program in Python, Eiffel, or C++ because we are simple-minded and dislike complexity, and who are quite often the only people who understand *conceptually* the ideas in CS, are also the ones who are ignored, who persist in our laziness despite the attitudes of those around us, and who have such difficulty selling our ideas to other people! It's embarassing that I can do in 50 lines of Python what it would take someone 500 in C to do, even if they had the appropriate libraries! Now ask them to make it secure, if you want a great laugh! They cannot... But when have you ever seen anything written in a language *other* than C segfault? (matlab doesn't count) Half of Lisp's good reputation, when it had one, was because it was cured of that. Python, Java, Eiffel, and C++ all have exceptions to help the programmer cope with EXCEPTIONal situations, why doesn't C sympathize? Instead we get "errno" and hundreds or thousands of EXXXXXX error code constants. Fuck that. The new generation wants a real solution; a solution that doesn't begin with C[++|#|objective]
Secondly, quality of code doesn't matter to the users anyway. If it takes 25% more C code to make something work in the last funky 2%, well it's got to be out by yesterday so forget it. C++ would be great if we could have more flexibility with the libraries; the Be people spent serious time and effort in making their system libraries expandable. (If they hadn't, we'd wind up with the MFC instead of the highly-praised BeOS model.) When Windows crashes, no one is surprised. When IIS drops a few hundred users, it's written off. When MS-SQL mangles a couple rows, it's rare. When I can't connect my modem to my ISP, the phone lines are too old. These are all excuses, but in reality, you can fuck people 2% of the time and it won't be a problem, especially on this scale. Everyone knows that Microsoft's software is shit, but can we prove it? Our bad experiences are usually buried in the last fractions of a percentage point that they can legally ignore. If a building killed 2% of the people in it, it would be a problem. Nobody dies if eBay loses one of my bids. How do we even diagnose these problems when they are that rare? It's not often that every test reality will throw at your program is available to you to know while you are designing or implementing your program. Even if they were, the people programming in inferior languages like C don't always have the luxury of doing extensive tests. There is "make" for building, CVS for versioning; where is the analog for testing? Saying quality control in programming is lax may not be an understatement, but what if we were in the towel profession? Would it matter if 2 out of 100 towels just were no good? Don't take yourself too seriously---where it is a life-or-death situation, they aren't using the same languages. They're using Ada!
Third, the language you would want for this purpose has already come and gone. Eiffel had every feature it could to support the ideology of software engineering. It was a terrible flop in spite of the fact it was, and continues to be a great idea. Merely knowing these features exist in any language makes me unhappy that they don't exist in C++ or Python, or any other language people can actually use. ISE somehow remains profitable without any non-commercial interest. I have to wonder where they are used, because my only experience with it that wasn't purely motivated by my own interest was that Object Oriented Software Engineering was recommended to me by many people as a great book to learn about object-orientation from. I would be tempted to say government work if that weren't Ada's niche already. Perhaps it is education, but it certainly isn't popular around here. SmallEiffel hasn't been updated in how long? Instead Eiffel leaves the earth to be one with BeOS on the great hard drive of the sky. Or something.
To summarize: 1) it's C's fault, we all know it, and we're leaving it in the dust as of now, 2) you're comparing apples and oranges, and 3) learn Eiffel.
Remember, it's only as bad as it is today because people refuse to change. It doesn't have to be this way, and in fact, I believe it is changing for the better. Not everyone is drenched in their own anticipation of
--
Daniel
As the user, type "xhost +localhost". Now everyone on your box can run apps that connect to that user's X session.
(I don't think we can necessarily hold something stupid that X windows does against Linux. After all, we usually regard X as a blight, and rightfully so).
--
Daniel
I suspect the current cost of the XBox slightly less than US$300. The losses are an accounting trick.
It's possible. The situation is very complicated, and MS traditionally takes legal advantage in as many places as possible.
But look at the situation: XBox still uses off-the-shelf parts, PS2 uses in-house developed and manufactured parts. I'm not an expert, but I would guess that in-house development is a high one-time cost and in-house manufacture is a much lower continual cost. MS went the other way to get a quick entry into the market and here they are: sub-par product which is largely ignored if not regarded as a secondary product.
Check out what XBox's are going for on ebay: selling for $310 unopened. Whee, a whole $10 over K-Mart, auction ending in one minute... that's not exactly demand. Compare to the PS2 which is selling for $260 opened and used, no extras. That's demand. I didn't even see an opened or used XBox for sale, they were all sealed and unopened. Here's a guess as to why: so the seller can go out and buy a PS2 with the money!
MS can't annex the gaming market. I agree with you: they're sharpening their legal knives, but I just don't see how their unit which is manufactured and supported by contracted third parties could be cheaper than building a PS2 from scratch. Even if you count off-the-shelf parts, they're buying from other people to sell this unit. If they are selling it at profit, it seems to go without saying that Sony is making more money on PS2s than MS could be on XBoxes.
Daniel
From Acts of Gord, specifically Proclamations 2:
Xbox. MS has decided to follow the Sega Model. Buy off the shelf parts, have someone else build it, and take a loss in order to push units out the door...
Anyway, Microsoft is losing money per console sold, not including what they are spending advertising and support. Reports have it fall between $50 to $105 lost per console. MS has only said that they are losing money, and won't comment on how much.
Known fact: almost all consoles are sold at a loss, usually a fairly beefy one. MS is basically pushing a little computer, priced at $300 is the only way they could ever compete with PS2 (look at 'em and the games, ask yourself if it could possibly be "worth" more than a PS2). The real money of the console market is in the games, not the hardware. At the moment, the only console known to be sold at no loss is the PS2. Sony researched it, developed it, makes the parts, assembles the units, puts 'em in the packages, and ships them; all in-house, because they are huge and have the facilities to do just that. MS does not.
I'd say this information only reinforces your conclusion. Which is MS historically more likely to spend on: advertising or quality support?
Daniel
I bring this up not to insult you, but rather because this topic seems to be seldom discussed on the internet and it's likely no one has told you about it. There is such a thing in computer audio as lossless compression, which you are undoubtedly familiar with in other forms of data (zip files, tarballs, etc.). Of course, the space you save is no where near what one can achieve with Mp3, Ogg, TwinVQ, or WMA; audio compressed losslessly tends to average 1/3 to 2/3rds the size of the input WAV file. For this sacrifice you do get a gain in encoding speed (at least, that was my impression).
The most notable piece of software for Linux is FLAC: Free Lossless Audio Codec. From the webpage:
"Goals
Elsewhere on the website, the author mentions that FLAC is intended to fill all the same roles as WAV, only take up less space on the hard drive. What I would like to see is a program which, in combination with CDRDAO possibly, would archive the CD including the table of contents, so that all of the information on the disc could be archived and live CDs could be reconstituted with proper stopgaps and not 3-second ones.
Oh, and if you are curious, I tested FLAC myself a bit last week, just encoding a few WAVs and getting the checksums, then decoding back. The MD5 sums matched, which was startling to me, but that's kind of the point of this technology.
Daniel
Since its proven that we are moving apart, Its safe to assume that we will move apart forever.
Since it is proven that you are ignorant now, it is safe to assume you will be a moron forever.
Daniel
There are solid competitors for all of these.
ftpd: Proftpd wins, hands down. Configuration is like Apache except less crufty. It's modular, and pretty secure too (I can't remember hearing of any major security holes). Some people who use it: ftp.gnu.org, download.sourceforge.net. Enough said. www.proftpd.org.
bind: bind 9? I can't really think of a replacement except DNScache, and I've never used it. I have no idea if it's better or worse or just weaker.
sendmail: I hear qmail is extremely good, if you don't mind DJB's bizarre lack of license (also applies to DNScache). Qmail purportedly runs Yahoo! Mail among others. Otherwise, the only other alternative I can think of is exim, which is designed to be easier to configure and simpler IIRC.
Next time, post some links or something. Sheesh.
Daniel
Let me also suggest flag.blackened.net for a more thorough introduction to the philosophy.
Daniel
Already, his lab has produced a transistor just 10 atoms across.
Do you read the articles, or do you just bitch?
Daniel
All the TV that was available was broadcast
:)
Right. And now, there's a lot more TV available, but the same amount that used to be broadcast is still being broadcast.
And it's still shit, too.
Once TV stations lower power or cut out transmitting all together, and reduce/eliminate overhead, what are you going to say, "I'm tired of paying $30+ a month, now give me back free TV"?
No, actually I think I'll just live without TV. Like I do now.
Daniel
There was once a time where all the TV that was available was broadcast for free, now millions are perfectly content to fork over $30+ a month for basic service.
Huh? You can still get the same TV that was once free, for free on your television. What you can't get is 50+ crummy new channels. Basic cable is in addition to broadcast television.
The analogy doesn't exactly hold.
Daniel
A couple things about your argument...
The next phase will be an engineering phase, where we refine the scientific techniques to be finely, highly efficient production processes.
This was basically Bertrand Meyer's argument in Object Oriented Software Construction. Because object-oriented software lets us make everything into components, soon everything will already be implemented in these components, and then we'll have nothing but catalogues of components. Making software that works will be a matter of selecting the proper objects from the huge set of existing objects, not writing new objects (except glue code, I suppose).
One counter-argument to this is the fact that this paradigm never really took off. Even now, with COM, COM+, CORBA, XPCOM, Kparts, etc. the complexity of large scale reusability is such a large barrier, people would rather reimplement the stuff. The good CORBA book is larger than The C++ Programming Language. This is not a win for small developers, learning developers, or hobbyist developers.
Secondly, think about the personality types that are attracted to a given profession. Granted, computer science proper is mostly mathematical. But coders, developers, BS degree-bearing computer scientists, and information technology majors are not engineering types. If you've heard of the Meyers-Briggs test, you might notice that programmers and their ilk are all *highly* intuitive people. Engineers are not intuitive, they are much heavier on the logic side of things. I don't see this changing anytime soon.
Third, I just don't see the early days of computer science as being very artsy. Most computer science programs today sprang from mathematics programs yesterday, barring a few strange exceptions like CMU. Fortran and assembly are not exactly expressive languages. Lisp is, and there is still a coterie of functional Lisp/Schemers out there.
Algorithms tend to be conjured up in the dark via black magic or intuition. How did C. A. R. Hoare invent Quicksort? There's no formula for making algorithms. But by the same token--if it were artistic, there would be more than the rather small number of sorting algorithms we have.
Plus, if you track programming languages, we seem to be tending towards more expressive languages and less towards stricter languages. FORTRAN has a lot of bizarre limitations, but as we all know, Perl will try very hard to execute line noise. Modern languages are starting to support function currying again, bringing us back to the Y-combinator and other idols of functional programming. We're in the midst of a bit of a strange renaissance with dozens of usable operating systems and hundreds of languages. Ever heard of CHILL? Every installation of GCC on Linux compiles four languages: C, C++, Objective C and Chill.
If this is getting a bit fuzzy, compare it to the trends in music of late. In the beginning, there was classical music, which was composed by many but only geniuses are truly remembered for it. This was the case for an extremely long time, compared to the trends of just the past 50 years. Then, with the advent of rock and roll, everything we used to know is thrown out of the window. But I could make a very good argument that since the 50's, there have been alternating periods of individualism versus genre-ism, stagnation versus creation, and combination versus invention. Take the 50's: there was basically one sound, and everybody was doing it. The 60's roll around, and suddenly rock is moving in a million directions again. The name of the group or the genre becomes more important than the person behind it. Then, in the 70's, we return to the persistance of a few simple genres with the name of the individuals being more important. Singer/songwriters and so forth.
The essential problem with taking this perspective on either computing or music, is that it doesn't take into account the exponential increase in the amount of producers and consumers of the product (be it music or information technology). If I try and sell you my alternating-decade theory of musical progress, what was the dominant music form in the 90's? For that matter, what programming environment is most prevalent today? You're tempted to say object-oriented, but what fraction of GNU/BSD applications are actually written in something besides C? At my school, exactly one course teaches you object-oriented principles in the computer science department, and it is the survey of programming languages class. However, the new IT program certainly takes it into account more. But which programming languages are actually the most prevalent these days? About the only thing you can do is rank them in order of usage:
Structured (C) > Object-Oriented (Python) > Functional (Lisp) > Logical (PROLOG)
Computing no longer is centralized enough to have a single ideology. There is no process going on which is holding computer science to anyone's prediction anymore.
I never had a game that didn't use WinCE crash.
Daniel
Of course. I've been in computers for about 10 years, and it's always fashionable to pronounce that the limit is about to be reached and "gosh, won't we all be fucked then, eh?"
:) the problem doesn't exist yet, so don't worry yet. Even if some critical hard limit were reached we could hack around it as we do now in servers with RAID or SMP.
Problem is, "assuming the technology won't change significantly" is the essential assumption, and turns out to be the wrong assumption. Discoveries like this happen essentially at random, but regularly enough to keep us moving forward. While I know there is an upper limit, I don't believe we'll approach it for some time. Theoretically, it will become an asymptotic approach when we get near to the theoretical limit (ie. the speed of light). But any sort of prediction is totally ridiculous as you have seen yourself.
I'm under the impression the constant stream of doomsaying has been going on since the inception of computing. Which seems to make sense; the arguments for it haven't really changed in the years I've been here. They almost always say "unless there's some breakthrough, we'll hit the hard limit in X years," and then some breakthrough happens. Or we just find a great way to cheat.
in short, don't bother dealing with the problem until the problem exists.
Daniel
As computer users, we find certain interfaces annoying and useless. And yet, those "features" of certain software are in high demand.
Most of us (not all, by any means) are not "car hackers", and I think you know what I mean by that. The car hackers are probably rebelling against this car technology which we're calling "cool" in the same way that they would call some features of Windows "cool."
Of course, there's always dissension. But, as in the software world, I always say more choice is better than less.
Daniel
Actually, the primary objection to Mp3 is not the compression. Rather, it is the licensing issues surrounding Mp3.
Read all about it at http://www.xiph.org/about.html.
Daniel
You have obviously never heard of Oroborus. Also, ratpoison, wm2/wmx, etc.
There are window managers that do NOTHING but draw window borders, moving all of the other functionality into userspace.
Daniel
The XML file still needs a DTD to show how the xml content should render, and this can be used to maintain the file lock in.
No, the DTD is just used to determine if a file is both "well-formed" and "valid". Rendering is, per spec, up to the client.
that is to say, XML is well formed if it is syntactically correct. XML is valid if it only uses properties and tags in contexts that it makes sense to use them in. (eg. putting a paragraph in html before the body doesn't make sense, so it I presume it isn't allowed in the XHTML DTD, even though most browsers just assume you forgot to start the body).
we could reverse engineer an XML-to-whatever translator using regular XML software if Word were an XML format very easily--XML is just text. We just wouldn't be able to tell a "good" document from a bad one.
Daniel
MACINTOSH - Most Applications Crash; If Not The Operating System Hangs
Daniel
Read again. He did NOT claim any form of conspiracy; he simply identified common interest. There IS a common interest in all those sectors in staying employed.
According to this logic, we would never have moved to C from assembly language.
Daniel
All I have to say is; next time you set up a Windows or Linux box, and you're a few days into it, know that you could have done this all in 15 minutes on a mac.
That may be, but if you put me and another guy on two different (or even the same) linux machine, setting it up for a few days, and come back and compare, you'll see two completely different environments.
On the Mac, 15 minutes later we'll both have made change that can be undone in less than 3.
which tells me that although the mac interface is intuitive and simple, and there is not much setting up that needs to happen... there also isn't much change that can happen. We'll both be conforming to someone else's vision (probably) and that is unacceptable to me. Vi and Emacs are both extremely powerful, speedy editors---but only for those who have taken the time to learn them. By the same token, whenever you watch someone edit their Autoexec.bat in Notepad, you see how slow and inefficient the "intuitive" means can be.
Use Ion, your efficiency will triple because you won't touch the mouse and won't screw with any windows. It's the pinnacle of the "steep curve = more better" debate for window managers.
Daniel
1. what's wrong with being a server closet geek toy? it's not like everything commercial, shrink-wrapped, shiny and expensive is worth something (regardless of pricetag).
;), it will change into whatever you want. if you don't like having two APIs, spend a weekend tinkering with GNOME and KDE (or UDE or XFCE or whatever) and pick one you like. Then make your own distro (or use Linux From Scratch) and roll your own. Stand on the rooftop and shout, "KDE IS THE STANDARD FROM NOW ON!" Or whichever you pick.
2. what's the problem with making developers and users more aware of the system? educating the users should be priority one, not writing software to work around their ignorance.
3. people have been saying "Linux will forever be ______ if we don't _______" since 1992. I remember John Dvorak of PC Magazine saying something like, "Linux will never exist outside college dormitories" I can't remember his reasoning exactly. This is a man I considered (up until that point) to be an industry oracle, and I gather that he still has some of this reputation today.
The nice thing about Linux is that, like a virus
And the cute thing is, the people who usually say, "We need standards here!" think that there is a Linux bureaucrat somewhere they could bribe into making this happen. No. The fact is, whichever desktop is default in the most Linux For Windows type deals will become the de-facto "standard" among newbies and the rest of us can jolly well use ION.
Hardware is a place where standards are important. Standard slots, sockets, plugs, cards, etc. Even there we don't have just one thing, we have all these crazy ISA and PCI and PCMCIA. Goll darn if only they'd pick one and stick with it! Software is not a hard science. User preference is key. But I must be lecturing the wrong person, because anyone who has a problem with the way Linux runs things and isn't writing code right now to solve the problem hasn't learned the essential truth behind the free software movement. Go use HP-UX.
Daniel