"The only proof of the date and time I posted it is as ephemeral as the text that I posted. And both can be easily changed by someone leaving no indication that the text has been changed"
When I was doing my 1st year at University, our comp sci lab setup was a Novell LAN, which had a "messageboard" feature, on which I sometimes had some interesting discussions with other students.
At one point, somebody (with some tech skills) didn't agree with my opinions; they (presumably) hacked the server (I doubt it was the administrator himself), and changed the text of some of the things I had written. They didn't change too much text, but they completely altered the meaning, and made me look like an idiot.
It's a fairly upsetting experience. I don't know who did it (although I have a strong suspicion.)
You make some decent suggestions, but it wouldn't work, for the primary reason that it would not be long at all before it was made illegal to set up or use such services. The FBI doesn't need to make too much noise about how this clearly obstructs justice (with the usual references to terrorism and child pornographers just to swing the public opinion their way) to get that all banned. Encryption might seem like a nice idea, but when the FBI decides they want that info, asks you for the key, and you refuse to give it to them, you'll be sitting in jail until you change your mind.
Yup, a full RH install installs a crapload of stuff, some of them are quite big and most people don't use 'em. I always remove the latex stuff first for example, it's pretty big and I don't use it.
But I think a general problem is knowing what to delete. There are so many packages, half the time I'm not sure what something is, so I just leave it. And I'm fairly experienced with Linux. I'd hate to be a Linux newbie wondering around the package manager.
Yes.. you make some good points. I do appreciate that Win2K is very big and has a lot in it.
"would be interesting to know how many of the bugs were actually bugs, but we may never have that piece of information"
Well, IIRC, whatsisname who distributed the memo said something like '23000 of those bugs could be "real issues" for consumers'. In other words, at least 23000 are more than just performance considerations. And 23000 is a couple orders magnitude bigger than 200.
I quite like Win2k. It's far from perfect; I have encountered quite a few bugs, and have even gotten the system to freeze up or totally crash a few times - but as someone who has to work mostly on Windows 98, it's a complete pleasure to work on. Linux has been the most stable OS I've ever developed for, by far, but the somewhat crude development tools (Visual Studio is really very good) make it slightly painful to develop on. For my Linux development I usually map my Linux home dir via SMB over the network onto a Windows box, put the two computers next to each other, and write code in Visual Studio while building the program in Linux:)
I don't think it's really fair to use MSPaint as an example of an application, it's several orders of magnitude smaller than gimp or photoshop. And, of course, a typical linux distro has several paintbrush type programs, not just gimp. And literally dozens of games (probably between 50 and 100.)
"Those 65,000 bugs are most likely spread out across everything that's bundled with the OS - and that's quite a bit"
I suspect that most of them are related to specific hardware devices; the sort of bugs that are real bugs, but are unlikely to affect the majority of users.
To an extent this is a bit of an apples/oranges comparison, given the rather different nature of a Win2k installation and a 'typical linux installation'. I guess this is why people start to resort to trying to analyze software engineering with measurements like "Lines Of Code per bug" (or sometimes "bugs per LOC":).. naturally this is a far from perfect measurement (since it doesn't take into account the complexity of a piece of code); nonetheless I wonder how Linux and Win2k would fare in such a comparison?
I know Windows2000 isn't exactly the "quality bar" that anybody should ever be trying to measure themselves against, but lets not forget that when it was released it had 65000 known bugs - and that's just for OS - a typical Linux distro has hundreds of applications as well.
I followed the case quite closely, and I read Judge Jackson's findings of fact; I was quite pleasantly surprised - he actually seemed to grasph all the issues pretty well. So I don't know where you get that idea. MS has tried to convince the public that the issues at the heart of the trial are actually really cloudy "because this is software, and it's just so complex and different from any other issue". Thats BS. The core issues in the case are pure business issues, and are the very same clear-cut issues that have existed since the first antitrust laws were put in place.
"GTK+ is C-function-oriented (like Windows API), and MFC is completely C++ OO"
Actually, GTK is object-oriented, theoretically speaking. They just "hacked" an implementation of OOP on top of C (I don't agree with their choice, I think they should've just used C++, but thats besides the point...) But it's all there.. an inheritance structure, methods for "classes" (in this case structs.) Basically there isn't really a difference between:
struct Goo {};
void Func(Goo *pGoo);
and:
class Goo()
{
void Func();
};
Virtual functions are a bit different, yes, but they amount to not too much more than using good old C style callback functions, in a certain way.
My point is, you can implement OOP in C, and the GTK guys did just that. It's not very pretty though, you end up with lots of ugly typecast macros etc. But that was their choice, and they had their reasons, which may have been valid at the time they designed it (I had a 'discussion' once on the gimp dev newsgroups with the developers, I was arguing for C++.. they somewhat rabidly disliked C++.. anyways..)
The main difference between the API's, from a design point of view, is that MFC is an application framework, and GTK is a set of objects of UI elements. Yes, MFC has some UI element wrappers, but in the overall design they don't stand on their own very well, and their interfaces aren't well genericized - everything is kind of tangled together in an MFC app. It's difficult to put across what I mean when I say that GTK UI objects are better "genericized" if you haven't programmed the stuff; but I can try elaborate with an example. In GTK, everything is a "widget", and a widget can be given certain base properties and inherit from others, and widget containers can contain any widget. So functionally, you can easily do things like add any sort of widget to a dockable "toolbar" (like the edit boxes and dropdown boxes you see in apps like MS Word or Visual Studio - those things are a pain to try to implement in MFC, since there CToolbar class is not a container, it's a specialized widget that just takes a bitmap and some resource ID's, and I might add can't handle more than 16 colours.) Now, you get this thing called a "dockable dialog" in MFC. Only it doesn't fit well at all into the MFC framework, because after you've plugged a dialog form into it, only the main view can handle ClassWizard messages from that dialog (unlike a regular MFC dialog which gets it's own class) - so nobody uses dockable dialogs, because they're so stuffed up. With GTK it's so much easier, because a widget container can handly any widget.
MFC has so many quirks and fuckups its just not true. Like for example, if your application has a modeless dialog with an edit, and it has the focus, but you happen to press keys for which their are key-shortcut "accelerators", those keys are swallowed. So you have to write extra workaround hacky things into the message pump to test if its a dialog message, and pass it on *to the current modeless dialog* (which you then have to keep track of) manually. How screwed up is that? GTK has no such problems.
What makes Gtk-- different to MFC is, as I said, MFC is an app framework. That means that when you typically create an MFC app you get a bunch of classes that perform typical roles in an application (typically, a "view" class, a "mainframe", an "app" class, and a "document" class.) These are based on the "document-view" architecture, which is something like the model-view stuff you learn in a CS course at Univ. The "mainframe" encapsulates a Windows window, with menus, toolbars, status bars etc - all the "typical MSWord-style application" elements. The "app" encapsulates the overall Windows application stuff, the "document" holds data your program uses (e.g. a spreadsheet) and the "view" provides the user with a visual representation of that data. In theory, this sounds nice and clean, but in practice in MFC it's awful. GTK is somewhat lower-level, and less spaghetti-like.. it provides a bunch of UI components, but nothing regarding tying the stuff together into an application. So the UI elements are more modular, more well-thought-out, more standalone, and generally cleaner and simpler than related MFC counterparts. And toolbars aren't limited to 16 colours.. powerful stuff, this is the 21st century after all (heavy sarcastic tone..)
MFC tries (and in simpler types of apps, succeeds) in hiding the message pump stuff away from you. So for simple applications, it can make your life quite a bit easier. But nobody really uses MFC for complex apps, because it starts showing its limitations quickly. For big programs (like 3dsmax) companies generally end up writing all their own UI stuff, so they can do "fancy" things like 256-colour toolbars, and get around all the other annoyances and limitations of MFC.
How MS managed to screw MFC up so badly I don't know. I could go on for days about it. Maybe it wouldn't be so bad to program if the documentation was more accurate, I don't know, but if you're an MFC programmer, chances are that days and sometimes weeks of any project are given up trying to figure out either how to get MFC to do something that should actually be really simple if it wasn't so badly designed, or why something in MFC just plain isn't working like the docs say it should. I suspect the only reason they give the source code for MFC out, is that it would be impossible to get anywhere at all if you couldn't spend hours and days tracing into the MFC source code to figure out what the crap it is doing.
"If you don't understand the concepts or of you don't know how everything is build up, MFC looks like a mess and not workable"
Strange.. I've been doing MFC programming for several years now, and have reasonably in-depth and broad experience with it - and the more I get to know MFC, the more it looks like a mess to me.
MFC is a mess. It's a terrible design, it clearly was not thought out properly. I know one of the MS programmers who worked on the early versions of Visual C++, and he said basically the same thing - they were in such a rush just to get *something* out the door, they pushed out the first crap they could come up with - and they knew it was a mistake all along, but they had to get "version 1" out the door. After that, they were stuck with it.
"so no main function, nothing. everything is an object"
Dig into the MFC source code a bit, underneath the hundreds of layers and layers of MFC crap, you'll find the WinMain function.
"function oriented, non-C++."
It is just plain C++, including some MS-specific C++ extensions. Check out the source code.
"The MFC library is a true C++ OO wrapper around win32"
Actually it's more of an application framework than a set of wrapper classes. The MFC classes are horribly tangled together.
"I've done some tools in MFC and all I can say is that using it is a breeze, but you have to study it to get to that point"
Sure it's a breeze to write simple tools in MFC - but wait for the day where you have to do *anything* even vaguely unusual and "outside of the rigid framework". MFC can quickly become a development nightmare, and figuring out what the hell MFC is doing half the time is painful. Since you seem to contradict yourself ("it is a breeze".. "takes time and effort") I assume you probably know what I am talking about, but haven't quite admitted it to yourself.
And BTW, I have done GTK programming too. It's a breeze compared to MFC - it's clearly a more well thought out, simpler, cleaner API. What I don't like about it is the hacky OO stuff implemented in C. I think they should have done C++ from the beginning. I remember chatting on irc once long ago, when gimp was still alpha, with some of the developers. They were clearly rabidly anti C++. Anyway, heading off topic here..
This is a very good thing for Linux
on
KBasic
·
· Score: 1
So Linux has done a reasonable job up till now of attracting numerous fairly technical programmers (i.e C, C++ etc.) But there are only so many C++ programmers. As for VB programmers, well, they're a "dime a dozen" (not meant in a negative way, just that they (and delphi programmers) are somewhat more common than C++ programmers, and in general the knowledge entry level for Basic is much lower.
A "first wave" of skilled C++ programmers coming to Linux can only last so long before it peters out. So a type of VB for Linux provides an excellent way to attract a "second wave" of programmers - perhaps slightly less technical programming than C++, but still very important for many many applications (e.g. database, multimedia etc.) You have to be an extreme zealot to deny that these languages do serve a very useful purpose, and are better suited to many tasks than C++ is.
This could be an important step in getting Linux "mainstream" (assuming thats what you want.) The Linux community isn't an elitist clique. I welcome all types. If we get some VB converts, it means a whole lot more apps for Linux.
They could quite easily do something similar to the strategy of Unisys with the gif patent. Rather than try to destroy or control a technology (which they no doubt know they would never get right) they could legally charge big, rich companies to use their innovative "hyperlink" technology.
One good candidate is CNN. Enormous company (time-warner) with lots of web sites (cnn.com plus hundreds of sites all over the world.) Charge them a smallish monthly fee for each web page (.htm file essentially) that has hyperlinks on it. Do the same for a number of large-ish companies (say, about 50 to 200 companies) that find it easier to just pay (don't make the fee *too* high) than try to fight a legal battle. If you're not too pushy, and if your rates are relatively reasonable, you can make quite a lot of money and not have anybody try to challenge you in court. Ask Unisys.
I would probably do the same if I was them. I'd make more than enough to retire a very rich man in the year 2006. Naturally BT isn't an individual though, so they might see it a little differently, but money is money. And there's the old adage, "theres no such thing as bad publicity".
OK, I admit I have not read his article, so I don't know what his reasoning is, but I fail to see how *increasing* competition in the OS market will cause prices to go *up*? Especially when you consider that MS has one of the highest profit margins on the Fortune 500 - they have a lot of room for slashing prices, and still making lots of money.
I don't buy it. I think breaking up MS would be one of the best things the USA could ever do for their economy (the breakup of AT&T was clearly one of the best things they ever did. Take it from me, I live in a country where telecomms is still a government-regulated monopoly, pricing os telecomms is incredibly high - if you're pretty wealthy you may be able to afford an ISDN line, but don't even think of being online more than 1 hour / day.. metered rates.. forget about any sort of permanent connection unless you want to pay your entire salary each month for one 64Kbit permanent connection.)
Yes, a break-up would cause a bit of inconvenience for 1 - 3 years, but then the benefits will start to come. As MS itself has perpetually tried to argue, the software market can be very dynamic (if there is competition) and you can bet your balls that there are hundreds of companies that are just waiting for the opportunity to build *decent* software in a competitive environment. Some people seem to think that if Microsoft were broken up, nobody would bother to try improve software, and we'd all go back to the fragmented days of Unix. That is just such crap - considering how much money there is to be made, there are thousands of people who would not wait a single second to jump into the market. Then we'd see some *real* innovation in computing.
One of the things that pains me most about the way MS develops software, is that they are perpetually working on *symptomatic* treatments of the problems in their software, rather than fixing the root causes. This attitude seems to permeate across their entire range of software.
When your computer is hosed by a virus, MS does not say "ok we'll improve the underlying security model in our next version of Windows", they say "it's your fault for not running an anti-virus and keeping up to date with the latest virus updates". Or, rather than admitting that Outlook has horrible security holes, they throw their hands in the air and say "e-mail viruses that can format your hard disk are just a natural unfortunate result of everyone's desire for everything to be mega-connected" (para-phrasing a quote from an actual MS exec after the ILuvYou mess.) When they write vulnerable software, rather than admitting that they merely couldn't be bothered to improve the security, they just say "well, hackers are at fault here for being such bad people, they should be put in jail". Same for virus writers. So windows has tens of thousands of viruses - Microsoft just says "we should just make it clear that virus writing is bad and that virus writers should be punished." Sort of like always leaving your front door wide open whenever you go anywhere, and then blaming the police for being slack when you get broken into.
Symantec has a number of "crash-protection" products, purely symptomatic "fixes", for which there would be no market at all had Windows not been so unstable.
Each new version of Windows seems to have a bunch of new tools to try work around existing problems in Windows - Windows 98 loads background programs to scan the registry in the background, looking for errors, and fixing them whenever the registry corrupts itself. They advertised this as a wonderful new feature of 98, but did anybody ask why the registry is corrupting itself in the first place?
MS has been making a lot of noise recently also about the wonderful new features of their new package management software: packages (like MS Office) will now automatically detect if system files they require have been corrupted, or have been deleted, and will reinstall them if they have. And yet Joe Public does not know enough to think to ask, "but why are those files getting corrupted in the first place?"
I'm sick of it, quite frankly. Why are they so afraid of just fixing the underlying causes of these problems? I'm a software developer for Windows, and my machine crashes on average around 1 to 3 times a day (and NO this is not faulty hardware or buggy drivers - this average has been about the same for at least 5 totally different computers I've worked on over the years.) I am so sick of the crashes. I am so sick of spending hours and days finding bugs that turn out to be some basic design flaw in Windows (one recent example, my software just kept totally locking up the machine, as it turned out I had deadlock involving a DirectX surface lock and a sockets "sendto" - both of these seem to grab the monstrous design flaw known as the "Win16mutex" - a single global mutex that can squelch the operating system itself). Don't even get me started on the days and weeks spent trying to figure out the screwed up Microsoft API's, that don't work properly, or where the documentation is just plaing wrong, or are badly designed. Some days I really just feel like quitting my job and finding myself a job doing *nix programming. I love the work we do though, I don't want to do any other type of work (realtime 3d graphics simulators). In South Africa those jobs are almost non-existent.
"pcAnywhere -- Linux has ssh and X for secure remote login and display."
I use pcAnywhere to connect to our NT server and vnc to connect to our Linux machine.
I prefer vnc. It's free (in both ways), it's simpler and quicker to install (simple small viewer on windows, just run it, no restarts..), it's multi-platform (pcAnywhere doesn't work at all on Linux, vnc works on Windows and *nix (and mac IIRC)), it supports true and high-colour (pcAnywhere downgrades visuals to 8-bit), you can run multiple "desktop's" with vnc if you run the server on a *nix box, and vnc also feels quite a bit faster to me. This is somewhat surprising, as the Linux box is a Pentium 200/32MB/10MBit, while the NT server is Pentium II 450/128MB/100MBit. I haven't tried to run the vnc server on the NT box yet though, that would be the most fair test.
For some reason I once filled in my email address on a Microsoft web page, I can't remember why, but I know I must have had a good reason:), and I know I would not have consented to receiving anything from them.
From then on I received periodic spam from them. The spam gave clear instructions on how to remove oneself from their spam list. This could be done in two ways, by sending a message to a given email address, or by requesting on their web site that you be removed. I first tried the email option.
Soon afterwards I got some more spam from them.
So I tried the web page option, *and* the email option again.
Soon afterwards I got some more spam from them.
So I tried the web page option several more times.
Soon afterwards I got some more spam from them.
I gave up on this. The email address was one of my email aliases, so I deleted the alias.
Even though I have a lot of knowledge about MS's shady business practices, I at least expected a little bit of professionalism from them with this. But I guess that was too much to expect.
You have a point, but in general it would only really stand if the majority of people were more well-educated than they currently are, and if the education system taught people how to think etc etc.
Unfortunately this is not the case, and the majority of Windows users, when presented with a message box, will immediately get frightened and confused, and will click on whatever the default selection for dialog box is.
It's kind of like MS in court saying "most people choose Internet Explorer over Netscape Navigator... but if you dig deeper into their study you find a bit of extra detail: that 90% of people who "chose" IE gave "it came with my computer" as their reason for this "choice".
However unfortunate this may be, it is just the way things are - and Microsoft knows that very well, and they do stuff like this deliberately to take advantage of all these people. So I'm sorry, this does not excuse MS for doing this.
Current multicast technologies do not include reliable messaging. I'm assuming MBONE uses UDP/IP (user datagram protocol). UDP drops packets. You need something like a TCP/IP version of multicast, which doesn't currently exist. Of course, it would probably require quite a bit of ACK'ing for each outgoing packet. I don't think that would work very well. Not to mention that multicast packets pretty much flood destination LAN's (if they aren't properly switched with IGMP-snooping switches.)
If it is, then I give this a big yawn. It's only vaguely evolutionary, and certainly not revolutionary.
MS has always been 5 to 10 years behind in UI stuff, and I don't see it changing. I doubt we'll see this new whistler UI stuff any time soon anyway.
It's already the year 2000 and the biggest software company in the world still doesn't know how to make a toolbar API that can handle toolbar buttons with more than 16 colours (what the hell, do they think we're still in the 80's?), and is still struggling to produce windows API functions that can handle (what are now) such basic things as alpha maps in bitmaps. Sorry, but Microsoft needs to do more than just make a few vaguely pretty dialogs and menus if they are truly serious about improving Windows on the UI front. They need to overhaul their entire attitude and their entire set of API's. GDI is still too slow; Windows Me, MS's latest offering, still has a "Win16Mutex" and *still* doesn't use pure protected mode, etc etc etc - when is MS going to stop writing software for the 80's? I certainly don't think that the difference between WindowsMe and Windows95 constitutes 5 years worth of OS improvements.
"It reminds me of the crap my high school's literary magazine used to publish - over-emotional, confused little bits of words which were nevertheless praised by others around me as evidence of talent because the "poems" repeated the high-school angst all of us were so certain we felt"
Hehe.. that brings back some memories.. I felt exactly the same about those crappy "poems". Same went for the supposed "musicians" who used to walk around school showing off their guitars and singing trite soppy drivel to the girls. The worst part was that the girls sucked that crap up. As if throwing together as many cliches as you can constitutes poetry or music..:/
"It was looking at the piece and seeing it for what it was."
No it wasn't, it was an "opinion". Believe it or not, different people can have different opinions about an article like this. There is not some absolute truth as to whether the article was good or bad. You seem to think that just because you agree with the guy that he must be stating facts, but in reality you just happen to share his opinion.
The post was not insightful in any way, all the guy did was give his own opinion, without saying at all why he felt that way. In essence, all he said was "I don't like it, it stinks, its crap".
If he had said "I don't like it, it sinks, its crap, because..." and then given some reaons, then maybe his post might have been insightful, but as it stands it is not, it's only his opinion.
Re:[a bit OT] Al Gore and the internet
on
A Letter from 2020
·
· Score: 1
"Funding a project is not "taking the initiative in creating the Internet." The Internet was created by scientists"
Well, this isn't completely correct. The Internet was "created" by whichever group of people decided initially to build the arpanet (the DoD in this case). Those scientists would not have done what they did by themselves, they were funded by someone higher up whose idea the whole thing was, and in essence, were just implementors of that idea. Sure they came up with original ideas for the lower level components that the project was built with (e.g. TCP/IP) but not for the Internet itself. I don't see that all the parties involved would have had the initiative to come work together and build what they built, without some higher level entity driving the project. (see "Computer Networks, 3rd Edition, Tanenbaum, page 47 for a few more details on the beginning of the arpanet.. it pretty much happened like that)
It's kind of like, if I decide "I'm going to create my own house", then I go draw up a few rough plans of where I want the kitchen, how big the windows must be, where the bedrooms must be etc etc. Of course, I don't have all the skills required to bring the project to completion, so I hire an architect to draw up the plans, and I hire a builder to physically put it together. But the house is still "my creation", even though I hired some help for implementation. The guy who laid down a bunch of bricks and cement is not, in general, considered the "creator" of my house.
I'm not trying to comment on Al Gore here, I have no idea what he did or didn't do regarding the internet. I'm just making a more general comment on who gets considered a "creator" of something, and 9 times out of 10 it's the person(s) who thought something up, conceptualized and designed the whole thing and then organized its implementation. The house is just one example, but that applies to most other things, especially businesses, software etc. Bjarne Stroustrup created C++, not the hundreds of people who write C++ compilers. Sun is considered the "creator" of Java, not the bunch of scientists who really created it. Etc etc etc.
Hmm.. this could be potentially interesting, as you could render some extra stuff onto the image before it was displayed. You could be surrounded by scantily clad females wherever you went:)
We could just wait a few years though; the government will start implanting devices like this into each newborn child. Then if they don't like what you're seeing/hearing they could just override it with something more benign. Very useful in wartime, for propaganda. Or for keeping citizens docile. Of course they would sell the 'space' to advertisers so that ads can be beamed directly to your eyes all day long. Loads of fun.
I'm just talking crap now.. so relax, this isn't "Yet Another/. Conspiracy Theory Post"..
"The only proof of the date and time I posted it is as ephemeral as the text that I posted. And both can be easily changed by someone leaving no indication that the text has been changed"
When I was doing my 1st year at University, our comp sci lab setup was a Novell LAN, which had a "messageboard" feature, on which I sometimes had some interesting discussions with other students.
At one point, somebody (with some tech skills) didn't agree with my opinions; they (presumably) hacked the server (I doubt it was the administrator himself), and changed the text of some of the things I had written. They didn't change too much text, but they completely altered the meaning, and made me look like an idiot.
It's a fairly upsetting experience. I don't know who did it (although I have a strong suspicion.)
You make some decent suggestions, but it wouldn't work, for the primary reason that it would not be long at all before it was made illegal to set up or use such services. The FBI doesn't need to make too much noise about how this clearly obstructs justice (with the usual references to terrorism and child pornographers just to swing the public opinion their way) to get that all banned. Encryption might seem like a nice idea, but when the FBI decides they want that info, asks you for the key, and you refuse to give it to them, you'll be sitting in jail until you change your mind.
Yup, a full RH install installs a crapload of stuff, some of them are quite big and most people don't use 'em. I always remove the latex stuff first for example, it's pretty big and I don't use it.
But I think a general problem is knowing what to delete. There are so many packages, half the time I'm not sure what something is, so I just leave it. And I'm fairly experienced with Linux. I'd hate to be a Linux newbie wondering around the package manager.
Yes .. you make some good points. I do appreciate that Win2K is very big and has a lot in it.
"would be interesting to know how many of the bugs were actually bugs, but we may never have that piece of information"
Well, IIRC, whatsisname who distributed the memo said something like '23000 of those bugs could be "real issues" for consumers'. In other words, at least 23000 are more than just performance considerations. And 23000 is a couple orders magnitude bigger than 200.
I quite like Win2k. It's far from perfect; I have encountered quite a few bugs, and have even gotten the system to freeze up or totally crash a few times - but as someone who has to work mostly on Windows 98, it's a complete pleasure to work on. Linux has been the most stable OS I've ever developed for, by far, but the somewhat crude development tools (Visual Studio is really very good) make it slightly painful to develop on. For my Linux development I usually map my Linux home dir via SMB over the network onto a Windows box, put the two computers next to each other, and write code in Visual Studio while building the program in Linux :)
I don't think it's really fair to use MSPaint as an example of an application, it's several orders of magnitude smaller than gimp or photoshop. And, of course, a typical linux distro has several paintbrush type programs, not just gimp. And literally dozens of games (probably between 50 and 100.)
"Those 65,000 bugs are most likely spread out across everything that's bundled with the OS - and that's quite a bit"
I suspect that most of them are related to specific hardware devices; the sort of bugs that are real bugs, but are unlikely to affect the majority of users.
To an extent this is a bit of an apples/oranges comparison, given the rather different nature of a Win2k installation and a 'typical linux installation'. I guess this is why people start to resort to trying to analyze software engineering with measurements like "Lines Of Code per bug" (or sometimes "bugs per LOC" :) .. naturally this is a far from perfect measurement (since it doesn't take into account the complexity of a piece of code); nonetheless I wonder how Linux and Win2k would fare in such a comparison?
I know Windows2000 isn't exactly the "quality bar" that anybody should ever be trying to measure themselves against, but lets not forget that when it was released it had 65000 known bugs - and that's just for OS - a typical Linux distro has hundreds of applications as well.
I followed the case quite closely, and I read Judge Jackson's findings of fact; I was quite pleasantly surprised - he actually seemed to grasph all the issues pretty well. So I don't know where you get that idea. MS has tried to convince the public that the issues at the heart of the trial are actually really cloudy "because this is software, and it's just so complex and different from any other issue". Thats BS. The core issues in the case are pure business issues, and are the very same clear-cut issues that have existed since the first antitrust laws were put in place.
"GTK+ is C-function-oriented (like Windows API), and MFC is completely C++ OO"
Actually, GTK is object-oriented, theoretically speaking. They just "hacked" an implementation of OOP on top of C (I don't agree with their choice, I think they should've just used C++, but thats besides the point ...) But it's all there .. an inheritance structure, methods for "classes" (in this case structs.) Basically there isn't really a difference between:
struct Goo {};
void Func(Goo *pGoo);
and:
class Goo() { void Func(); };
Virtual functions are a bit different, yes, but they amount to not too much more than using good old C style callback functions, in a certain way.
My point is, you can implement OOP in C, and the GTK guys did just that. It's not very pretty though, you end up with lots of ugly typecast macros etc. But that was their choice, and they had their reasons, which may have been valid at the time they designed it (I had a 'discussion' once on the gimp dev newsgroups with the developers, I was arguing for C++ .. they somewhat rabidly disliked C++ .. anyways ..)
The main difference between the API's, from a design point of view, is that MFC is an application framework, and GTK is a set of objects of UI elements. Yes, MFC has some UI element wrappers, but in the overall design they don't stand on their own very well, and their interfaces aren't well genericized - everything is kind of tangled together in an MFC app. It's difficult to put across what I mean when I say that GTK UI objects are better "genericized" if you haven't programmed the stuff; but I can try elaborate with an example. In GTK, everything is a "widget", and a widget can be given certain base properties and inherit from others, and widget containers can contain any widget. So functionally, you can easily do things like add any sort of widget to a dockable "toolbar" (like the edit boxes and dropdown boxes you see in apps like MS Word or Visual Studio - those things are a pain to try to implement in MFC, since there CToolbar class is not a container, it's a specialized widget that just takes a bitmap and some resource ID's, and I might add can't handle more than 16 colours.) Now, you get this thing called a "dockable dialog" in MFC. Only it doesn't fit well at all into the MFC framework, because after you've plugged a dialog form into it, only the main view can handle ClassWizard messages from that dialog (unlike a regular MFC dialog which gets it's own class) - so nobody uses dockable dialogs, because they're so stuffed up. With GTK it's so much easier, because a widget container can handly any widget.
MFC has so many quirks and fuckups its just not true. Like for example, if your application has a modeless dialog with an edit, and it has the focus, but you happen to press keys for which their are key-shortcut "accelerators", those keys are swallowed. So you have to write extra workaround hacky things into the message pump to test if its a dialog message, and pass it on *to the current modeless dialog* (which you then have to keep track of) manually. How screwed up is that? GTK has no such problems.
What makes Gtk-- different to MFC is, as I said, MFC is an app framework. That means that when you typically create an MFC app you get a bunch of classes that perform typical roles in an application (typically, a "view" class, a "mainframe", an "app" class, and a "document" class.) These are based on the "document-view" architecture, which is something like the model-view stuff you learn in a CS course at Univ. The "mainframe" encapsulates a Windows window, with menus, toolbars, status bars etc - all the "typical MSWord-style application" elements. The "app" encapsulates the overall Windows application stuff, the "document" holds data your program uses (e.g. a spreadsheet) and the "view" provides the user with a visual representation of that data. In theory, this sounds nice and clean, but in practice in MFC it's awful. GTK is somewhat lower-level, and less spaghetti-like .. it provides a bunch of UI components, but nothing regarding tying the stuff together into an application. So the UI elements are more modular, more well-thought-out, more standalone, and generally cleaner and simpler than related MFC counterparts. And toolbars aren't limited to 16 colours .. powerful stuff, this is the 21st century after all (heavy sarcastic tone ..)
MFC tries (and in simpler types of apps, succeeds) in hiding the message pump stuff away from you. So for simple applications, it can make your life quite a bit easier. But nobody really uses MFC for complex apps, because it starts showing its limitations quickly. For big programs (like 3dsmax) companies generally end up writing all their own UI stuff, so they can do "fancy" things like 256-colour toolbars, and get around all the other annoyances and limitations of MFC.
How MS managed to screw MFC up so badly I don't know. I could go on for days about it. Maybe it wouldn't be so bad to program if the documentation was more accurate, I don't know, but if you're an MFC programmer, chances are that days and sometimes weeks of any project are given up trying to figure out either how to get MFC to do something that should actually be really simple if it wasn't so badly designed, or why something in MFC just plain isn't working like the docs say it should. I suspect the only reason they give the source code for MFC out, is that it would be impossible to get anywhere at all if you couldn't spend hours and days tracing into the MFC source code to figure out what the crap it is doing.
"If you don't understand the concepts or of you don't know how everything is build up, MFC looks like a mess and not workable"
Strange .. I've been doing MFC programming for several years now, and have reasonably in-depth and broad experience with it - and the more I get to know MFC, the more it looks like a mess to me.
MFC is a mess. It's a terrible design, it clearly was not thought out properly. I know one of the MS programmers who worked on the early versions of Visual C++, and he said basically the same thing - they were in such a rush just to get *something* out the door, they pushed out the first crap they could come up with - and they knew it was a mistake all along, but they had to get "version 1" out the door. After that, they were stuck with it.
"so no main function, nothing. everything is an object"
Dig into the MFC source code a bit, underneath the hundreds of layers and layers of MFC crap, you'll find the WinMain function.
"function oriented, non-C++."
It is just plain C++, including some MS-specific C++ extensions. Check out the source code.
"The MFC library is a true C++ OO wrapper around win32"
Actually it's more of an application framework than a set of wrapper classes. The MFC classes are horribly tangled together.
"I've done some tools in MFC and all I can say is that using it is a breeze, but you have to study it to get to that point"
Sure it's a breeze to write simple tools in MFC - but wait for the day where you have to do *anything* even vaguely unusual and "outside of the rigid framework". MFC can quickly become a development nightmare, and figuring out what the hell MFC is doing half the time is painful. Since you seem to contradict yourself ("it is a breeze" .. "takes time and effort") I assume you probably know what I am talking about, but haven't quite admitted it to yourself.
And BTW, I have done GTK programming too. It's a breeze compared to MFC - it's clearly a more well thought out, simpler, cleaner API. What I don't like about it is the hacky OO stuff implemented in C. I think they should have done C++ from the beginning. I remember chatting on irc once long ago, when gimp was still alpha, with some of the developers. They were clearly rabidly anti C++. Anyway, heading off topic here ..
So Linux has done a reasonable job up till now of attracting numerous fairly technical programmers (i.e C, C++ etc.) But there are only so many C++ programmers. As for VB programmers, well, they're a "dime a dozen" (not meant in a negative way, just that they (and delphi programmers) are somewhat more common than C++ programmers, and in general the knowledge entry level for Basic is much lower.
A "first wave" of skilled C++ programmers coming to Linux can only last so long before it peters out. So a type of VB for Linux provides an excellent way to attract a "second wave" of programmers - perhaps slightly less technical programming than C++, but still very important for many many applications (e.g. database, multimedia etc.) You have to be an extreme zealot to deny that these languages do serve a very useful purpose, and are better suited to many tasks than C++ is.
This could be an important step in getting Linux "mainstream" (assuming thats what you want.) The Linux community isn't an elitist clique. I welcome all types. If we get some VB converts, it means a whole lot more apps for Linux.
They could quite easily do something similar to the strategy of Unisys with the gif patent. Rather than try to destroy or control a technology (which they no doubt know they would never get right) they could legally charge big, rich companies to use their innovative "hyperlink" technology.
One good candidate is CNN. Enormous company (time-warner) with lots of web sites (cnn.com plus hundreds of sites all over the world.) Charge them a smallish monthly fee for each web page (.htm file essentially) that has hyperlinks on it. Do the same for a number of large-ish companies (say, about 50 to 200 companies) that find it easier to just pay (don't make the fee *too* high) than try to fight a legal battle. If you're not too pushy, and if your rates are relatively reasonable, you can make quite a lot of money and not have anybody try to challenge you in court. Ask Unisys.
I would probably do the same if I was them. I'd make more than enough to retire a very rich man in the year 2006. Naturally BT isn't an individual though, so they might see it a little differently, but money is money. And there's the old adage, "theres no such thing as bad publicity".
OK, I admit I have not read his article, so I don't know what his reasoning is, but I fail to see how *increasing* competition in the OS market will cause prices to go *up*? Especially when you consider that MS has one of the highest profit margins on the Fortune 500 - they have a lot of room for slashing prices, and still making lots of money.
I don't buy it. I think breaking up MS would be one of the best things the USA could ever do for their economy (the breakup of AT&T was clearly one of the best things they ever did. Take it from me, I live in a country where telecomms is still a government-regulated monopoly, pricing os telecomms is incredibly high - if you're pretty wealthy you may be able to afford an ISDN line, but don't even think of being online more than 1 hour / day .. metered rates .. forget about any sort of permanent connection unless you want to pay your entire salary each month for one 64Kbit permanent connection.)
Yes, a break-up would cause a bit of inconvenience for 1 - 3 years, but then the benefits will start to come. As MS itself has perpetually tried to argue, the software market can be very dynamic (if there is competition) and you can bet your balls that there are hundreds of companies that are just waiting for the opportunity to build *decent* software in a competitive environment. Some people seem to think that if Microsoft were broken up, nobody would bother to try improve software, and we'd all go back to the fragmented days of Unix. That is just such crap - considering how much money there is to be made, there are thousands of people who would not wait a single second to jump into the market. Then we'd see some *real* innovation in computing.
There's also a number of Windows CE versions, plus several new derivations thereof (e.g. for car-radios, for pete's sake ..)
Also some derivations of Windows designed for specific things such as the X Box.
One of the things that pains me most about the way MS develops software, is that they are perpetually working on *symptomatic* treatments of the problems in their software, rather than fixing the root causes. This attitude seems to permeate across their entire range of software.
When your computer is hosed by a virus, MS does not say "ok we'll improve the underlying security model in our next version of Windows", they say "it's your fault for not running an anti-virus and keeping up to date with the latest virus updates". Or, rather than admitting that Outlook has horrible security holes, they throw their hands in the air and say "e-mail viruses that can format your hard disk are just a natural unfortunate result of everyone's desire for everything to be mega-connected" (para-phrasing a quote from an actual MS exec after the ILuvYou mess.) When they write vulnerable software, rather than admitting that they merely couldn't be bothered to improve the security, they just say "well, hackers are at fault here for being such bad people, they should be put in jail". Same for virus writers. So windows has tens of thousands of viruses - Microsoft just says "we should just make it clear that virus writing is bad and that virus writers should be punished." Sort of like always leaving your front door wide open whenever you go anywhere, and then blaming the police for being slack when you get broken into.
Symantec has a number of "crash-protection" products, purely symptomatic "fixes", for which there would be no market at all had Windows not been so unstable.
Each new version of Windows seems to have a bunch of new tools to try work around existing problems in Windows - Windows 98 loads background programs to scan the registry in the background, looking for errors, and fixing them whenever the registry corrupts itself. They advertised this as a wonderful new feature of 98, but did anybody ask why the registry is corrupting itself in the first place?
MS has been making a lot of noise recently also about the wonderful new features of their new package management software: packages (like MS Office) will now automatically detect if system files they require have been corrupted, or have been deleted, and will reinstall them if they have. And yet Joe Public does not know enough to think to ask, "but why are those files getting corrupted in the first place?"
I'm sick of it, quite frankly. Why are they so afraid of just fixing the underlying causes of these problems? I'm a software developer for Windows, and my machine crashes on average around 1 to 3 times a day (and NO this is not faulty hardware or buggy drivers - this average has been about the same for at least 5 totally different computers I've worked on over the years.) I am so sick of the crashes. I am so sick of spending hours and days finding bugs that turn out to be some basic design flaw in Windows (one recent example, my software just kept totally locking up the machine, as it turned out I had deadlock involving a DirectX surface lock and a sockets "sendto" - both of these seem to grab the monstrous design flaw known as the "Win16mutex" - a single global mutex that can squelch the operating system itself). Don't even get me started on the days and weeks spent trying to figure out the screwed up Microsoft API's, that don't work properly, or where the documentation is just plaing wrong, or are badly designed. Some days I really just feel like quitting my job and finding myself a job doing *nix programming. I love the work we do though, I don't want to do any other type of work (realtime 3d graphics simulators). In South Africa those jobs are almost non-existent.
"pcAnywhere -- Linux has ssh and X for secure remote login and display."
I use pcAnywhere to connect to our NT server and vnc to connect to our Linux machine.
I prefer vnc. It's free (in both ways), it's simpler and quicker to install (simple small viewer on windows, just run it, no restarts ..), it's multi-platform (pcAnywhere doesn't work at all on Linux, vnc works on Windows and *nix (and mac IIRC)), it supports true and high-colour (pcAnywhere downgrades visuals to 8-bit), you can run multiple "desktop's" with vnc if you run the server on a *nix box, and vnc also feels quite a bit faster to me. This is somewhat surprising, as the Linux box is a Pentium 200/32MB/10MBit, while the NT server is Pentium II 450/128MB/100MBit. I haven't tried to run the vnc server on the NT box yet though, that would be the most fair test.
For some reason I once filled in my email address on a Microsoft web page, I can't remember why, but I know I must have had a good reason :), and I know I would not have consented to receiving anything from them.
From then on I received periodic spam from them. The spam gave clear instructions on how to remove oneself from their spam list. This could be done in two ways, by sending a message to a given email address, or by requesting on their web site that you be removed. I first tried the email option.
Soon afterwards I got some more spam from them.
So I tried the web page option, *and* the email option again.
Soon afterwards I got some more spam from them.
So I tried the web page option several more times.
Soon afterwards I got some more spam from them.
I gave up on this. The email address was one of my email aliases, so I deleted the alias.
Even though I have a lot of knowledge about MS's shady business practices, I at least expected a little bit of professionalism from them with this. But I guess that was too much to expect.
You have a point, but in general it would only really stand if the majority of people were more well-educated than they currently are, and if the education system taught people how to think etc etc.
Unfortunately this is not the case, and the majority of Windows users, when presented with a message box, will immediately get frightened and confused, and will click on whatever the default selection for dialog box is.
It's kind of like MS in court saying "most people choose Internet Explorer over Netscape Navigator ... but if you dig deeper into their study you find a bit of extra detail: that 90% of people who "chose" IE gave "it came with my computer" as their reason for this "choice".
However unfortunate this may be, it is just the way things are - and Microsoft knows that very well, and they do stuff like this deliberately to take advantage of all these people. So I'm sorry, this does not excuse MS for doing this.
Seriously, did anyone actually not expect this? Did anyone actually believe that Carnivore might really get an independent, unbiased review?
It can't be an 'independent' review unless they truly open the system up to the public for review. Until they do that, it cannot be trusted at all.
"Not only is it likely that large software houses are cooperating with the US gov, it is probable"
I would go so far as to say that I would be extremely surprised if they weren't.
Current multicast technologies do not include reliable messaging. I'm assuming MBONE uses UDP/IP (user datagram protocol). UDP drops packets. You need something like a TCP/IP version of multicast, which doesn't currently exist. Of course, it would probably require quite a bit of ACK'ing for each outgoing packet. I don't think that would work very well. Not to mention that multicast packets pretty much flood destination LAN's (if they aren't properly switched with IGMP-snooping switches.)
If it is, then I give this a big yawn. It's only vaguely evolutionary, and certainly not revolutionary.
MS has always been 5 to 10 years behind in UI stuff, and I don't see it changing. I doubt we'll see this new whistler UI stuff any time soon anyway.
It's already the year 2000 and the biggest software company in the world still doesn't know how to make a toolbar API that can handle toolbar buttons with more than 16 colours (what the hell, do they think we're still in the 80's?), and is still struggling to produce windows API functions that can handle (what are now) such basic things as alpha maps in bitmaps. Sorry, but Microsoft needs to do more than just make a few vaguely pretty dialogs and menus if they are truly serious about improving Windows on the UI front. They need to overhaul their entire attitude and their entire set of API's. GDI is still too slow; Windows Me, MS's latest offering, still has a "Win16Mutex" and *still* doesn't use pure protected mode, etc etc etc - when is MS going to stop writing software for the 80's? I certainly don't think that the difference between WindowsMe and Windows95 constitutes 5 years worth of OS improvements.
"It reminds me of the crap my high school's literary magazine used to publish - over-emotional, confused little bits of words which were nevertheless praised by others around me as evidence of talent because the "poems" repeated the high-school angst all of us were so certain we felt"
Hehe .. that brings back some memories .. I felt exactly the same about those crappy "poems". Same went for the supposed "musicians" who used to walk around school showing off their guitars and singing trite soppy drivel to the girls. The worst part was that the girls sucked that crap up. As if throwing together as many cliches as you can constitutes poetry or music .. :/
"It was looking at the piece and seeing it for what it was."
No it wasn't, it was an "opinion". Believe it or not, different people can have different opinions about an article like this. There is not some absolute truth as to whether the article was good or bad. You seem to think that just because you agree with the guy that he must be stating facts, but in reality you just happen to share his opinion.
The post was not insightful in any way, all the guy did was give his own opinion, without saying at all why he felt that way. In essence, all he said was "I don't like it, it stinks, its crap".
If he had said "I don't like it, it sinks, its crap, because ..." and then given some reaons, then maybe his post might have been insightful, but as it stands it is not, it's only his opinion.
"Funding a project is not "taking the initiative in creating the Internet." The Internet was created by scientists"
Well, this isn't completely correct. The Internet was "created" by whichever group of people decided initially to build the arpanet (the DoD in this case). Those scientists would not have done what they did by themselves, they were funded by someone higher up whose idea the whole thing was, and in essence, were just implementors of that idea. Sure they came up with original ideas for the lower level components that the project was built with (e.g. TCP/IP) but not for the Internet itself. I don't see that all the parties involved would have had the initiative to come work together and build what they built, without some higher level entity driving the project. (see "Computer Networks, 3rd Edition, Tanenbaum, page 47 for a few more details on the beginning of the arpanet .. it pretty much happened like that)
It's kind of like, if I decide "I'm going to create my own house", then I go draw up a few rough plans of where I want the kitchen, how big the windows must be, where the bedrooms must be etc etc. Of course, I don't have all the skills required to bring the project to completion, so I hire an architect to draw up the plans, and I hire a builder to physically put it together. But the house is still "my creation", even though I hired some help for implementation. The guy who laid down a bunch of bricks and cement is not, in general, considered the "creator" of my house.
I'm not trying to comment on Al Gore here, I have no idea what he did or didn't do regarding the internet. I'm just making a more general comment on who gets considered a "creator" of something, and 9 times out of 10 it's the person(s) who thought something up, conceptualized and designed the whole thing and then organized its implementation. The house is just one example, but that applies to most other things, especially businesses, software etc. Bjarne Stroustrup created C++, not the hundreds of people who write C++ compilers. Sun is considered the "creator" of Java, not the bunch of scientists who really created it. Etc etc etc.
.. how exactly was that "insightful"?
Hmm .. this could be potentially interesting, as you could render some extra stuff onto the image before it was displayed. You could be surrounded by scantily clad females wherever you went :)
We could just wait a few years though; the government will start implanting devices like this into each newborn child. Then if they don't like what you're seeing/hearing they could just override it with something more benign. Very useful in wartime, for propaganda. Or for keeping citizens docile. Of course they would sell the 'space' to advertisers so that ads can be beamed directly to your eyes all day long. Loads of fun.
I'm just talking crap now .. so relax, this isn't "Yet Another /. Conspiracy Theory Post" ..