The fact that there are way more Windows viruses than Linux ones doesn't mean that Linux is more secure; it means that the Open Source community isn't trying hard enough.
One of Stallman's beefs with the Open Source Movement is that they are -- in his own words -- "watered down". Where RMS gets into philosophy and his own politics in his arguments for free software, ESR and company tend to stick to the more pragmatic arguments.
I prefer the Open Source tack -- in which the arguments for Free/Open software are based on issues of practicality -- to Stallman's approach, in which he also add socio-politico-ethico-complexo-migraino arguments. When you argue along ethical, political and philosophical lines, your arguments are effective only when the person you're arguing has ethics, politics and philosophy similar to yours. Many people tend to tune Stallman out once he gets beyond the pragmatic issues and into his own socio-politico issues, which smack of the worst kind of grad school sophistry. Rant about commercialization all you want, Mr. Stallman, but this hard-workin' fella would like to keep a roof over his head and chicken fried rice on the table. Not all of us can live off our MacArthur and other awards.
If you want to convince businesses to adopt Free/Open software, tell them how it will be good for their bottom line, and how their workers who have to use the software and the shareholders and customers to whom they must answer will be better served. If you want to convince your average home user that a Free/Open piece of software is better, tell them of the benefits of reliability and trustworthiness that such software provides. If the people you're trying to convince do share a value system with you, you can throw in the social, political and ethical considerations. Doing so when that person's value system is considerably different from yours will only undermine your argument.
...a language developed to meet the needs of the Slashdot poster.
Just as the "Eskimo" (a.k.a. Inuit) have a boatload of words for "snow," Slashese will have lots of words for "grits" -- hot, lukewarm, cold and lumpy, you name it!
There'll be a word called Slashenfreude (kind of like the German schadenfreude), which is the pleasure one takes in seeing others get flamed.
At last, we'll have a single word for "Slashdot effect" (we already have the verb "slashdotted", but we need a noun form).
There will be a word for the obligatory joke choice (it's always the last one offered) in Slashdot polls. There will be also be a word for polls in which the joke choice is not in the lead.
The names of Slashdot article writers will probably end up as slang for strange sex acts. "Hemos" would mean rubbing pesto all over someone and then spanking them, while "CmdrTaco" is an obvious choice for your lover farting in the tub and you eating the bubbles. Or something along those lines.
"I wouldn't trust my judgement to a VB app?" Timothy, if you're thinking of the "Jury-Vac" from The Jetsons, I have a news flash: it was a cartoon!
But seriously...VB and Delphi are the better choices for writing Windows-based workplace productivity apps, especially for writing apps that access databases and are more UI-centric. You could certainly write the app in Visual C++, but there's you're now in MFC-land, which should be avoided whenever possible. If you're really out to prove your dick size with C++ and still maximize your productivity, use Borland's C++ builder, which has a good IDE builder and a very sane class library.
As for Basic's or Pascal's "simplicity," who cares? In programming, it's always best to follow the principle of Occam's Razor (which is also on eof the guiding principles of all UNIXen): the simplest solution should be the one that is selected.
Try Sounds Online, an on-line outlet for sample CDs. You should be able to get your hands on Moog samples there.
Re:Why do they assume motives are selfish?
on
Why Do Open Source?
·
· Score: 1
I'll admit to stretching the term "selfish" a bit, just as the poster I replied to stretched the terms "self-aggrandizement" and "greed". I certainly believe that self-actualized individuals are following the higher motivations in your hierarchy.
Yours was a well-written response, and if I were allowed to moderate this discussion, I'd have moderated it up. Nicely done, gilroy.
Re:Why do they assume motives are selfish?
on
Why Do Open Source?
·
· Score: 3
The good feeling that one gets from finishing a software project and releasing it to the world is just as selfish a motive as "greed" or "self-aggrandizement" (which are unfair generalizations of wanteing to make a living and wanting to be rec ognized). In Maslow's hierarchy of needs, the satisfaction on gets from releasing open source software is a fulfillment of the highest-level need in his hierarchy, the need of self-actualization:
Self-actualizing people are... involved in a cause outside their own skin. The are devoted, work at something, something very precious to them--some calling or vocation, in the old sense, the priestly sense. When you select out of a careful study, very fine and healthy people, strong people, creative people, saintly people, sagacious people... you get a different view of mankind. You ask how tall can people grow, what can a human being become?
Maslow also describes self-actualization as a person's need to be and do that which the person was born to do. It is his "calling". "A musician must make music, an artist must paint, and a poet must write."
...and open source programmers must write open source software. I don't know about you, but that sounds selfish to me! After all, it is called self-actualization...
Simply put, there is a "good" kind of selfishness too, and that is the selfishness practiced by healthy, self-actualized people. They are selfish, but make sure their selfishness doesn't step on other people. On the other side of the coin, those with martyrdom complexes -- you've probably met them, they're the "completely selfless people who look out for others before themselves" -- are ironically the most parasitic, burdensome and draining people you'll ever meet. They too are trying to become self-actaulized, but in a destructive way.
Writing open source software is a selfish act; it's just that it's one that benefits more people than just oneself.
We've had considerable success with YDL on iBooks where I work. It runs like a rocket (and yes, multiple-button USB mice are supported); we're just waiting patiently for the AirPort support. Coupled with a replacement 12GB hard drive and extra RAM, you end up with a stylin' machine that can run three OSs (MacOS with VirtualPC on one partition, Linux on the other). For me and my co-workers, it's turned out to be a decent development machine. For those interestd in putting YDL on their iBooks, we'll be posting an iBook/Linux HOWTO on our site shortly.
Linus is too laid-back and just all-round nice to get into "gangsta" mode. I imagine that he's from the "Native Tongue" school -- I can see him frontin' for De La Soul or maybe A Tribe Called Quest. ESR, gun nut that he is, is probably more likely to pop a cap in Stallman's ass, and maybe point his gat at Perens while he's at it.
Re:If linux is hip hop Windows is "New Country"
on
Linux And Hip Hop
·
· Score: 1
Actually, it's a very smart idea developed based on usability reasearch. Putting a single menu bar at the top of the screen, as it takes advantage of Fitts' Law (the ease with which a user can acquire a target is proportional to the size of the target and inversely proportional to the distance from the target). The menu bar is at the upper edge of the screen, which makes it easy to "hit" -- just move the mouse up and you'll slam the edge of the screen as it effectively has infinite height. M$ is even moving towards this as most of their apps are now MDI (Multiple Document Interface), where there's a parent window with the menu bar and child windows whose menus appear in the menu bar when they are in focus. Check out this article at asktog.com for the full scoop on Fitts' Law.
You will probably have more luck finding Linux-based work in start-ups rather than in larger, more established companies. Larger, more established companies are more likely to have invested a considerable amount in operating systems on which they standardized years ago. Even if the company were to switch to Linux simply by downloading and compiling the source, it would still cost a lot of money in terms of personnel-hours, retraining users and developers, re-jigging their system to work under Linux and possibly rewriting whatever custom software they had. This doesn't mean that a larger, older company can't switch to Linux; it simply means that there's considerable cost in doing so. Even when companies can afford to make the switch to Linux, they generally do so slowly to work out the inevitable kinks in any switch-over.
On the other hand, start-ups generally come into existence as blank slates. There's a certain freedom in not having a pre-existing infrastructure in place, and as a result, you'll find more start-ups using Linux either as its sole OS or as in a mix with other OSs. Money is extremely precious in a start-up, so if software is either very cheap or free, it tends to be used. There's also a "break from the status quo and break new ground" mentality that seems to be common to start-ups, which also makes Linux particularly attractive to them.
Schmooze. Not as easy as it sounds, especially since the majority of geeks tend to rate as INTP on the Myers-Briggs personality test. However, those who present themselves well tend to be rewarded (and that will only be an addition to the fact that you're a pretty skilled person too, right?)
A great place to meet potential employers is at computer-related conferences, especially those that tend to attract either developers or managers who have the authority to hire or recommend you. While these conferences are expensive if you attend the sessions, the passes for the showroom florr tend to be pretty cheap, and the showroom floor is the place where you meet people. You may find potential employers behind the booths, but the best source of jobs are the people wandering the floors, looking for solutions for their firms. Keep your eyes open for people's companies (it's typically on their badges) and your ears open. Have some material -- business cards, resumes, the URL to your resume site or a CD of your past work, a 50-word-or-less spiel why you would be a great employee at a Linux firm -- at the ready.
There's more to development than coding. (I can already hear them saying "Wha'chu talkin' 'bout, Kode Fu?") Not everyone can be a coder, because not everyone has skill and not everyone has the will (cue rap music).
I myself am the odd man out in a family of doctors. I've seen first-hand that it takes more than just doctors to make a hospital run; it takes more than just programmers to make a software firm run, too. Different software firms will have different needs, but based on experience, here are a few positions that a Linux-based software company may need:
CEO/President/Supreme Boss: Someone has to be the big-picture leader. While this person should be technologically savvy, s/he should also have business sense and expertise. While this conjures images of Dilbert's pointy-haired boss, you would be amazed at what a good CEO can do. You'd also be surprised at the number of tech companies looking for someone to handle the non-tech big picture issues.
CFO/bread-head/accountant: Someone's got to watch the money. The world of money is just as strange to outsiders as the geek world is.
Marketing: No matter what you think of marketers, you need 'em. Your better software mousetrap is just another idle collection of bits if it's simply languishing on your hard-drive. They're useful not only in the end, when you have a product to market, but if you're looking for investors or start-up cash, they can help sell market your vision.
User interface specialist: Rare, but given that there are CHI (Computer-Human Interface) SIGs all around, there must be some of these people. You will be doing your users a disservice if you don't get some usability expertise on-board.
Graphic designer: If your software has graphic elements, get a graphic designer. You will get better-looking results, and your users will thank you. Be sure, however, not to confuse UI specialist with graphic designers -- they are not the same thing. Graphic design does not have to function, but UIs do.
Production manager: This person's job is to ensure the smooth flow of production, which means making sure that all obstacles are removed from the development team's path. If the team needs a new machine or peripheral, a set of books or some software, this person makes sure that this is provided (as long as the request can be reasonably met). This person, along with the lead developer, keeps an eye on the schedule, making adjustments as necessary, and makes sure that certain necessary tasks get completed, even if they are tedious (for example, daily backup comes to mind).
Systems admin: There is a little coding involved in maintaining a system, but not on the scope of a your typical software project. Murphy's Law dictates that companies without a dedicated sysadmin will suffer a massive systems failure very, very soon.
Writer: Many projects need the services of a writer. There's a lot of writing involved with a major software project -- the requirements doc, design docs, risks docs, developer docs and user docs, for starters. Perhaps the company needs someone to write copy for its marketing materials or web site. You might even want a writer for your business plan or whatever material you have to present to investors.
Testing: Someone's gotta do it... I'm not just talking about beta testing, but also testing pieces of the software thhrough the development phase. To paraphrase Frank Lloyd Wright, it's easier to use an eraser on the blueprint than a sledgehammer at the construction site.
I read that a FOX executive came up with an idea for a show at a brainstorming session: What if we crashed a decommissioned 747 into the Mojave desert? The idea was passed up in favour for Who wants to marry a millionaire instead.
I'd much rather have seen the plane crash, but a satellite crash should be even more spectacular. I see them getting Johnathan "I used to be Commander Riker, and I need cash" Frakes as the host, guest commentary from Stephen Hawking and John Glenn, and what the hell, Bob Dole, since he seems to be appearing on just about everything these days. I can see him now:
"Sattelite crash? What does Bob Dole think of that? Bob Dole thinks you should watch When Satellites Go Down on FOX!
Does anyone remember the beer shampoo craze of the late seventies and early eighties? I remember one particular brand called "Body on Tap". The advertising said that the beer in it gave you thick, luxurious hair. By that logic, a little Guinness in the ol' beard should also make it thick and luxurious and a hit with the ladies (or the dudes, if you are so inclined. Just keep animals out of it, and you'll have no argument from me).
Of course if you want a really shiny beard, put a raw egg in your Guinness. It works when I put one in my dog's food...
I *WANT* air-traffic controllers to speak in a highly structured, syntactically and lexically limited, and stereotypical fashion! I really *DO NOT* want them to use free verse!
Oh, you asked for it now...
Haiku JFK Junior Angle is too steep, pull up Shit, call the coast guard
The Love Song of J. Alfred Pilot Let us go then, flight 355 The 747 looks at the stretching sky Like a patient etherised upon a table...
This is where those much-maligned (at least in our field) "soft skills" pay off. Part of working on a project is negotiating the feature set. If the feature set cannot be done in the time allotted, you have to ask for either more time or fewer features. Working faster or for longer hours just doesn't work -- you may end up paying for it extra bug-hunting time.
I would guess that in most cases, delayed software does not cause catastrophes -- at worst, it's an annoyance, something that makes the news reports say "tsk, tsk," but nothing worse.
There is something that I like to call the "Law of Conservation of Development Energy" -- a given piece of software will take a specific amount of effort to create. You can put in the effort up front and allot the time needed, handling schedule slips by either dropping features or extending the deadline, or hit the arbitrary deadline no matter what and release patches later and hope that the patches get around. I prefer the former.
I also want to maintain a semblance of a life. Going home at a decent hour, being able to go out with friends (even on weeknights), indulge in my punk rock street accordion hobby, whatever. I don't want to be locked away in the software gulag and grow to resent the work I love. You'll get 100% from me, but you won't get a software kamikaze.
I strongly suggest books such as Ed Yourdon's "Death March" or Steve McConnell's "After the Gold Rush," "Rapid Development" and "Software Project Survival Guide" if you're interested in being a geek with a life. To get those useful negotiating skills, check out Donaldson and Donaldson's "Negotiating for Dummies" and "Getting to Yes" by someone whose name escapes me.
And now, let me end with a number I performed at LinuxWorld expo with Slashdot's very own emmett...
Should I Sleep or Should I Code sung to the Clash's Should I Stay or Should I Go
Darlin' you gotta let me know Should I sleep or should I code? If I sleep I'll fall behind If I code I'll lose my mind So you gotta let me know Should I sleep or should I code?
It's always grep, grep, grep And running 'round in single-step I need to nap before I hack Please get the client off my back So c'mon and let me know Should I sleep or should I code?
Should I sleep or should I code now? Should I sleep or should I code now? If I sleep I'll miss the milestone If I code I'll break my headbone So you gotta let me know Should I sleep or should I code?
So who cares if so-and-so has a few criticisms of it? If you're going to get angry and rant, get angry and rant about something that really matters.
A short list of suggestions includes:
My god/political system/WWF wrestler/favourite monster truck can kick your god's/political system's/WWF wrestler's/favourite monster truck's sorry ass any day.
Dammit, it's "tastes great," not "less filling," and I will prove it by shoving your teeth down your throat.
Hey! I called "shotgun" first!
The great "hot grits" versus "cream of wheat" debate
If all men are created equal, why do some get multi-million buyouts from VA Linux while others have to line up for free cheese?
My need to get back at those goddamned liars at "Krispy Kreme Donuts". Vengeance will be mine!
The fact that people are still spreading falsehoods that playing the accordion won't "get you chicks".*
We program because we want to, not because the users are demanding the features.
I also program because I want to and I can. No argument there, compadre.
But I also remember that the user is the reason the program exists. That's the spirit of open source -- to meet the needs of users by putting th users in control of the software. Open source is not about replacing a clique of proprietariness with another clique of I-am-a-better-hacker-than-you.
Now if the user base consists of yourself, go ahead and program as you see fit -- you will naturally program to meet your needs. However, if the user is someone else, I do my best to find out what their needs are. If their needs can be met by a feature they demand, then I implement it. Sometimes you have to say "no" to a feature either becuase it's impossible, there isn't time or there's a better way, but if your software is for someone else, I think you should listen to them.
Not everyone can pick up a programming language and fix their software -- even those of us who can can't afford to patch every piece of open source software they wish had some feature or another.
Saying "Use the source. Now leave me alone" to a non-coder (or even a coder) is like having the chef of a restaurant telling you to cook your own damn steak if you don't like the way s/he does it; s/he may be right, but will s/he be a chef for much longer?
By deciding to purchase and use an 'alternative' OS, a user has already made a decision to learn something new. That means they should be expecting from the beginning to be learning and adjusting to a new way of doing things. You don't honestly think Microsoft and Apple sit down and discuss the UI for their programs and how they should make them compatbiel do you? Linux will have it's own, unique user interface, just like Apple and Microsoft each have their own, unique UIs.
True to a point. However, Linus and several speakers at LinuxWorld Expo made it a point of saying that standards evolve as a result of markets and users. At this point in the game, we have de facto standards already accepted by the users:
the CLI rule that says "command first, then switches, then filenames"
keyboard shortcuts for cut/copy/paste/undo in GUIs
the convention of single-clicking on an icon meaning selection and double-clicking meaning activation
They are already part of the established language of interface. The language of interface is very much like the language of conversation or writing -- you don't go around inventing new words without a very good reason or need, otherwise no one will understand you.
Hopefully, Linux app developers will make sure that their apps follow some kind of sensible convention. This means that CLI apps should follow the convention of switches first, then filenames, and that GUI apps should follow the de facto rules. Consistency is not a bad thing; while a developer is free to break the rules any way s/he pleases, s/he'll find that unfettered freedom brings its own tyranny with it.
As for M$ and Apple not sitting in meetings, talking about UI compatibility issues; they did -- Windows used to have it own keyboard shortcuts before they switched to a more Mac-like set, and the MacOS has adopted the convention of control-clicking in order to approximate right-clicking in Windows. Both languages of interface borrow from each other, just as human languages do. It only makes sense that Linux interfaces do the same.
Well, after reading this discussion, I must say that Neal Stephenson was right when he wrote in Snow Crash that techie sexism was the worst kind of all, because it was practiced by guys who thought they were too smart to be sexist.
It keeps hot drinks hot and cold drinks cold. How does it know?
I prefer the Open Source tack -- in which the arguments for Free/Open software are based on issues of practicality -- to Stallman's approach, in which he also add socio-politico-ethico-complexo-migraino arguments. When you argue along ethical, political and philosophical lines, your arguments are effective only when the person you're arguing has ethics, politics and philosophy similar to yours. Many people tend to tune Stallman out once he gets beyond the pragmatic issues and into his own socio-politico issues, which smack of the worst kind of grad school sophistry. Rant about commercialization all you want, Mr. Stallman, but this hard-workin' fella would like to keep a roof over his head and chicken fried rice on the table. Not all of us can live off our MacArthur and other awards.
If you want to convince businesses to adopt Free/Open software, tell them how it will be good for their bottom line, and how their workers who have to use the software and the shareholders and customers to whom they must answer will be better served. If you want to convince your average home user that a Free/Open piece of software is better, tell them of the benefits of reliability and trustworthiness that such software provides. If the people you're trying to convince do share a value system with you, you can throw in the social, political and ethical considerations. Doing so when that person's value system is considerably different from yours will only undermine your argument.
But seriously...VB and Delphi are the better choices for writing Windows-based workplace productivity apps, especially for writing apps that access databases and are more UI-centric. You could certainly write the app in Visual C++, but there's you're now in MFC-land, which should be avoided whenever possible. If you're really out to prove your dick size with C++ and still maximize your productivity, use Borland's C++ builder, which has a good IDE builder and a very sane class library.
As for Basic's or Pascal's "simplicity," who cares? In programming, it's always best to follow the principle of Occam's Razor (which is also on eof the guiding principles of all UNIXen): the simplest solution should be the one that is selected.
Try Sounds Online, an on-line outlet for sample CDs. You should be able to get your hands on Moog samples there.
Yours was a well-written response, and if I were allowed to moderate this discussion, I'd have moderated it up. Nicely done, gilroy.
Simply put, there is a "good" kind of selfishness too, and that is the selfishness practiced by healthy, self-actualized people. They are selfish, but make sure their selfishness doesn't step on other people. On the other side of the coin, those with martyrdom complexes -- you've probably met them, they're the "completely selfless people who look out for others before themselves" -- are ironically the most parasitic, burdensome and draining people you'll ever meet. They too are trying to become self-actaulized, but in a destructive way.
Writing open source software is a selfish act; it's just that it's one that benefits more people than just oneself.
We've had considerable success with YDL on iBooks where I work. It runs like a rocket (and yes, multiple-button USB mice are supported); we're just waiting patiently for the AirPort support. Coupled with a replacement 12GB hard drive and extra RAM, you end up with a stylin' machine that can run three OSs (MacOS with VirtualPC on one partition, Linux on the other). For me and my co-workers, it's turned out to be a decent development machine. For those interestd in putting YDL on their iBooks, we'll be posting an iBook/Linux HOWTO on our site shortly.
Moderators, what do you mean "offtopic"? I thought it was a very funny cause/effect joke.
Linus is too laid-back and just all-round nice to get into "gangsta" mode. I imagine that he's from the "Native Tongue" school -- I can see him frontin' for De La Soul or maybe A Tribe Called Quest. ESR, gun nut that he is, is probably more likely to pop a cap in Stallman's ass, and maybe point his gat at Perens while he's at it.
...Ween?
Actually, it's a very smart idea developed based on usability reasearch. Putting a single menu bar at the top of the screen, as it takes advantage of Fitts' Law (the ease with which a user can acquire a target is proportional to the size of the target and inversely proportional to the distance from the target). The menu bar is at the upper edge of the screen, which makes it easy to "hit" -- just move the mouse up and you'll slam the edge of the screen as it effectively has infinite height. M$ is even moving towards this as most of their apps are now MDI (Multiple Document Interface), where there's a parent window with the menu bar and child windows whose menus appear in the menu bar when they are in focus. Check out this article at asktog.com for the full scoop on Fitts' Law.
Larger, more established companies are more likely to have invested a considerable amount in operating systems on which they standardized years ago. Even if the company were to switch to Linux simply by downloading and compiling the source, it would still cost a lot of money in terms of personnel-hours, retraining users and developers, re-jigging their system to work under Linux and possibly rewriting whatever custom software they had. This doesn't mean that a larger, older company can't switch to Linux; it simply means that there's considerable cost in doing so. Even when companies can afford to make the switch to Linux, they generally do so slowly to work out the inevitable kinks in any switch-over.
On the other hand, start-ups generally come into existence as blank slates. There's a certain freedom in not having a pre-existing infrastructure in place, and as a result, you'll find more start-ups using Linux either as its sole OS or as in a mix with other OSs. Money is extremely precious in a start-up, so if software is either very cheap or free, it tends to be used. There's also a "break from the status quo and break new ground" mentality that seems to be common to start-ups, which also makes Linux particularly attractive to them.
Schmooze.
Not as easy as it sounds, especially since the majority of geeks tend to rate as INTP on the Myers-Briggs personality test. However, those who present themselves well tend to be rewarded (and that will only be an addition to the fact that you're a pretty skilled person too, right?)
A great place to meet potential employers is at computer-related conferences, especially those that tend to attract either developers or managers who have the authority to hire or recommend you. While these conferences are expensive if you attend the sessions, the passes for the showroom florr tend to be pretty cheap, and the showroom floor is the place where you meet people. You may find potential employers behind the booths, but the best source of jobs are the people wandering the floors, looking for solutions for their firms. Keep your eyes open for people's companies (it's typically on their badges) and your ears open. Have some material -- business cards, resumes, the URL to your resume site or a CD of your past work, a 50-word-or-less spiel why you would be a great employee at a Linux firm -- at the ready.
There's more to development than coding.
(I can already hear them saying "Wha'chu talkin' 'bout, Kode Fu?")
Not everyone can be a coder, because not everyone has skill and not everyone has the will (cue rap music).
I myself am the odd man out in a family of doctors. I've seen first-hand that it takes more than just doctors to make a hospital run; it takes more than just programmers to make a software firm run, too. Different software firms will have different needs, but based on experience, here are a few positions that a Linux-based software company may need:
Never underestimate the power of a good dye job and rock and roll accordion playing.
Hey, it got me a few offers at LinuxWorld Expo NYC and my job at a Linux company...
I'd much rather have seen the plane crash, but a satellite crash should be even more spectacular. I see them getting Johnathan "I used to be Commander Riker, and I need cash" Frakes as the host, guest commentary from Stephen Hawking and John Glenn, and what the hell, Bob Dole, since he seems to be appearing on just about everything these days. I can see him now:
"Sattelite crash? What does Bob Dole think of that? Bob Dole thinks you should watch When Satellites Go Down on FOX!
Of course if you want a really shiny beard, put a raw egg in your Guinness. It works when I put one in my dog's food...
a) women are avoiding CS like the plague.
b) the posts came in fast and furious in that "how to meet women" discussion a few months back.
Oh, you asked for it now...
Haiku
JFK Junior
Angle is too steep, pull up
Shit, call the coast guard
The Love Song of J. Alfred Pilot
Let us go then, flight 355
The 747 looks at the stretching sky
Like a patient etherised upon a table...
I would guess that in most cases, delayed software does not cause catastrophes -- at worst, it's an annoyance, something that makes the news reports say "tsk, tsk," but nothing worse.
There is something that I like to call the "Law of Conservation of Development Energy" -- a given piece of software will take a specific amount of effort to create. You can put in the effort up front and allot the time needed, handling schedule slips by either dropping features or extending the deadline, or hit the arbitrary deadline no matter what and release patches later and hope that the patches get around. I prefer the former.
I also want to maintain a semblance of a life. Going home at a decent hour, being able to go out with friends (even on weeknights), indulge in my punk rock street accordion hobby, whatever. I don't want to be locked away in the software gulag and grow to resent the work I love. You'll get 100% from me, but you won't get a software kamikaze.
I strongly suggest books such as Ed Yourdon's "Death March" or Steve McConnell's "After the Gold Rush," "Rapid Development" and "Software Project Survival Guide" if you're interested in being a geek with a life. To get those useful negotiating skills, check out Donaldson and Donaldson's "Negotiating for Dummies" and "Getting to Yes" by someone whose name escapes me.
And now, let me end with a number I performed at LinuxWorld expo with Slashdot's very own emmett...
Should I Sleep or Should I Code
sung to the Clash's Should I Stay or Should I Go
Darlin' you gotta let me know
Should I sleep or should I code?
If I sleep I'll fall behind
If I code I'll lose my mind
So you gotta let me know
Should I sleep or should I code?
It's always grep, grep, grep
And running 'round in single-step
I need to nap before I hack
Please get the client off my back
So c'mon and let me know
Should I sleep or should I code?
Should I sleep or should I code now?
Should I sleep or should I code now?
If I sleep I'll miss the milestone
If I code I'll break my headbone
So you gotta let me know
Should I sleep or should I code?
It's just an operating system.
So who cares if so-and-so has a few criticisms of it? If you're going to get angry and rant, get angry and rant about something that really matters.
A short list of suggestions includes:
* At least they told me it was a woman wearing the costume at the time...
I also program because I want to and I can. No argument there, compadre.
But I also remember that the user is the reason the program exists. That's the spirit of open source -- to meet the needs of users by putting th users in control of the software. Open source is not about replacing a clique of proprietariness with another clique of I-am-a-better-hacker-than-you.
Now if the user base consists of yourself, go ahead and program as you see fit -- you will naturally program to meet your needs. However, if the user is someone else, I do my best to find out what their needs are. If their needs can be met by a feature they demand, then I implement it. Sometimes you have to say "no" to a feature either becuase it's impossible, there isn't time or there's a better way, but if your software is for someone else, I think you should listen to them.
Not everyone can pick up a programming language and fix their software -- even those of us who can can't afford to patch every piece of open source software they wish had some feature or another.
Saying "Use the source. Now leave me alone" to a non-coder (or even a coder) is like having the chef of a restaurant telling you to cook your own damn steak if you don't like the way s/he does it; s/he may be right, but will s/he be a chef for much longer?
True to a point. However, Linus and several speakers at LinuxWorld Expo made it a point of saying that standards evolve as a result of markets and users. At this point in the game, we have de facto standards already accepted by the users:
- the CLI rule that says "command first, then switches, then filenames"
- keyboard shortcuts for cut/copy/paste/undo in GUIs
- the convention of single-clicking on an icon meaning selection and double-clicking meaning activation
They are already part of the established language of interface. The language of interface is very much like the language of conversation or writing -- you don't go around inventing new words without a very good reason or need, otherwise no one will understand you.Hopefully, Linux app developers will make sure that their apps follow some kind of sensible convention. This means that CLI apps should follow the convention of switches first, then filenames, and that GUI apps should follow the de facto rules. Consistency is not a bad thing; while a developer is free to break the rules any way s/he pleases, s/he'll find that unfettered freedom brings its own tyranny with it.
As for M$ and Apple not sitting in meetings, talking about UI compatibility issues; they did -- Windows used to have it own keyboard shortcuts before they switched to a more Mac-like set, and the MacOS has adopted the convention of control-clicking in order to approximate right-clicking in Windows. Both languages of interface borrow from each other, just as human languages do. It only makes sense that Linux interfaces do the same.
____________________________ Accordionists squeeze harder
Marlon Brando or William Shatner. They'd save money from not having to buy a costume or use computer graphics.
We'll probably play "Should I Sleep or Should I Code" later today, and I'm hoping to get CmdrTaco to sing "Won't Get Fooled Again" while I play.
Well, after reading this discussion, I must say that Neal Stephenson was right when he wrote in Snow Crash that techie sexism was the worst kind of all, because it was practiced by guys who thought they were too smart to be sexist.