PDA

View Full Version : Fear of Change = Bad Programmers



tbrminsanity
April 15th, 2008, 10:22 PM
I frequent Ubuntu Brainstorm a lot (brainstorm.ubuntu.com) and I've noticed something, people have a fear of change. More notably people resist change if it deals with something they learned to live with. Stuff like accepting the fact you have to always go to the terminal even though the process could be turned into a GUI, we could use programs that unify or simplify a drawn out process, or accepting that something can't be done because it has never been done before.

The best programmers in the world have 3 common traits:

Impatience (they can't stand slow or inefficient programs and computers)
Laziness (they don't do any more work they is needed)
Sinful Pride (they only want to show their best code and get cudos for that code)


If we learn to live with a problem then we violate these 3 traits and slowly turn into bad programmers. I think it is our duty as developers and FLOSS programmers to be the ideal model of a programmer and continue to push the boundaries of what is possible and what is acceptable. In short if something makes us impatient, causes us too much work, and/or is a half fast effort, we should seek to change it! We should try to make the programs that all programmers (FLOSS and proprietary) seek to be the standard of quality and innovation.

LaRoza
April 15th, 2008, 10:42 PM
Are you a programmer working towards this goal of pushing boundaries?

You seem to be unrealistic about development.

tbrminsanity
April 15th, 2008, 10:45 PM
Yes, and I love doing the imposible.

qamelian
April 15th, 2008, 10:57 PM
Yes, and I love doing the imposible.
Why is it that any time someone thinks an idea is bad they are labelled "afraid of change"?

I've got news for you: a lot of the ideas that get praised and pushed on Brainstorm really are bad ideas that have been discussed/argued to death. The example of CLI vs GUI is classic. It is not a matter of having simply accepted the use of the terminal with a defeatist attitude. Most people who prefer doing things from the CLI prefer it for very good reasons. I'm speaking as someone who spent thirteen years using only an Atari ST computer which was GUI only. The was no command line...period. Frankly, as much as I loved my old Atari, I would NOT under any circumstances go back to a GUI-only environment. It's to restricting and inflexible. Much like the folks who are constantly complaining about users being resistant to change when, in fact, change is not necessary.

If people would put half as much energy into actually learning to use Linux as they do into trying to change it into something else, they might see what they are missing.

original_jamingrit
April 15th, 2008, 11:02 PM
What if a programmer likes the terminal? Virtually anything can be GUI-fied. If there's somebody interested in GUI-fying Linux, they're always welcome to. It's just that many developers are more interested in other aspects of the system, and would rather spend their time on projects that interest them.

koenn
April 15th, 2008, 11:11 PM
@OP:
In open source development, there's the "release soon, release early' principle that's imerative to grow a community of co-developpers around a project. So open source devs would deliberately publish imperfect code. Kinda contradicts your #3

On the other hand, many open source software serves as the canonical implementation of a standard or an algorithm.
so you're goal of "We should try to make the programs that all programmers seek to be the standard of quality and innovation." is already realized.
Next to the fun of coding and pride in what you create (which i don't consider sinful at all), there are usually not that many incentives or rewards in open source projects, so it seems to may that when these programmers are no longer interested in producing good code, they'd simply stop coding, not become bad programmers.

quite honestly, your post sounds an awful lot as yet another "the devs should ..." post - badly desguished - ,

saulgoode
April 15th, 2008, 11:45 PM
Change IS bad -- (unless it's good)!

Quoting from /usr/src/linux/Documentation/ManagementStyle


The name of the game is to avoid having to make a decision.

Programmers are not adverse to change: you throw a new piece of hardware at them and they're all over it. You provide a new algorithm and they will have it implemented before you finish your dissertation. Provide a new tool and they will make it sing and dance to tunes you never suspected existed.

What they are adverse to is change for change's sake. Demand that they change so you don't have to and the response will understandably be "sod off". Propose a change that is an improvement -- and support your case that it IS an improvement -- then programmers will accept your proposal.

picopir8
April 15th, 2008, 11:57 PM
I think the original post should be modified to state
"New programmers in the world have 3 common traits:"

I know when I first started programming, I had all these traits. All my older coworkers seemed old, and stuck in their ways. But slowly I noticed that many of my "new" ideas had already been tried and failed. Some people tried to tell me but I would not listen. Soon I found I was wasting a lot of time on fruitless endeavors. I began to listen to the advice of my older colleagues and when I did, I became a more focused and productive programmer and many more of my ideas came to fruition.

Now as I watch younger programmers enter the workforce, I notice they to have the same attitude. That does not make one a good programmer though, it only makes one a cocky programmer. One only becomes a good programmer once they learn to build upon the knowlege of others.

LaRoza
April 16th, 2008, 12:12 AM
Programmers are not adverse to change: you throw a new piece of hardware at them and they're all over it.
.

You make it sound like programmers are starving dogs that feast off computer hardware.

I shall try that, chucking a new video card at some programmer.

macogw
April 16th, 2008, 12:14 AM
What if a programmer likes the terminal?.
And I think that would describe a good portion of us. One of my friends worries that bugs in certain GUI apps go unnoticed because just about anyone capable of fixing the bug doesn't bother with the GUI enough to ever notice it exists.

ZylGadis
April 16th, 2008, 02:11 AM
The best programmers care about these things:

1. First and foremost, that it works.
2. Second and far less important, that it works optimally.

This is it. Nothing else matters. So, if you provide very good reasons that GUIs work better than the terminal, you might have a point. The best way to provide very good reasons that something works is to implement it. Until you implement a GUI that works better than the terminal, you are doomed to whine in forums without anyone (who matters) paying attention to you.

pt123
April 16th, 2008, 03:58 AM
The programmers behind Gnome-screensaver fall into this category.

23meg
April 16th, 2008, 04:04 AM
The programmers behind Gnome-screensaver fall into this category.

Why?

schauerlich
April 16th, 2008, 04:11 AM
Another reason developers might not like change is that it brings with it a whole new host of bugs.

(Disclaimer: I'm not a programmer, so anyone who is can feel free to rip apart that argument. :) )

LaRoza
April 16th, 2008, 04:14 AM
Another reason developers might not like change is that it brings with it a whole new host of bugs.

(Disclaimer: I'm not a programmer, so anyone who is can feel free to rip apart that argument. :) )

You are correct. Changing anything can introduce some cool "features".

cardinals_fan
April 16th, 2008, 04:24 AM
I frequent Ubuntu Brainstorm a lot (brainstorm.ubuntu.com) and I've noticed something, people have a fear of change. More notably people resist change if it deals with something they learned to live with. Stuff like accepting the fact you have to always go to the terminal even though the process could be turned into a GUI, we could use programs that unify or simplify a drawn out process, or accepting that something can't be done because it has never been done before.

You could provide some examples...

tbrminsanity
April 16th, 2008, 03:39 PM
@cardinals_fan

Examples:
Idea #3472 (double clicking the menu button to close a window)
This is a simple thing to program (and one I'm looking into doing myself), yet it currently sits at -12.
Idea #1205 (No more package system locking.. Wait instead)
It wouldn't be hard to implement this as well using the currently running process and matching them to ones that call on Apt. Only one instance of apt would be running but multiple programs (synaptic, auto-update, package installer, etc) could be calling on it. Each request would have to wait till the previous one successuvly executed without the need to open the terminal and enter each command (apt-get update && apt-get install blah && apt-get ... )
Idea #6639 (A "Ubuntu Store" Service)
I would like to point out the first comment:

Purchases proprietary software? Dude, WTF are you smoking?
No way!

Better purchase commercial open source software, or donate to free open source software.

Lets not poison out beautiful software ecosphere with proprietary software.
Idea #2354 (Better Playstation 3 Support)
The idea is at -64. It is a hardware challenge and another project I'm working on.

Mr. Picklesworth
April 16th, 2008, 03:54 PM
The programmers behind Gnome-screensaver fall into this category.

I assume you are talking about the original poster's category. If I am correct, may I be the first to point out how absolutely incorrect that statement is.
They maintainers of GNOME-screensaver decided to remove the arbitrary hack that is a screensaver's configuration tool, which absolutely is aiming to influence change. It hasn't happened yet, but the idea is simple: Screensavers should not need tweaking to be personalized; people personalize their desktops in many places already. It's about optimization.

An interesting thing happens with a lot of screensaver's options: The extremeties of those options can give us many different screensavers! With the screensaver theme engine idea, it can still be customized (at this point via command line options in a .desktop file), but the idea is really installing / creating different themes using that same engine. Right now, people building screensavers are tangled in the old way, so aren't quite used to this idea. With theme engines, the hope is in fact to have unprecedented configurability for the theme engines so that completely unique themes can be built on top of them.
Two more possibilities then spring to mind: Administrators can regulate screensaver themes if they wish (no KPOD screensavers...), and, alternatively, users can install screensaver themes to their home folders instead of needing to be administrators. Screensavers are then a bit more regulated, with fewer unobserved binaries bouncing around. When themes are generally talking to existing, well maintained engines in the official repositories, that security risk can be much better controlled.

This is Exactly the same as GTK themes. We have theme engines (which you do not customize via a GUI except in some really weird cases) and the theme itself, which passes a bunch of options to said theme engine.

mech7
April 16th, 2008, 03:58 PM
Well programmers aren't always interaction designers.. though most are aware of common usability practices they are still 2 seperate specialities :)

tbrminsanity
April 16th, 2008, 04:19 PM
Idea #3394 (Bulk Rename like in Xubuntu)

Not installed by default!
It's already easy enough to get.

My mother would run across it, try it, and then I'll be on the phone for hours trying to figure out what she did and how to undo it!

Keep the sharp tools on the high shelf.

This is a tool that does save time. I use it a lot and my wife who is not very computer savy never touches it, nor does she have the desire to try it out.

fwojciec
April 16th, 2008, 04:22 PM
Arguing About Principles Rather Than Writing Code = Bad Programmers

aysiu
April 16th, 2008, 04:56 PM
While I think the gnome-screensaver defense is weak, I don't think you can categorize the programmers as fearing change. In the past three years I've used Ubuntu, I've seen quite a lot of change. And if you look at the Implemented Ideas section on Brainstorm, there are a number of requests that have been implemented:
http://brainstorm.ubuntu.com/idea/5062/
http://brainstorm.ubuntu.com/idea/3058/
http://brainstorm.ubuntu.com/idea/4573/
http://brainstorm.ubuntu.com/idea/11/
http://brainstorm.ubuntu.com/idea/240/
http://brainstorm.ubuntu.com/idea/249/
http://brainstorm.ubuntu.com/idea/4143/
http://brainstorm.ubuntu.com/idea/2665/

I don't think it makes sense to say that because the developers didn't implement an idea that you liked that it means they fear change or are bad programmers. They disagree with you. Sometimes when they disagree with you, they may be right. Other times, they may be wrong. But they usually have a rationale for doing things the way they do, justified or not.

There's also a mistaken assumption that the votes on Brainstorm indicate developers' approval or disapproval of items. Oddly enough, there are ideas voted down that the developers marked as implemented! The votes come from users mostly, not developers.

The voting system itself is a bit lame, as it allows people to vote after seeing how the votes are already going and does not display the number of up and down votes for each idea (only the difference of the two). Also, since there aren't any enforced guidelines for ideas, many ideas get voted down because they are phrased badly, described insufficiently, or try to tackle too many problems in one idea.

bruce89
April 16th, 2008, 05:04 PM
Arguing About Principles Rather Than Writing Code = Bad Programmers

I'm not sure why programmers that don't get paid for their work (read: most GNOME ones) should have to implement your ideas. They'll only do it if they want to. The nice thing about FOSS is you can monkey with the source if you so wish. I have done this with GPredict.

In all those years of whinging about gnome-screensaver, has anyone come up with a graceful solution to the "problem"? No, because users moan instead of come up with ideas.

aysiu
April 16th, 2008, 05:22 PM
In all those years of whinging about gnome-screensaver, has anyone come up with a graceful solution to the "problem"? No, because users moan instead of come up with ideas. I guess it's because the users disagree with the developers about what a "graceful solution" is. To me (and a lot of other users, apparently), a graceful solution is to put a button in that allows you to choose what folder you want the slideshow screensaver to grab images from. I don't see what's so clumsy about that.

Do you really think it's more likely that a new Ubuntu user will think, "What a sensible default to have a slideshow of stock images from a mysterious folder," or "How do I get my family pictures to show up as the screensaver?"

This would make about as much sense as taking away the option to change the desktop wallpaper with the defense that it's about making sensible defaults instead of requiring configuration options. No one is required to change the wallpaper if they happen to like the default one, but it's nice to be able to right-click the desktop and change the background image to a picture of your cat or spouse.

Same deal for screensavers. It may make sense to have the defaults be pictures of astronauts floating in space or whatnot, but it's also nice to be able to have a simple click option to pick a different screensaver slideshow folder.

In the inelegant or ungraceful solution we have now is to have the gnome-screensaver select your F-Spot favorites.

bruce89
April 16th, 2008, 05:27 PM
I guess it's because the users disagree with the developers about what a "graceful solution" is. To me (and a lot of other users, apparently), a graceful solution is to put a button in that allows you to choose what folder you want the slideshow screensaver to grab images from. I don't see what's so clumsy about that.

How would you deal with the button in "random" mode, it wouldn't be obvious what the button refers to then.

tbrminsanity
April 16th, 2008, 05:30 PM
I don't think it makes sense to say that because the developers didn't implement an idea that you liked that it means they fear change or are bad programmers. They disagree with you. Sometimes when they disagree with you, they may be right. Other times, they may be wrong. But they usually have a rationale for doing things the way they do, justified or not.

I'm not saying that the developers have to implement the ideas I want. I can do that myself (and I am). I'm commenting on the views of users that vote down any idea and comment on how bad an idea is because there is a work around that exists (like manually renaming multiple files instead of using a program like Bulk Rename). This is the fear of change I'm talking about.

The main reason I love and use Ubuntu is due to the innovation that has gone into since it's inception. I'm glad the developers choose to implement features that may not be popular on Brainstorm if they think it is good for Ubuntu.

aysiu
April 16th, 2008, 05:40 PM
I'm not saying that the developers have to implement the ideas I want. I can do that myself (and I am). I'm commenting on the views of users that vote down any idea and comment on how bad an idea is because there is a work around that exists (like manually renaming multiple files instead of using a program like Bulk Rename). This is the fear of change I'm talking about. Well, the title of the thread (Fear of Change = Bad Programmers) would seem to indicate you're talking about the programmers and not the users.

As I said before, though, because of the bad implementation of the voting system on Brainstorm, there are often a variety of reasons an idea could be voted down that have nothing to do with the merits of the idea.


How would you deal with the button in "random" mode, it wouldn't be obvious what the button refers to then. The button would be greyed out in that instance or not appear at all.

Mr. Picklesworth
April 16th, 2008, 05:42 PM
I guess it's because the users disagree with the developers about what a "graceful solution" is. To me (and a lot of other users, apparently), a graceful solution is to put a button in that allows you to choose what folder you want the slideshow screensaver to grab images from. I don't see what's so clumsy about that.

Do you really think it's more likely that a new Ubuntu user will think, "What a sensible default to have a slideshow of stock images from a mysterious folder," or "How do I get my family pictures to show up as the screensaver?"

No, the graceful solution is for software to follow the XDG specification for directories, such that a screensaver needn't ask; it simply displays the photos / videos / music from the correct location. User interface is moving away from needing a conventional file manager, so if a user ever has to think about file hierarchy, something is wrong.

Having said that, maybe one little button to choose media or launch a configuration program would be less painful than it sounds, but I for one would be concerned, at this point in time, about that bringing us back to horribly confusing, broken and ugly configuration tools. That's where proprietary software has an interesting edge: They can force change very rapidly by, for example, removing features so developers must streamline their work, then bringing them back later, allowing them to use it but with the expectation that their thoughts on the matter have changed.

Edit:
Oops, `my bad. That is xdg-user-dirs (http://www.freedesktop.org/wiki/Software/xdg-user-dirs), specifically. It's a standard which essentially lets us say "Photos go here, Music goes here...", thus (hopefully) letting software find content in a user's home folder without needing to explicitly ask for it every time. The concept is rather arbitrary and has room for improvement, but I think it makes quite a bit of sense here.

aysiu
April 16th, 2008, 05:48 PM
No, the graceful solution is for software to follow the XDG specification for directories, such that a screensaver needn't ask; it simply displays the photos / videos / music from the correct location. User interface is moving away from needing a conventional file manager, so if a user ever has to think about file hierarchy, something is wrong. You lost me at XDG. I have no idea what you're talking about.

I have to disagree with your last statement. The user shouldn't have to think about the larger filesystem hierachy, but she she should be able to control the way things are stored within her own ~/ folder. I have to say I love F-Spot as an application generally, but I hate the way it organizes photos, and when I want to upload a photo through Firefox, it's lame that I have to launch up F-Spot, too, to find the photo location, as it would be nigh-impossible to browse through all the numbered folders and subfolders to find the photo I want.

What's great about applications like Rhythmbox is that it gives you the best of both worlds. If you don't want to think about a folder setup, you don't have to. But if you do want to, Rhythmbox will scan whatever directory you want to scan.

tbrminsanity
April 16th, 2008, 05:53 PM
Well, the title of the thread (Fear of Change = Bad Programmers) would seem to indicate you're talking about the programmers and not the users.

I apologize for the miss leading title then.

I just feel so frustrated by people unwilling to accept change till it is almost forced on them (which is wrong). If a new alternative exists you should at least try it first before passing judgment. You shouldn't just discredit something because we have always done it some other way.

tbrminsanity
April 16th, 2008, 06:07 PM
pride in what you create (which i don't consider sinful at all),

http://c2.com/cgi/wiki?LazinessImpatienceHubris

macogw
April 16th, 2008, 06:30 PM
I assume you are talking about the original poster's category. If I am correct, may I be the first to point out how absolutely incorrect that statement is.
They maintainers of GNOME-screensaver decided to remove the arbitrary hack that is a screensaver's configuration tool, which absolutely is aiming to influence change. It hasn't happened yet, but the idea is simple: Screensavers should not need tweaking to be personalized; people personalize their desktops in many places already. It's about optimization.
That stops Electric Sheep from sending info about who's rendering. You have to use xscreensaver instead if you want actual options. The version of xscreensaver in Ubuntu isn't the one that passes keypresses either, which is annoying, because you can't vote for a sheep you like. It works fine on Windows.

koenn
April 16th, 2008, 07:36 PM
http://c2.com/cgi/wiki?LazinessImpatienceHubris

OK, so you translated "hubris" by "sinful pride". I'm not sure how correct a translation that is. Anyway, it's clear that Larry Wall e.a., who uou are paraphrasing in your OP (without proper credit), meant it to refer to professional pride / taking pride in ones work

tbrminsanity
April 16th, 2008, 07:49 PM
I think hubris can be safely translated to sinful pride. Hubris is the pride that would get you struck down by the Gods (ie a sin). It is the type of pride where you will not settle to have your work ridiculed because you know it is the best. A programmer/developer that has hubris would not settle to submit code because it works. It has to be the best it posibly can be so that you can be proud of what you have done.

koenn
April 16th, 2008, 08:33 PM
I think hubris can be safely translated to sinful pride. Hubris is the pride that would get you struck down by the Gods (ie a sin).
The ancient Greek, where the idea of hubris comes from, had no concept of sin. Hubris would be the sort of self-confidence or arrogance that made a mere mortal do something that would insult, challenge or provoke one of the gods - and that particular god would then strike back, as a matter of not losing face, not necessarily out of moral judgement.

But I believe we were discussing software development ...

tbrminsanity
April 16th, 2008, 10:36 PM
But I believe we were discussing software development ...

True, I think the three traits are fundamental to being a good developer. Even with the FLOSS philosophy of release early, release often, you need to be intolerant in order to want something to be changed (and you will want it done now), you will need to be lazy to make the changes easy for others to change later (because it may be you making those changes and you don't need extra work for yourself), and you need pride so that the patches you release are of top quality (because ultimately we hate being the person that everyone picks on because their work is crap).

popch
April 16th, 2008, 10:57 PM
I think the three traits are fundamental to being a good developer. (...) you need to be intolerant in order to want something to be changed (and you will want it done now), you will need to be lazy to make the changes easy for others to change later (because it may be you making those changes and you don't need extra work for yourself), and you need pride so that the patches you release are of top quality (because ultimately we hate being the person that everyone picks on because their work is crap).

That's a nice hypothesis which happens to be wrong.

A good developer develops or improves tools because he is given the job or because he perceives a need. Building a tool - especially for others - may require a tolerant mind set if only because the requirements conceivably call for a tool which the developer would not care to use for himself.

A truly good developer is not lazy but economical. A good developer does only cut corners when neither the quality of the product nor subsequent costs are affected by doing so.

A good developer is not proud but conscientious. He is given a 'contract' which he will fulfill to the best of his knowledge and abilities. He will be humble and not proud when his product turns out to contain errors or when the user does not understand how to use it. Which will be true in nearly every case. Even in the 'hello world' program.

A good developer is very often a 'she'.

koenn
April 16th, 2008, 11:24 PM
Those Laziness, Impatience and Hubris keywords are just that, keywords that refer to "Good Things" such as writing reusable code or 'if you need to do something a third time, automate it (-> goes to Laziness). I agree with the gist of it of them, although I'm not a programmer : [productive] laziness of this sort is a virtue in system administration too.

Still, and going back to the OP, claiming that open source developers don't possess these traits based on what you see on Brainstorm (or "Ideas for Next Ubuntu Release" threads for that matter) is wrong (as has been pointed out in this thread).

samjh
April 17th, 2008, 12:51 AM
The best programmers in the world have 3 common traits:

Impatience (they can't stand slow or inefficient programs and computers)
Laziness (they don't do any more work they is needed)
Sinful Pride (they only want to show their best code and get cudos for that code)


Well, that bold bit explains why there are so many crap programs.

Good programmers aren't lazy, nor are any other type of professionals who take pride in their work.

For example, if Bug A is release-critical, but Bug B is not, then your version of a "good programmer" would fix Bug A and then go have beer. A truly good programmer will fix Bug A and at least attempt Bug B before thinking their job is done.

macogw
April 17th, 2008, 05:53 AM
If by lazy he means "strategically lazy" he's probably right. If you're strategically lazy, you put in the upfront time to write something that will automate your annoying rote task so you can avoid doing the boring task

tbrminsanity
April 17th, 2008, 03:20 PM
A good developer develops or improves tools because he is given the job or because he perceives a need. Building a tool - especially for others - may require a tolerant mind set if only because the requirements conceivably call for a tool which the developer would not care to use for himself.

A truly good developer is not lazy but economical. A good developer does only cut corners when neither the quality of the product nor subsequent costs are affected by doing so.

A good developer is not proud but conscientious. He is given a 'contract' which he will fulfill to the best of his knowledge and abilities. He will be humble and not proud when his product turns out to contain errors or when the user does not understand how to use it. Which will be true in nearly every case. Even in the 'hello world' program.

A good developer is very often a 'she'.

You vision is very altruistic but ultimately flawed. Human emotion leads us towards the traditional "7 sins" and as such your truly good developer wouldn't last long. The model I presented is more realistic and more inline with what a lot of good developers are like. That being said, just because your impatient doesn't mean you would abandon a project before it is finished. Your more likely to remain impatient to the initial problem and want to continue to find a solution. Just because your lazy doesn't mean you will cut corners. Your more likely to create tools that can be reused later to make work easier for yourself. And just because your full of hubris doesn't mean you won't accept that there are errors in your code. It means you will stride to eliminate every imperfection in your code at all times, your code is never finished until it is perfect (which may never happen).


As a side note:
The main reason a lot of philosophical ideas fail when they enter the real world is that they fail to include the effects of human emotions and the implications of human greed. No one will do anything unless they have a vested interest in doing it (either monetary gain, fame, or to "scratch an itch"). If you accept your strengths and weaknesses and strive to be the best you can possible be then you will be able to do things others thought were impossible.

tbrminsanity
April 17th, 2008, 03:26 PM
A good developer is very often a 'she'.

Just out of curiosity, when did I ever say that a developer has to be a man? If a woman can do the job better then a man then so be it. The same holds true for any job (admin assistant, doctor, soldier, construction worker, etc).

Mr. Picklesworth
April 17th, 2008, 03:56 PM
I think this definition of "a good software developer" is all a bit flawed and off track. In the closed source world, fine, it makes sense. However, in free software land, a good software developer is very much about being able to grow a community around a project, and encourage contribution by people other than oneself.
Eric Raymond's essay The Cathedral and the Bazaar (http://catb.org/~esr/writings/cathedral-bazaar/) does really well explaining that. (There are some audio recordings on that page, too).

AnRa
April 17th, 2008, 04:28 PM
How to recognise a good programmer (http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/) :)

tbrminsanity
April 17th, 2008, 04:54 PM
I guess it comes down to what my elementary teacher use to say:

"Be smart, be lazy"

Do the job in such a way the you find the easiest solution that will not make more work for your self in the future.

Tomosaur
April 17th, 2008, 07:42 PM
Whenever I have to program something, I work on the principle that I will be re-writing the whole thing again in a matter of days. The one thing I hate most is planning, specifying, designing. I hack away until something works, then I make it work better by rewriting it in a clean style.

I converted a CLI app into a GUI app just last night, because I had to present it to a room of people and realised they wouldn't be able to see the command line. I had to rewrite a lot of the code, which I had spent months writing in the first place. The key is, I knew what worked and what didn't - wrapping it all up in a GUI was trivial. I think that is why developers may tend to neglect the GUI - they're concerned with function, not form.

popch
April 17th, 2008, 09:37 PM
You vision is very altruistic but ultimately flawed. Human emotion leads us towards the traditional "7 sins" and as such your truly good developer wouldn't last long.

Why, yes, if you say so.

What I described was not so much a vision as an observation. In one of my earlier jobs I was responsible for the definition and execution of quality assurance programs in an application development department. Those people who would qualify as best developers were those who most closely matched that description.

Of course, it's just a model and as such bound to be overly simplicistic. No real live person can be described by those terms.

Nothing to do with altruism, by the way. Also, it does not have to be true that 'human emotion' leads anyone towards sins, traditional or progresssive. You recognize a hard boiled pro by him or her not let emotions interfere with engineering.


Just out of curiosity, when did I ever say that a developer has to be a man?.

I wonder what makes you ask that as I did not once imply that anything said anything else. It's just that many of the statements in this thread are written in the masculine form which can mean at least two things.

I thought it somewhat relevant for the simple reason that the percentage of very good developers was greater among females than among males within the groups of developers I have been able to observe and assess.

pt123
April 18th, 2008, 04:15 AM
They maintainers of GNOME-screensaver decided to remove the arbitrary hack that is a screensaver's configuration tool, which absolutely is aiming to influence change. It hasn't happened yet, but the idea is simple: Screensavers should not need tweaking to be personalized; people personalize their desktops in many places already. It's about optimization.

That is ridiculous, and Nazi like. There is a concept called "Default Configuration" people need to look into that.




Right now, people building screensavers are tangled in the old way, so aren't quite used to this idea.

Lame and highlights the limitations and backwardness of Gnome.

pt123
April 18th, 2008, 04:26 AM
This is the problem with "Free Software" the developers, don't believe in the philosophy customer is right.

While in a non-Free software company if many users want a particular feature the businesses side of the company will force the developer to create the requested feature, or sack the developer.

This is why Ubuntu still struggles to gain significant desktop market share. Because it's hard for them to provide what the customer wants when the developers of the software in their distribution don't listen to customers. That is why Brainstorm is a good idea as it will hopefully give Free Software developers an idea of what customers want.
But sadly some developers are too thick skinned to listen.

Mr. Picklesworth
April 18th, 2008, 04:51 AM
This is the problem with "Free Software" the developers, don't believe in the philosophy customer is right.If you ever field phone calls from air-heads buying cheap computers with Windows on them, I think you will realize why that philosophy absolutely does not apply here.
For example:

"I bought a Toshiba laptop a few days ago... the web cam does not work"
"Okay... there should be a little light beside the web cam; is it on, and what colour is it?"
"Uhh... it isn't on" ... "Can I exchange this computer for a different one?"
"What program are you using for the web cam?"
"What?!"
"Uhm... how is it that you plan to use the camera?"
"Uhhh... I want to talk with my friends"
"Okay, are you in MSN?"
"Yes"
"Have you told MSN that you want to use the web cam?"
"How do I do that?"
Etc... people dictating options menus, then missing obvious buttons anyway and claiming they don't exist, is great.

If "the customer was right" in this scenario, we would have to build mind-reading web cams that activate themselves and magically start running video chat when the user looks at them. That, or Cheese / Skype should run at startup. The latter is a surprisingly common solution for a great deal of other Windows software.

Thick skinned is a good word for it, actually. They have a vision for a cohesive, user-friendly and intuitive desktop and they are sticking to it. I think that's a neat thing with GNOME, and when the platform is completely fleshed out (Empathy, Epiphany in all its glory) this will really start to shine. Featuritus is for the OEMs.

cardinals_fan
April 18th, 2008, 05:01 AM
I guess it comes down to what my elementary teacher use to say:

"Be smart, be lazy"

Do the job in such a way the you find the easiest solution that will not make more work for your self in the future.
Awesome teacher!


Arguing About Principles Rather Than Writing Code = Bad Programmers
+1

Change for sensible reasons is good, change for change's sake is bad.

23meg
April 18th, 2008, 05:02 AM
That is ridiculous, and Nazi like. There is a concept called "Default Configuration" people need to look into that.

I'm never tired of posting this link:

http://bugzilla.gnome.org/show_bug.cgi?id=316654#c48

pt123
April 18th, 2008, 09:28 AM
If you ever field phone calls from air-heads buying cheap computers with Windows on them, I think you will realize why that philosophy

That should never be applied per customer basis. There is always an idiot. But if a fair share of customers want it, you give it.
http://brainstorm.ubuntu.com/idea/185/


I'm never tired of posting this link:

http://bugzilla.gnome.org/show_bug.cgi?id=316654#c48
I hate it, everytime I see it makes me mad. Stuff like this will always hold back Ubuntu.

23meg
April 18th, 2008, 02:41 PM
I hate it, everytime I see it makes me mad. Stuff like this will always hold back Ubuntu.

What is it that you hate about it?

And thanks for yet another version of the "people are waiting at the gates for $MYGRIPEWITHUBUNTU to be fixed and as soon as it's fixed we'll get millions of users" fallacy.

koenn
April 18th, 2008, 03:45 PM
This is the problem with "Free Software" the developers, don't believe in the philosophy customer is right.

While in a non-Free software company if many users want a particular feature the businesses side of the company will force the developer to create the requested feature, or sack the developer.

This is why Ubuntu still struggles to gain significant desktop market share. Because it's hard for them to provide what the customer wants when the developers of the software in their distribution don't listen to customers. That is why Brainstorm is a good idea as it will hopefully give Free Software developers an idea of what customers want.
But sadly some developers are too thick skinned to listen.

If you truely believe that "customer is always right" and that Free Software devs are too thick skinned to listen to the customer, while "a non-Free software company" would just include the requested feature, then the logical conclusion is for you to use non-free software.

I tend to think that people with experience in software development are more capable of making an informed decision than YetAnotherNitWit who just subscribed to a web forum.
Besides that, Gnome seems to have a clear, consistent vision on how applications should behave and what the role of a desktop environment is in this context . ( http://developer.gnome.org/projects/gup/articles/why_care/ - http://library.gnome.org/devel/hig-book/stable/ -
http://developer.gnome.org/doc/standards/ - ... ). I can understand they're reluctant to just create a pile of features on request, if these features don't align with their vision or contribute to their goals.

If your views on desktop environments, application behaviour etc are radically different from those of Gnome, maybe chosing to use Gnome was a bad idea - for you.

original_jamingrit
April 18th, 2008, 04:56 PM
This is the problem with "Free Software" the developers, don't believe in the philosophy customer is right.

Lots of Free Software is not developed for the mainstream consumer. So in effect, there often is no 'customer'. Volunteering for development work you don't care about and don't get paid for is like giving to charity, you can't really force charity. The developers that recieve funding for this work, or are contracted by someone to do open source work; they are the ones you want to talk to.

That's kind of the difference between Ubuntu and Red Hat, for example. If you paid for Red Hat software and made request, you'd be much more likely to get it.

tbrminsanity
April 18th, 2008, 05:50 PM
@pooch

I find that good programmers become good programmers based on what dives them to program. People that have the passion, discipline and drive to program day in and day out. Not gender or altruistic ideals. That being said the best programmers I know are impatient, lazy and full of pride in their work (as I've stated above).

tbrminsanity
April 18th, 2008, 05:56 PM
@pt123

The joy of FLOSS is that the customer is yourself. So in a sence the customer is always right. If you don't like something you can change it to fit your needs. Its the core of Free Software:

1. The ability to run programs for any purpose
2. The ability to modify a program to fit your needs
3. The ability to make copies to give to someone else
4. The ability to change the program and distribute it.

aysiu
April 18th, 2008, 05:58 PM
@pt123

The joy of FLOSS is that the customer is yourself. So in a sence the customer is always right. If you don't like something you can change it to fit your needs. Its the core of Free Software:

1. The ability to run programs for any purpose
2. The ability to modify a program to fit your needs
3. The ability to make copies to give to someone else
4. The ability to change the program and distribute it.
The joy of FLOSS for programmers, you mean.

If I'm not a programmer, I can't really modify the program to fit my needs.

23meg
April 18th, 2008, 06:07 PM
You can always ask or hire someone who can. Impossible with proprietary software. Besides, some things are really easy to modify for non-programmers who are willing to ask and/or search around too.

LaRoza
April 18th, 2008, 06:07 PM
That is ridiculous, and Nazi like. There is a concept called "Default Configuration" people need to look into that.


Godwin's Law, you lose!

tbrminsanity
April 18th, 2008, 07:14 PM
If I'm not a programmer, I can't really modify the program to fit my needs.

Nothing stops you from learning. I'm sure the Ubuntu Forums can suggest thousands of different books and websites that can get you started. Who knows you may like messing around with code.

popch
April 18th, 2008, 08:18 PM
@pooch

I find that good programmers become good programmers based on what dives them to program. People that have the passion, discipline and drive to program day in and day out. Not gender or altruistic ideals. That being said the best programmers I know are impatient, lazy and full of pride in their work (as I've stated above).

I still don't get it where the ideas of altruism and ideals crept in. I most certainly did not state anything of the sort.

Just out of curiosity: what's the environment those impatient, lazy and proud programmers of your work in? My experience is of an environment where programmers are professionals hired to develop the software which drives the employer's business.

On re-reading this thread, I realized that we do not really speak about the same developers, anyway. I spoke about those I personally had the pleasure to know, and of the very best of those.

Nowhere did I mean to imply that I personally know the world's best programmers as you said earlier in this thread. BTW, can you disclose who are the world's best programmers?

tbrminsanity
April 18th, 2008, 08:26 PM
@popch

Where do I know good programmers from:

* The University I went to
* The company I currently work for
* The military
* FLOSS projects I was a part of
* Computer clubs I have been in
* IT professional groups I'm in