Posts Tagged ‘software developers’
what does the gnu require software developers to do when modifying linux version?
What does the GNU General Public License require software developers to do when modifying Linux version?
distribute? Huh? I’m an idiot when it comes to this stuff can someone elaborate for me please… I have a 6 page paper and 4 midterms to study for. Help me out pa pa pa please!
How does Open Source Software Business model work?
How do the developers get paid if nobody buys the software, just get it free, and that too with source code? I can understand it about amateur software developers. But I recently heard that Sun is coming out with Open Source Unix this year. How will they profit from this? If not, how will they survive?
Finding and Removing Unnecessary Startup Programs
Most of the programs that start when you boot up your computer are completely unnecessary and simply add to the overhead involved with turning on your computer. The reasons for the existence of these programs are based on faulty logic for a number of reasons. In this article I’ll point out to reasons that should be obvious to anyone and I will give you a recommendation for a tool that you can hear to find and remove these unnecessary and annoying startup programs. If you put the knowledge from this article to use, you will have a faster starting and faster overall performing computer.
The primary reason that most software developers give for creating startup programs is that the startup programs will help your software to start faster when you call upon it. In a vacuum that theory is sound. The theory presumes that you are going to use that piece of software every time you turn your computer on. However on your computer you have more than one program and most of the programs on your computer are used infrequently. Each one of these programs feels the need to install a startup program so that after you had your computer for a while and installed numerous programs you now have numerous startup programs that fire every time you start up your computer. In my mind I picture a piece of plumbing pipe that is getting clocked by a buildup of junk.
The main theory being that if he’s startup programs preload your software then your programs will start faster. Hole number two in that theory is that the developers have not eliminated the waiting that simply moved it to instead of when you call the program. The program is going to load everything it needs at some point. The developers have simply decided to make it happen at boot time on the presumption that you’re going to eventually use that program. That my friends is simply pride.
So today I recommend a program that I use, I’m not affiliated with the program in anyway, I simply use it myself so I know how effective and simple the program is. If you do a Google search for Ccleaner you will find the program. Simply download it and install it and let it run. When you have the program running you will notice on the left side of button for tools. Click on the tools button, now just to the right of the tools button you should see the word start up in a box, click on start up. You will now see listed all the programs that start when you turn on your computer. It is safe to delete any of the programs where the entry under the file column begins with C:program files. I say it is safe to delete those but it is not always advisable to do so because some of those programs you do want starting when you boot up your computer, so my advice is instead of deleting them simply disable them so that you can come back and re-enable the ones that you wanted running.
Author: Taylor Allin
Article Source: EzineArticles.com
Provided by: US Dollar credit card
Basic Rules to Become a Good Programmer
You do not have to be a software engineer to be a good software developer. Of course software engineers who have taken a good background of computing science have an advantage when compared to others that does not have when they both applied to the same job opening on software programming. It is needless to point that who has learned the bases of computing, analysis and programming will be one step forward in front of others. In graduate schools, students will build good logic on operating system basics, programming languages and databases. On the other hand although you you are not graduated from software engineering or programming disciplines, if you are a fast follower of the popular languages, framework solutions and operating systems you have then a good chance to be chosen for the first place for a job opening.
Technology, software and programming have rapidly changing trends. The decisions taken by companies and enterprises may also change from year to year.
A software methodology or a new technology used in programming that was very common and popular among software developers and software provider companies, can be out of the top list in the following years. A newer solution will always take the place of prior solutions. However a secret lies under this rapid change. It is what makes a valuable programmer is his or her ability to learn this tremendous change in programming. As a result for a software programming job opening, the best candidate should always be eager to learn new things, apply new methods and should seek for better solutions.
In universities, today’s accepted programming techniques and widely used languages may not be taught. If you are following the trends, you are then able to keep up with the requirements of the companies looking for a solution for their needs. Do not forget, a good programmer should be able to train himself or herself as a part of daily routines. Of course it is not possible even for the best programmers to know each programming language in details or each framework in detail but you should have at least an idea about the capabilities, advantages and solutions of the language, framework or methodologies.
Today’s popular languages in the programming arena are Java, C#, VB.NET and Python. .NET framework and .NET Framework languages like VB.NET and C# are most favorite ones where Microsoft solutions are used. On the other side programmers can also prefer using Java, Python, PHP and Ruby.
Web programming is also a good asset where intranet solutions are rising between companies. Companies also prefer to be in contact with their partners and customers. Therefore they are building B2B and B2C solutions.
Every company small or enterprise must use information technologies. Any company where a PC exists, a programmer can develop solutions for the users to be more productive on their job. If you motivate yourself as a programmer to develop solutions based on analysis and requirements of your company and users, you will be regarded as a good developer at the end.
Author: Eralper Yilmaz
Article Source: EzineArticles.com
Provided by: Beading Necklace
A Basic Understanding of Code Review
A well accomplished Code Review can do more than any other activities. It is a device used to find and fix mistakes that are unnoticed in the development stages, improving generally the value of software together with developer’s skills.
Code Reviews often finds and eliminates ordinary errors or faults like format string exploits, race conditions, memory leaks and buffer overflows thus improving the software security. Online software’s repositories based on the Subversion with Trac, Mercurial, GIT or any others allows groups of persons to team up to review code. Also, common tools for team up the code review procedures. Computerized code reviewing software diminishes the responsibilities of reviewing great lump of codes on the developer by organizing the inspection source code for identified vulnerabilities.
Code Reviewing Software is computerized software which helps in finding program source code. It is categorized into two main parts. Automated code review is software that verifies the source code with the allocated set of rules and various types of browsers envisages software formation which assists in a better understanding construction does not allocate a set rules to verify with the software.
Code Reviews are divided mainly into two major categories one is formal code review and the other is lightweight code review.
Formal Code Review for instance Fagan Inspection, entails a cautious and complete procedure with numerous stages. It is the older and the traditional technique of reviewing in which software developers present themselves in a sequence of meetings and review codes through each line, normally by means of printed copies of material. Formal inspections are tremendously systematic and efficient and have been confirmed successful in finding faults in codes under the review, though some condemn formal reviews as it is taking too long to be in practical. In other words Lightweight code reviews normally needs fewer overhead rather than formal code inspections, although it can be evenly helpful if done accurately. It is often performed as a component of the ordinary development procedures such as over the shoulder, Email pass-around, Pair Programming and Tool assisted code review. Some of the procedures are also named as a Walkthrough or formal and/or Critique or fast and formal.
Formal Code Reviews had required a substantial investment in researching for the review occurrence and implementing time, through which reviewers could not be engaged in some other creative actions.
Some of them consider that skillful and closely controlled use of number of other growing procedures can often upshot in equally high latent faults discovering and/or avoiding rates.
Author: Tom Greaves
Article Source: EzineArticles.com
Provided by: How Electric Pressure Cookers Work
The Pitfalls and Perils of Pair Programming
Pair programming: People either love it or hate it.
The concept of pair programming first became popular thanks to extreme programming or XPa set of practices that supposedly allows companies to develop software in a more efficient, more agile manner. Proponents of XP claim that it allows programmers to respond to changing or ambiguous software requirements without sacrificing quality. Skeptics disagree, arguing that these alleged benefits are either illusory or exaggerated.
XP proponents argue that two programming heads are better than onethat two software developers working together will tend to produce better, more reliable and more maintainable than a single programmer working alone. This practice is known as pair programming, and at first glance, it sounds like a great idea. Personally though, I think that it smacks of a one size fits all mentality. That is, it assumes that two programmers working in concert will indeed be more efficient and that they will produce better results. I think there is good reason to believe otherwise.
The much vaunted Williams study
XP fans typically point to an infamous study headed by Prof. Laurie Williams at the University of Utah. In this study, Williams concluded that pair programming takes 15% more time than solo development, but results in software that is 15% better. They argue that this modest increase in development time is a small price to pay, since better code quality means that less time and effort will be required later down the road during testing and maintenance, for example.
I think that there are numerous problems with this study, though. How did the researchers gauge software quality, for example? The used the length of code as the quality metric; that is, the shorter the source code, the better they deemed it to be. The reported, [The paired teams] consistently implemented the same functionality as the individuals in fewer lines of code. We believe this is an indication that the pairs had better designs. I think this is a hasty leap of logic, to say the least!
Does shorter source code exhibit greater quality? Sometimes, perhaps. However, one could just as easily speculate that the longer code contains more bug fixes and safeguards. In addition, adding more code lines to implement a design pattern, for example can make the software more efficient or easier to maintain. I think that the presumed correlation between code length and lack of quality is poorly justified at best.
The study also exhibited a severe case of participant bias. The students in a class were asked if they preferred to work in groups or alone. 35 of the respondents said that they preferred collaborative working; of these students, 28 of them were selected to constitute the pair programming experimental group. The remaining seven were placed in the solo programming group, i.e. the experimental controls. This created a strong experimental bias; all of the pair programmers were willing volunteers, whereas some members of the control group were there reluctantly.
Whats more, 13 out of the 14 pairs were self-selecting; that is, students were allowed to pick their partners willingly. Once again, this biases the results, since participants are likely to select partners with whom they are particularly compatible.
(Interestingly enough, these biases could have been easily avoided by assigning pairs randomly. I dont wish to cast aspersions; however, I cant help but wonder if Prof. Williams and company might have unconsciously biased their experiment to demonstrate the superiority of pair programming.)
Short-circuiting the creative process
In short, the supposed evidence for increased productivity under pair programming is questionable at best. In addition, we should ask if theres any reason to believe that pair programming can be counter-productive or otherwise harmful.
I believe that it can be. Pair programming can certainly help people catch or prevent bugs; as the hoary cliche goes, two pairs of eyes are better than one. When faced with a thorny problem though, one often needs to let the problem percolate in ones brain for a while before arriving at a proper solution. Often, thats how creative minds operate; they need to let their minds sift a problem first before attempting to fix it.
With pair programming though, this process is short-circuited. Instead of letting ones mind digest the problem in due time, pair programming puts pressure on people to arrive at a solution more quickly. Sometimes, this may produce better results; however, it can also have the opposite effect. I suspect that for the most creative minds, this kind of pressure can stifle creativity rather than hinder it.
But wait! Isnt there power in numbers? Arent there times when the best results are produced by having people brainstorm and confer? Certainly but these meetings of minds dont have to occur during the programming process. They can occur during planning sessions, during design reviews, or when sitting around a lunch table. We shouldnt dispense with group troubleshooting and design; we simply shouldnt force this to occur at the coding stage. That can do more damage than good.
Whats more, the most creative minds often need a measure of playtime an opportunity to play around with the code, tentatively exploring various options and letting ones mind roam free. This can be difficult to do when another programmer is looking over your shoulder. After all, what should we do explain and discuss every tentative step? For a creative mind, this can be stifling indeed.
Conclusion
In short, I think that the evidence for pair programmings effectiveness is questionable and overblown. I also think that theres good reason to believe that pair programming can stifle the creative process, instead of helping it. Can pair programming be helpful? Certainly However, when forced upon people, it becomes a one size fits all strategyand unfortunately, a single size cant possibly fit everybody, no matter what the salespeople say.
Author: V. Berba Velasco
Article Source: EzineArticles.com
Provided by: Guest blogger
Open Source Vs Closed Source Software – Product Support
Once new software is unleashed into the current market, those who decide to use or develop the new software are often faced with the challenges of updating, protecting, maintaining, and overall improving the product. Because of the differences in structure between open and closed source software, the way in which it is supported and maintained varies as well.
Support for Closed Source
Closed, or proprietary software, is much different than open source software. The main difference between the two is the access of the source code. For closed source, access to the source code is denied and solely controlled by the developer of the software. This means that if a problem arises, or updates need to be made, the developer of the software is the only group that can make the appropriate changes.
This puts many companies and organizations at the mercy of the closed source software developers. If the developers choose not to update or fix any problems, the organization that utilizes the software will be stuck with a useless product. Having to filter any and all problems through one location causes problems to be solved at a very slow pace. Users are not given the opportunity to attempt to fix the software on their own. While there may be alternative fixes, these are often illegal to use with proprietary software.
The main argument for closed source software is the ability to control the quality of the product. While this is a valid argument, the needs of all users can often overwhelm the developers, causing changes to come very slowly, if at all.
Support for Open Source
Unlike closed source, open source software makes the access code accessible to all users and developers. This allows users and developers to quickly take care of any issues that arise with the software. Instead of having to take all of your concerns to a centralized group, the users and developers are given the chance to create their own fixes.
This kind of innovation allows users to truly customize and control their software, with the support of the developer whenever needed. The resources available to users of open source software far exceeds those who use proprietary software. The potential for users to customize their software to meet the needs of their organization is practically endless. Organizations are only limited to the reaches of their own creativity.
While closed source software is less customizable, open source is less simple to control as far as quality is concerned. The potential of the software is completely in the hands of the users, meaning that development can either be very fast of very slow. Without careful planning, open source software can cause confusion, inconsistencies, and even compatibility problems. Users of open source software must be careful to avoid this type of confusion.
Contact an open source software developer [http://www.mpoweropen.com/support.shtml] to learn more about the advantages and disadvantages of open source software.
Author: Joseph Devine
Article Source: EzineArticles.com
Provided by: Hybrid and Electric Cars
Economics of Open-Source and Closed-Source Software
The rising popularity of the open source OS market, spearheaded by a number of highly popular open source applications, heralds not only a change in how software and information are viewed, exchanged, and developed, but also a shift in the very economics of the software industry. While some see the growth of the OS community as a threat to traditional software commerce and business models, in reality, the nature of open source software necessitates a different – though equally viable (and in some ways superior) – approach to the nuts and bolts of selling, distributing, and maintaining software.
The Premise of Closed Source (CS) Software
The core justification of closed source software (that is, software whose source code is hidden and whose uses are limited by copyright law) is economic. When software developers came up with a new product, they faced a dilemma. On one hand, as entrepreneurs, they had a need to sell their products and receive financial compensation for their work. On the other, the very nature of software makes it a very easily duplicated; a single copy of the application or program could be used to make hundreds or thousands more. Without product scarcity to create market demand, how could one sell software at any sort of respectable price?
The answer was closed source software. By hiding the vital innards of their applications from the public, and barring tampering through copyright protections, software developers were able to impose a type of artificial scarcity on the market, and were thus able to create demand for their products.
Open source software, on the other hand, cannot rely on such an economic strategy. Instead of driving or being driven by market forces, OS software developers are dependent on the popularity and quality appeal of their products. Though this does not necessarily guarantee quality, advocates say that the push for perfection (which is arguably much stronger in the absence of artificial demand) is a strong tenet of OS developers.
Open Source and Closed Source in a Growing Consumer Base
As consumer bases grow, both open source and closed source software encounter new challenges to their existence and maintenance. One such issue is security. Advocates of CS software say that, by hiding source code, they deter hackers and crackers from discovering and exploiting flaws in their applications. Open source advocates respond that, while hackers do have more access to OS software code, the openness of their products means that support and security patches are handled and produced by enormous consumer bases – resources unavailable to CS developers.
Author: Joseph Devine
Article Source: EzineArticles.com
Provided by: How Electric Pressure Cookers Work