Well, that may be, but nothing else seems to be there - no cat, sh, rm, echo. I'm not too sure what any of this means. But the error page is certainly the IIS one. Curiouser and curiouser...
Re:But what about hot dogs and apple pie?
on
The Future of MREs
·
· Score: 1
I had a roommate in college, in the early 80s, who brought home a couple of cases of C rations from his Reserve weekend once. Is that what these were? There were a lot of cans of scrambled eggs and meat substance in them that he called "Green Eggs and Ham". It was pretty yucky, but not too bad with some Worcestershire sauce.
There was some kind of skanky meat-based thing that neither of us would touch. I wonder if that was the pork patty.
$gTrollText =
"We should all keep in mind this simple truth: _SUBJ_ is dying. You don't need to be Kreskin to predict _SUBJ_\'s future. The hand writing is on the wall: _SUBJ_ faces a bleak future. In fact there won't be any future at all for _SUBJ_ because _SUBJ_ is dying. Things are looking very bad for _SUBJ_."
## todo:
## Better deal with multiple-word subjects
## Add "river of red ink", etc.
## Update Usenet stats, insert
## need "charnel house" refs - how to autogen?
## snappy title
Re:Wrong - this is a very good book. Read it.
on
Dot.Con
·
· Score: 1
So, you found two errors in the introduction, in a section that was wholy unrelated to the main subject, and concluded that the entire book was untrustworthy? On that basis, you "didn't even pay a lot of attention to many factual details", as you had already made up your mind by the first few pages. I'm sorry, but that doesn't add to your credibility as a critic.
Maybe the book wasn't what you had expected, and yes, the title is silly and misrepresentative. It sounds like one of many out there that tries to discuss, in layman's terms, what happened and how. That is going to involve going over the same ground as everyone else. If the author doesn't have anything new to say, then that's a valid criticism. If he doesn't point fingers there, there and there and say "these were the guilty parties", and instead gives different players varying amounts of blame, it probably has more to do with the fact that many of the parties involved did some things right and other things wrong. In the real world, there are not many pure villians, and things are rarely the fault of any particular individual.
And no, misattributing the inventors of the modem is not even an oversimplification. It's completely irrelevant. It has nothing to do with the book, and is clearly outside of the author's expertise. If I wrote a book on C++ programming, and got the name of the inventor of quicksort wrong, that would not make my description of multiple inheritance any less trustworthy. A better criticism would be "this book needed a much better job of proofreading", and that would seem to be the editors' mistake.
My Palm III and cell phone were in a fanny pack that somehow managed to fling itself out of my car and into the middle of the street. By the time I'd recovered it (after someone less cluefully impaired pointed this out), at least one car had driven over it. Needless to say, the Palm was lunchmeat. The screen looks really cool, though, kind of like a piece of safety glass that someone smacked their head into hard enough to crush but not break.
Interestingly enough, the phone, a Nokia, works perfectly, except for the case being a little loose. I wrapped one end with tape and it's fine.
Semi-related to the actual story, I once spilled most of a cup of coffee into the top of my FM receiver, which happened to be on at the time. It was pretty disappointing, though - no sparks, no smoke, the damn thing didn't even stop playing. I unplugged it and let it dry out for a few days, and it was as good as new, plus the room smelled like French Roast.
No, the Uncertainty Principal says that by reading the papers, you may or may not receive detention. You will be able to know where detention will be held, or for how long, but not both...
Is it just me, or was the picture of the barred galaxy just a little disappointing? Looks just like all the other pictures of spiral galaxies I've seen, except a little less spiral-like. Of course, if I knew what all the parts meant, it might be a little more impressive.
Unfortunately, once you've seen those mind-staggering pictures of galaxies and stars being born, you get a little jaded.
Well, this is what will inevitably happen as Linux becomes commercially successful. There are really only two directions that things can go. Either Open Source will remain a comparatively local phenomenon based on the original ideals of the community, or it will become commercially successful and shows like this one will tend towards Comdex. It really can't be both.
Sure, commercial vendors are selling commercial, proprietary products based on Open Source. That's their job. There's nothing wrong with selling software - it's been keeping me employed for over 10 years. Many, if not most, Linux users may prefer the fact that it's Free, that's true. But that is not the audience for the folks showing on the.com side here. Yes, Linux *is* just another platform, and don't you ever forget it. The sooner Linux and BSD become ubiquitous, the sooner we'll see business software available for more than Windows as the standard. If I was an IT director and I needed to do PHP development or move my users off of Outlook, I would be thrilled to buy $10,000 worth of software to do that.
Ximian may seem slick, funded, and bullshit, but two of those attributes are awfully important for establishing credibility. As to their stewardship of Gnome, let me remind you of the example of Berkeley Software, who sold the After Dark screensaver for a number of years. It was wildly popular (you almost never saw a Mac or PC back in the day that wasn't running it). They made a lot of money, deservedly, on it, and used those profits to fund (*warning: wayback machine failing*) software for disabled and deaf/blind users. The thing is, if a company is run by people that are not completely greedy, they can, and often will, do Good Things with the money they make.
It sounds like there are some killer products available for Free and for money. That's great. That's perhaps as it should be, depending on how you see Open Source's future. But don't worry too much about the cloying, claustrophobic feeling you get from a trade show like this. Trust me - they're all like that. Go to Comdex or (shudder) E3 sometime, you'll see.
As to the sales people, some of my best friends are sales people. Most of them are incredibly smart, sharp and damn good at what they do. They may seem insincere, dumb and clueless bacause they really don't understand what the hell they're talking about most of the time. Imagine yourself plopped into the marketing department for a few weeks, having to do whatever it is they do up there, and I think you'll see what I mean.
That said, there are far, far too many sales and marketing units out there that seem insincere, ass-kissing, and downright dumb because they *are* insincere, ass-kissing, and downright dumb. Unfortunately, these are often the very characteristics the enable them to survive and propagate in the corporate gene pool.
I believe it's "Where Wizards Stay Up Late (excellent history of the development of ARPANET) that mentions that Tomlinson chose the '@' symbol not only because of its meaning, but because it was one of the few characters not yet spoken for. Of course, there was one obscure OS that used '@' for something or other, and this stirred up a bit of controversy when these folks had to escape email addresses all over the place.
(Too lazy to go in the living room and look up the exact reference, so I may be talking out my ass. What a surprise.)
Oh, I like that. Now I can say "look at all that emaux I have" or "I sent the emaux to Al and Betty" today. Reduces the ambiguity of a plural form that can be the same as the singular.
Of course, it's entirely too cutsey to live, so scratch that idea. Please. In fact, delete this entire post before Jon Katz or some marketing droid picks it up. Please, I beg you.
I think this sums up the need for a "well-rounded education" pretty well, especially the last sentence:
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."
I think a lot of posters here misunderstand the point of a college education. It's not all about getting a job, or learning exactly what you need for a degree, or even learning exactly what you want to learn. The idea is to learn how to learn, and to discover new things, about the world and about yourself. And, just maybe, to learn something you didn't know before and say "Wow. That's really wonderful. I'd like to learn more about that. Maybe I'd even like to do that as a career." Even if you just have a pool of interesting knowledge that lets you have stimulating conversations with other interesting people, you've won.
I can only imagine that most of the people here suggesting that one only needs to have the knowledge that they need for their current field of interest and that everything else is "a waste of time" are young, and, therefore, have not yet realized how important literature, history, philosophy, theology, and art are. My father used to say "all knowledge is useful". I think that was one of the most important things he taught me.
My advice: every semester, try to take a course, from anywhere in the catalog, just because it looks interesting. Who knows? It might even change your life.
One of the nice bennies of more development would be one could do $ getbankballence.sh | netscape --prompt4password. Now wouldn't that be cool in cron.
Hmm, not if you're gonna be prompting for a password it wouldn't...
instead of putting together a costly porting effort, they could do something that makes everyone happy - publish the programmer's manual to the device.
Boy, I'm with you on that. It wasn't all that long ago (relatively speaking) that you used to get these this by default. Just the other day, I looked at an old Commodore 64 manual - there were at least 50 pages of interfaces, register info, clocking info - and that wasn't even counting the programmer's interface to the floppy drive. Every now and then I pull out some dusty old piece of hardware and find I/O ports and circuit diagrams with it. I believe even those 8-ball Quickcams (???) had the interface available, if you asked them.
Like you suggest, it doesn't cost anything to publish the specs. You might even wind up becoming a standard (Think 'SCSI", "DOS", and "BIOS". Then think "MicroChannel").
One comment about your first point, though: Free software is wonderful, but if we keep thinking of it in an us-vs-them context - "our own software" - we risk being permanently consigned to the "hobbyist OS" category. Now that's not necessarily a bad thing - personal computers were for years considered hobbyist devices and look where we wound up. However, it sure would be nice to be considered to be relevant, if not exactly profitable, by the software industry.
I know people hold very strong and well-reasoned beliefs on both sides of this issue. Personally, I have no problem paying a Reasonable Amount for software, even if I don't get the source, as long as it does a good job. I'd rather it was Free, but sometimes, commercial is the only alternative.
Well, now that Slashdot's back, I read this again and boy, do I sound grumpy. I apologize if this came off like a flame. I just really wanted to speak to the somewhat-common point of view that goes "Companies should port their stuff to free OSes because [it would help the community|they'd get more customers|Microsoft needs competition|it would be so damn cool]". I happen to agree with all those arguments, to some extent, but my point was basically that there are a lot of costs and practical reasons why they don't.
You know, that's not a valid argument. Kodak hasn't ported their software to other platforms because, other than the Mac, they'll sell maybe 6 of them (OK, so that's a bit of an overstatement. And yes, I know they give it away with the camera. My point is still valid.)
Do you have any idea how much it costs to port software? Unles it was written to be cross-platform in the first place, you have to rewrite most or all of it from scratch. Add to this the costs of QA, marketing, inventory, sales and shipping for multiple SKUs, product managers for each platform, etc. etc., and there is absolutely no business case for supporting anything other than the most lucrative platforms.
When I worked in consumer software (think two Very Big Name kids/game/home sw companies that now exist in name only) I used to talk myself blue in the face, trying to convince management to do our Windows-only products for the Mac as well. And these were shops that, until recently (this was ca. 1992 - 1995) had had major Macintosh presences. Management's argument? "Mac has 8% market share. We can't justify the development costs". I used to rage against this attitude, but now that I'm older and a little wiser, I can understand it.
Companies have to make money. They have to justify the expense of developing something based on the number of units they expect to sell. They can't just say (even if they'd like to) "Gee, we really support the free software community. Let's do SuperFoo 2001 for Linux and BSD, 'cause that's The Right Thing To Do." Yeah, Kodak sell cameras, not software, and yeah, a lot of geeks who buy digital cameras use alt-oses, but they still have to consider the costs involved.
You can say that toolkits like Qt and Gtk and such will make porting software a snap. They don't. I've written lots of crossplatform code, and used and written crossplatform toolkits. Let me tell you, it's not that easy. A widget set will get you a long way, as will simply writing your core code with wrappers for platform-specific bits. However, you still need to deal with GUIs, drawing and text routines, event handling, interface standards, and a million other little idiosyncracies, not to mention resource formats. You can abstract a lot of that out, but you know what? It's a full-time job for several people to maintain the code needed for each platform. And let's not even talk about QA.
The bottom line is that we're not relevant to the vast majority of the consumer software industry. 2% or whatever of the market does not exactly make the beancounters wet. Yeah, this is changing, but it's the current state of affairs. Plus, of course, there's the fact that the culture expects the product to be free. But that's another long argument...
It's from the Marx Brothers movie "Horsefeathers", the one where Groucho winds up as the dean of some jerkwater college. The bit comes from a scene where the boys are trying to get into a speakeasy, whose password is "swordfish". You know the deal - knock on the door, the bouncer opens a slot, you say "Joe sent me" and he says "What's the password?"
You're welcome. He's still writing, but has gotten sober and seems to have found religion of late (not that getting sober is not a fine thing, but he insists on telling you-the-reader all about it in more detail than you ever wanted). Some of his more recent work is a little less - edgy - than his earlier stuff. Still, he's one of my all-time favorite scifi writers.
Oh, and beware of "Hollow Earth", which is still in print. Maybe it was just me, but it reads like Tolkien trying to write Huckleberry Finn. I personally could never get into Tolkien, so it left me a little disappointed.
You know, as I think about it, I recall new entries in the Software/Wetware/Freeware series, of which some or all may be back in print.
No, no - that's a Rudy Rucker book - Software. All the now-old hippies (called 'pheezers', for 'freaky geezers') have been walled off in Florida and kept happy and stoned and out of the way. Then everything goes to hell, in a scheme involving robots and their inventor, eternal life via the brain stored in hardcopy, and a malevolent Mr. Frostee truck.
Sadly out of print, I think, but check it out at the library/your well endowed used bookstore/Bibliofind. Although I highly recommend starting with "White Light", "Spacetime Donuts" or "Master of Space and Time" (also all OOP). Gotta love stoner mathemeticans.
It's probably like the road crews who paint yellow lines over roadkill in the middle of the street. You know - "yeah, I know it's in the way, but the boss said 'put it here', and this is too good to pass up".
I used to work construction - I can attest. The drywallers are the biggest animals on the site. If it stood still long enough, they slapped sheetrock over it. What? There's a 6 inch gap in the corner? The tapers'll cover it. The piece too big? Whack it a bit with the hammer. No problem.
And I believe I recall making a few time capsules when installing bathtubs. Ah, memories of being young and stupid...
Will you *please* go away. I am so damn tired of seing your posts in every thread that mentions BSD. At least come up with some new material. This post is just about an exact cut and paste from your post of the other day
Then there was this, this, and this. You did another cut-n-paste here.
This one took the novel step of attacking the compiler. Cool.
So do you actually sit around in your underwear thinking this shit up, or did you hack up some kind of comment generator? Either way, you need a new hobby. Or a girlfriend. I will say, though, that you're somewhat humorous, in a Bullmer-Lytton-kind-of way. Phrases like "mired in a mortifying tangle
of fatal trouble" and "head spinning downward spiral" are pretty classic for their alliteration value alone. Anyway, now that that's done, you can leave now. Preferably to the mountains of Uzbekistan or someplace else they don't have electricity.
And no, I *don't* have anything better to do that search Slashdot archives. But this fool's been pissing me off for a while.
Having been trolled, I'll now pull the hook from my mouth.
I've been using it for years when I needed to pass documents around to folks on various platforms. Mostly, this goes back to Mac/Win/DOS and various flavors of Word/Word Perfect/etc. However, I believe most modern apps support it. Under Unix, WordPerfect, Star Office and Applix all appear to.
RTF is a pretty robust fotmat. It supports tables, embedded graphics, numbered and bulleted lists, and lots more. The format is freely available (oh, and you'll never guess where it comes from) [warning: this is all HTML. Somewhere, there is a text file with this info. Your challenge: find it.]. It's been updated to support pretty much every feature of Word2000, so it should be able to do everything.DOC can do. Of course, using extentions like that will only defeat the purpose, but the point is, RTF is an excellent format.
An earlier post attributed the spec to DEC, but I believe MS came up with it. It was first published in Microsoft Systems Journal somewhere in the early 90s, back when that used to be a useful magazine (ah, the good old days before world domination). It's a pretty clean format, too. As I recall, it's more or less a tagged data format, so you go through reading tags and N bytes of data belonging to them, ignoring and skipping stuff you don't understand. So you can read that fancyass Word doc with all the pretty crap when your reader just supports tables and lists. Nice.
The other formats mainly mentioned here are XML, HTML, and Tex/LaTex variants. Unfortunately, they aren't as good a solution for several reasons. First and most importantly, they're not supported by everybody. RTF gets you support in every common word processor, on every platform you might encounter, going back almost 10 years. Yup, use that nice old version of Wordperfect 4 for DOS that fits on a floppy. Hell, Emacs probably has a module for RTF support.
Also, HTML isn't a very good layout language. XML is complex, and Tex and such are pretty much only on Unix. XML also needs DTDs and such, so you may have several files that all need to go together.
So, to belabor the point: Write in any app, save in native format. Export to RTF and send away. Or just keep it in RTF.
This is going to sound heretical, but bear with me.
If this is at all possible, try developing the initial framework under NT (yes, NT). Let me explain.
If most of your code is platform-independent, and, in my experience, this is often the case, you will be able to develop on any platform that supports threads if you are willing to put simple wrapper classes around the platform-specific bits. This gives you the double advantage of being able to hide ugly or repetitive API details, as well as letting you port to another platform by reimplementing a simple inner class. I've put together 200-line or less wrappers for threads & mutexes, file IO, ODBC, etc., that work under BSD, Solaris and NT. This makes writing cross-platform code almost trivial.
Now, about that NT business. NT supports Berkeley sockets, stdio, and almost-POSIX threads, so if you're writing daemons and such, you can write 90% of your code without ever cracking the Win32 SDK documentation. Just use main() and forget all the heinous Windows I/O stuff.
As to the original question of the post, the development tools on NT are pretty damn robust. If you're willing to use commercial (i.e. pay-for, non-open source) tools, the VC++ compiler and Dev Studio debugger are mature and top-rate. You don't need to use the IDE except for debugging if you don't want - makefiles and the commandline compiler work 98% the same as Unix. The Dev Studio debugger handles multiple threads as smoothly as anything you can find, it has breakpoints and watchpoints, you can view and change memory easily.
The other commercial tool for Win32 that is invaluable is BoundsChecker from NuMega (now Compuware). The is the most amazing thing for finding both kinds of memory problems - invalid memory reads/wriites and leaks. It runs your app like a debugger would, (optionally) popping up to the exact source line whenever anything tries to write past a buffer (static or alloced). After your app exits, it gives you detailed report of all memory leaks, their sizes, and the lines *and stack traces* where they were allocated. It can run standalone or plug into the Dev Studio environment. This is what I wish Electric Fence could do.
I realize this is a big change to suggest, and may well be impossible depending on your application/financial requirements. However, if you're in the early enough stages that you're able to change languages/platforms, and you have a budget, then this would be my suggestion: develop the basic app core and threading logic under NT, using Boundschecker religiously. Use makefiles. Periodically move the code to the Unix platform and make required changes to compile. Keep all platform-specific code nicely #ifdeffed. Write simple wrapper classes around any system services that take more than one or two lines of code (again, threads).
This is how I've been working for the last year or so. I've been writing utilities and daemons that run under NT and Unix, and I'm still amazed at how easily the ports go. It just works. And I will tell you this: The difference between tracing back in core files with gdb and letting your app run in the IDE until the debugger pops up with the exact line of source code, with stack context, where your bad pointer/divide by 0/whatever happened, with the app still running, is indescribable.
All that said, I really miss Turbo Debugger. Now *that* was a debugger.
Re:I wrote that code - I'll tell you what it does
on
Mattel Spyware
·
· Score: 3
OK, but you have just proven yourself the most stupid man alive. Pretty benign eh? Ok, so if Im using your product on a windows box on my network, with my Dial-on-demand RedHat server, what happens if Im not there? You dickhead
Well, thank you for that thoughtful and polite comment. As was (I thought) pointed out previously, we went to great lengths to only try to talk to the server if there is a currently active connection, by enumerating the active RAS (dialup networking, essentially) connections in the system. If there is no RAS connection, we don't dial.
If RAS is not installed, and there is a network card, yeah, we assume there is a connection. So yeah, your modem will dial once a day. You have the inactivity timeout set to hang up after 5 minutes or so, right? Kinda annoying, but that was the design decision. Wasn't my idea. It hardly puts me in the "stupidest man alive" category, I must say.
But remember, this is consumer software. 99% of our customers did what we expected - installed in on their home machine, connecting to the net with a modem, or installed it at work with a network. Sorry about your home network situation, but you can't write software that takes every possible variable or future change in underlying system design (remember, this was written 3 years ago. Windows has changed quite a bit since then. New bugs^H^H^Hfeatures come along all the time.) into account.
Re:You're actually mistaken - let me explain
on
Mattel Spyware
·
· Score: 2
The application does not contact the server ever. Fair enough--not by the application and not on launch. Still more than should be done without informed consent.
Yeah, I agree. One could argue about whether the less-than-explicit verbiage in the installer constitutes "informed consent" (I don't really think it does, but nobody cared what I thought. Try fighting product managers.), but it really should have been done differently.
On the whole, I wish it had never happened. But it was a cool bit of code to write, I must admit. Plus I figured out how to display JPEGs at arbitrary bit depths. And I got to discover all kinds of hokey Windows bugs. Joy.
Well, that may be, but nothing else seems to be there - no cat, sh, rm, echo. I'm not too sure what any of this means. But the error page is certainly the IIS one. Curiouser and curiouser...
I had a roommate in college, in the early 80s, who brought home a couple of cases of C rations from his Reserve weekend once. Is that what these were? There were a lot of cans of scrambled eggs and meat substance in them that he called "Green Eggs and Ham". It was pretty yucky, but not too bad with some Worcestershire sauce.
There was some kind of skanky meat-based thing that neither of us would touch. I wonder if that was the pork patty.
$gTrollText =
/_SUBJ_/$gTrollSubject/g
"We should all keep in mind this simple truth: _SUBJ_ is dying. You don't need to be Kreskin to predict _SUBJ_\'s future. The hand writing is on the wall: _SUBJ_ faces a bleak future. In fact there won't be any future at all for _SUBJ_ because _SUBJ_ is dying. Things are looking very bad for _SUBJ_."
($troll = $gTrollText) =~ s
print "$troll\n";
## todo:
## Better deal with multiple-word subjects
## Add "river of red ink", etc.
## Update Usenet stats, insert
## need "charnel house" refs - how to autogen?
## snappy title
So, you found two errors in the introduction, in a section that was wholy unrelated to the main subject, and concluded that the entire book was untrustworthy? On that basis, you "didn't even pay a lot of attention to many factual details", as you had already made up your mind by the first few pages. I'm sorry, but that doesn't add to your credibility as a critic.
Maybe the book wasn't what you had expected, and yes, the title is silly and misrepresentative. It sounds like one of many out there that tries to discuss, in layman's terms, what happened and how. That is going to involve going over the same ground as everyone else. If the author doesn't have anything new to say, then that's a valid criticism. If he doesn't point fingers there, there and there and say "these were the guilty parties", and instead gives different players varying amounts of blame, it probably has more to do with the fact that many of the parties involved did some things right and other things wrong. In the real world, there are not many pure villians, and things are rarely the fault of any particular individual.
And no, misattributing the inventors of the modem is not even an oversimplification. It's completely irrelevant. It has nothing to do with the book, and is clearly outside of the author's expertise. If I wrote a book on C++ programming, and got the name of the inventor of quicksort wrong, that would not make my description of multiple inheritance any less trustworthy. A better criticism would be "this book needed a much better job of proofreading", and that would seem to be the editors' mistake.
My Palm III and cell phone were in a fanny pack that somehow managed to fling itself out of my car and into the middle of the street. By the time I'd recovered it (after someone less cluefully impaired pointed this out), at least one car had driven over it. Needless to say, the Palm was lunchmeat. The screen looks really cool, though, kind of like a piece of safety glass that someone smacked their head into hard enough to crush but not break.
Interestingly enough, the phone, a Nokia, works perfectly, except for the case being a little loose. I wrapped one end with tape and it's fine.
Semi-related to the actual story, I once spilled most of a cup of coffee into the top of my FM receiver, which happened to be on at the time. It was pretty disappointing, though - no sparks, no smoke, the damn thing didn't even stop playing. I unplugged it and let it dry out for a few days, and it was as good as new, plus the room smelled like French Roast.
No, the Uncertainty Principal says that by reading the papers, you may or may not receive detention. You will be able to know where detention will be held, or for how long, but not both...
Is it just me, or was the picture of the barred galaxy just a little disappointing? Looks just like all the other pictures of spiral galaxies I've seen, except a little less spiral-like. Of course, if I knew what all the parts meant, it might be a little more impressive.
Unfortunately, once you've seen those mind-staggering pictures of galaxies and stars being born, you get a little jaded.
Well, this is what will inevitably happen as Linux becomes commercially successful. There are really only two directions that things can go. Either Open Source will remain a comparatively local phenomenon based on the original ideals of the community, or it will become commercially successful and shows like this one will tend towards Comdex. It really can't be both.
.com side here. Yes, Linux *is* just another platform, and don't you ever forget it. The sooner Linux and BSD become ubiquitous, the sooner we'll see business software available for more than Windows as the standard. If I was an IT director and I needed to do PHP development or move my users off of Outlook, I would be thrilled to buy $10,000 worth of software to do that.
Sure, commercial vendors are selling commercial, proprietary products based on Open Source. That's their job. There's nothing wrong with selling software - it's been keeping me employed for over 10 years. Many, if not most, Linux users may prefer the fact that it's Free, that's true. But that is not the audience for the folks showing on the
Ximian may seem slick, funded, and bullshit, but two of those attributes are awfully important for establishing credibility. As to their stewardship of Gnome, let me remind you of the example of Berkeley Software, who sold the After Dark screensaver for a number of years. It was wildly popular (you almost never saw a Mac or PC back in the day that wasn't running it). They made a lot of money, deservedly, on it, and used those profits to fund (*warning: wayback machine failing*) software for disabled and deaf/blind users. The thing is, if a company is run by people that are not completely greedy, they can, and often will, do Good Things with the money they make.
It sounds like there are some killer products available for Free and for money. That's great. That's perhaps as it should be, depending on how you see Open Source's future. But don't worry too much about the cloying, claustrophobic feeling you get from a trade show like this. Trust me - they're all like that. Go to Comdex or (shudder) E3 sometime, you'll see.
As to the sales people, some of my best friends are sales people. Most of them are incredibly smart, sharp and damn good at what they do. They may seem insincere, dumb and clueless bacause they really don't understand what the hell they're talking about most of the time. Imagine yourself plopped into the marketing department for a few weeks, having to do whatever it is they do up there, and I think you'll see what I mean.
That said, there are far, far too many sales and marketing units out there that seem insincere, ass-kissing, and downright dumb because they *are* insincere, ass-kissing, and downright dumb. Unfortunately, these are often the very characteristics the enable them to survive and propagate in the corporate gene pool.
Well, this finally explains *that*...
I believe it's "Where Wizards Stay Up Late (excellent history of the development of ARPANET) that mentions that Tomlinson chose the '@' symbol not only because of its meaning, but because it was one of the few characters not yet spoken for. Of course, there was one obscure OS that used '@' for something or other, and this stirred up a bit of controversy when these folks had to escape email addresses all over the place.
(Too lazy to go in the living room and look up the exact reference, so I may be talking out my ass. What a surprise.)
Oh, I like that. Now I can say "look at all that emaux I have" or "I sent the emaux to Al and Betty" today. Reduces the ambiguity of a plural form that can be the same as the singular.
Of course, it's entirely too cutsey to live, so scratch that idea. Please. In fact, delete this entire post before Jon Katz or some marketing droid picks it up. Please, I beg you.
(Apologies for the gratuitous Jon Katz hit)
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."
I think a lot of posters here misunderstand the point of a college education. It's not all about getting a job, or learning exactly what you need for a degree, or even learning exactly what you want to learn. The idea is to learn how to learn, and to discover new things, about the world and about yourself. And, just maybe, to learn something you didn't know before and say "Wow. That's really wonderful. I'd like to learn more about that. Maybe I'd even like to do that as a career." Even if you just have a pool of interesting knowledge that lets you have stimulating conversations with other interesting people, you've won.
I can only imagine that most of the people here suggesting that one only needs to have the knowledge that they need for their current field of interest and that everything else is "a waste of time" are young, and, therefore, have not yet realized how important literature, history, philosophy, theology, and art are. My father used to say "all knowledge is useful". I think that was one of the most important things he taught me.
My advice: every semester, try to take a course, from anywhere in the catalog, just because it looks interesting. Who knows? It might even change your life.
Hmm, not if you're gonna be prompting for a password it wouldn't...
Boy, I'm with you on that. It wasn't all that long ago (relatively speaking) that you used to get these this by default. Just the other day, I looked at an old Commodore 64 manual - there were at least 50 pages of interfaces, register info, clocking info - and that wasn't even counting the programmer's interface to the floppy drive. Every now and then I pull out some dusty old piece of hardware and find I/O ports and circuit diagrams with it. I believe even those 8-ball Quickcams (???) had the interface available, if you asked them.
Like you suggest, it doesn't cost anything to publish the specs. You might even wind up becoming a standard (Think 'SCSI", "DOS", and "BIOS". Then think "MicroChannel").
One comment about your first point, though: Free software is wonderful, but if we keep thinking of it in an us-vs-them context - "our own software" - we risk being permanently consigned to the "hobbyist OS" category. Now that's not necessarily a bad thing - personal computers were for years considered hobbyist devices and look where we wound up. However, it sure would be nice to be considered to be relevant, if not exactly profitable, by the software industry.
I know people hold very strong and well-reasoned beliefs on both sides of this issue. Personally, I have no problem paying a Reasonable Amount for software, even if I don't get the source, as long as it does a good job. I'd rather it was Free, but sometimes, commercial is the only alternative.
There. I feel better now. Sorry to be so cranky.
Do you have any idea how much it costs to port software? Unles it was written to be cross-platform in the first place, you have to rewrite most or all of it from scratch. Add to this the costs of QA, marketing, inventory, sales and shipping for multiple SKUs, product managers for each platform, etc. etc., and there is absolutely no business case for supporting anything other than the most lucrative platforms.
When I worked in consumer software (think two Very Big Name kids/game/home sw companies that now exist in name only) I used to talk myself blue in the face, trying to convince management to do our Windows-only products for the Mac as well. And these were shops that, until recently (this was ca. 1992 - 1995) had had major Macintosh presences. Management's argument? "Mac has 8% market share. We can't justify the development costs". I used to rage against this attitude, but now that I'm older and a little wiser, I can understand it.
Companies have to make money. They have to justify the expense of developing something based on the number of units they expect to sell. They can't just say (even if they'd like to) "Gee, we really support the free software community. Let's do SuperFoo 2001 for Linux and BSD, 'cause that's The Right Thing To Do." Yeah, Kodak sell cameras, not software, and yeah, a lot of geeks who buy digital cameras use alt-oses, but they still have to consider the costs involved.
You can say that toolkits like Qt and Gtk and such will make porting software a snap. They don't. I've written lots of crossplatform code, and used and written crossplatform toolkits. Let me tell you, it's not that easy. A widget set will get you a long way, as will simply writing your core code with wrappers for platform-specific bits. However, you still need to deal with GUIs, drawing and text routines, event handling, interface standards, and a million other little idiosyncracies, not to mention resource formats. You can abstract a lot of that out, but you know what? It's a full-time job for several people to maintain the code needed for each platform. And let's not even talk about QA.
The bottom line is that we're not relevant to the vast majority of the consumer software industry. 2% or whatever of the market does not exactly make the beancounters wet. Yeah, this is changing, but it's the current state of affairs. Plus, of course, there's the fact that the culture expects the product to be free. But that's another long argument...
As you can imagine, much hilarity ensues.
Oh, and beware of "Hollow Earth", which is still in print. Maybe it was just me, but it reads like Tolkien trying to write Huckleberry Finn. I personally could never get into Tolkien, so it left me a little disappointed.
You know, as I think about it, I recall new entries in the Software/Wetware/Freeware series, of which some or all may be back in print.
Sadly out of print, I think, but check it out at the library/your well endowed used bookstore/Bibliofind. Although I highly recommend starting with "White Light", "Spacetime Donuts" or "Master of Space and Time" (also all OOP). Gotta love stoner mathemeticans.
I used to work construction - I can attest. The drywallers are the biggest animals on the site. If it stood still long enough, they slapped sheetrock over it. What? There's a 6 inch gap in the corner? The tapers'll cover it. The piece too big? Whack it a bit with the hammer. No problem.
And I believe I recall making a few time capsules when installing bathtubs. Ah, memories of being young and stupid...
Then there was this, this, and this. You did another cut-n-paste here.
This one took the novel step of attacking the compiler. Cool.
So do you actually sit around in your underwear thinking this shit up, or did you hack up some kind of comment generator? Either way, you need a new hobby. Or a girlfriend. I will say, though, that you're somewhat humorous, in a Bullmer-Lytton-kind-of way. Phrases like "mired in a mortifying tangle of fatal trouble" and "head spinning downward spiral" are pretty classic for their alliteration value alone. Anyway, now that that's done, you can leave now. Preferably to the mountains of Uzbekistan or someplace else they don't have electricity.
And no, I *don't* have anything better to do that search Slashdot archives. But this fool's been pissing me off for a while.
Having been trolled, I'll now pull the hook from my mouth.
RTF is a pretty robust fotmat. It supports tables, embedded graphics, numbered and bulleted lists, and lots more. The format is freely available (oh, and you'll never guess where it comes from) [warning: this is all HTML. Somewhere, there is a text file with this info. Your challenge: find it.]. It's been updated to support pretty much every feature of Word2000, so it should be able to do everything .DOC can do. Of course, using extentions like that will only defeat the purpose, but the point is, RTF is an excellent format.
An earlier post attributed the spec to DEC, but I believe MS came up with it. It was first published in Microsoft Systems Journal somewhere in the early 90s, back when that used to be a useful magazine (ah, the good old days before world domination). It's a pretty clean format, too. As I recall, it's more or less a tagged data format, so you go through reading tags and N bytes of data belonging to them, ignoring and skipping stuff you don't understand. So you can read that fancyass Word doc with all the pretty crap when your reader just supports tables and lists. Nice.
The other formats mainly mentioned here are XML, HTML, and Tex/LaTex variants. Unfortunately, they aren't as good a solution for several reasons. First and most importantly, they're not supported by everybody. RTF gets you support in every common word processor, on every platform you might encounter, going back almost 10 years. Yup, use that nice old version of Wordperfect 4 for DOS that fits on a floppy. Hell, Emacs probably has a module for RTF support.
Also, HTML isn't a very good layout language. XML is complex, and Tex and such are pretty much only on Unix. XML also needs DTDs and such, so you may have several files that all need to go together.
So, to belabor the point: Write in any app, save in native format. Export to RTF and send away. Or just keep it in RTF.
If this is at all possible, try developing the initial framework under NT (yes, NT). Let me explain.
If most of your code is platform-independent, and, in my experience, this is often the case, you will be able to develop on any platform that supports threads if you are willing to put simple wrapper classes around the platform-specific bits. This gives you the double advantage of being able to hide ugly or repetitive API details, as well as letting you port to another platform by reimplementing a simple inner class. I've put together 200-line or less wrappers for threads & mutexes, file IO, ODBC, etc., that work under BSD, Solaris and NT. This makes writing cross-platform code almost trivial.
Now, about that NT business. NT supports Berkeley sockets, stdio, and almost-POSIX threads, so if you're writing daemons and such, you can write 90% of your code without ever cracking the Win32 SDK documentation. Just use main() and forget all the heinous Windows I/O stuff.
As to the original question of the post, the development tools on NT are pretty damn robust. If you're willing to use commercial (i.e. pay-for, non-open source) tools, the VC++ compiler and Dev Studio debugger are mature and top-rate. You don't need to use the IDE except for debugging if you don't want - makefiles and the commandline compiler work 98% the same as Unix. The Dev Studio debugger handles multiple threads as smoothly as anything you can find, it has breakpoints and watchpoints, you can view and change memory easily.
The other commercial tool for Win32 that is invaluable is BoundsChecker from NuMega (now Compuware). The is the most amazing thing for finding both kinds of memory problems - invalid memory reads/wriites and leaks. It runs your app like a debugger would, (optionally) popping up to the exact source line whenever anything tries to write past a buffer (static or alloced). After your app exits, it gives you detailed report of all memory leaks, their sizes, and the lines *and stack traces* where they were allocated. It can run standalone or plug into the Dev Studio environment. This is what I wish Electric Fence could do.
I realize this is a big change to suggest, and may well be impossible depending on your application/financial requirements. However, if you're in the early enough stages that you're able to change languages/platforms, and you have a budget, then this would be my suggestion: develop the basic app core and threading logic under NT, using Boundschecker religiously. Use makefiles. Periodically move the code to the Unix platform and make required changes to compile. Keep all platform-specific code nicely #ifdeffed. Write simple wrapper classes around any system services that take more than one or two lines of code (again, threads).
This is how I've been working for the last year or so. I've been writing utilities and daemons that run under NT and Unix, and I'm still amazed at how easily the ports go. It just works. And I will tell you this: The difference between tracing back in core files with gdb and letting your app run in the IDE until the debugger pops up with the exact line of source code, with stack context, where your bad pointer/divide by 0/whatever happened, with the app still running, is indescribable.
All that said, I really miss Turbo Debugger. Now *that* was a debugger.
Well, thank you for that thoughtful and polite comment. As was (I thought) pointed out previously, we went to great lengths to only try to talk to the server if there is a currently active connection, by enumerating the active RAS (dialup networking, essentially) connections in the system. If there is no RAS connection, we don't dial.
If RAS is not installed, and there is a network card, yeah, we assume there is a connection. So yeah, your modem will dial once a day. You have the inactivity timeout set to hang up after 5 minutes or so, right? Kinda annoying, but that was the design decision. Wasn't my idea. It hardly puts me in the "stupidest man alive" category, I must say.
But remember, this is consumer software. 99% of our customers did what we expected - installed in on their home machine, connecting to the net with a modem, or installed it at work with a network. Sorry about your home network situation, but you can't write software that takes every possible variable or future change in underlying system design (remember, this was written 3 years ago. Windows has changed quite a bit since then. New bugs^H^H^Hfeatures come along all the time.) into account.
Fair enough--not by the application and not on launch. Still more than should be done without informed consent.
Yeah, I agree. One could argue about whether the less-than-explicit verbiage in the installer constitutes "informed consent" (I don't really think it does, but nobody cared what I thought. Try fighting product managers.), but it really should have been done differently.
On the whole, I wish it had never happened. But it was a cool bit of code to write, I must admit. Plus I figured out how to display JPEGs at arbitrary bit depths. And I got to discover all kinds of hokey Windows bugs. Joy.