Problem: Article: No orchid variety needs to be watered every day. In fact, overwatering can cause an orchid's roots to rot and eventually die. Unlike many houseplants, orchids should only be watered when they begin to dry out. Watering only when they're almost dry mimics an orchid's natural environment. Some orchids have water-storing organs, and some do not. If you have a type of orchid that has the ability to store water, such as cattleyas or oncidiums, you should allow the orchid to completely dry out before watering. If you have a type of orchid that does not have water-storing organs, such as phalaenopsis or paphiopedilums, you should water the orchid before it is entirely dry. If you're not sure what type of orchid you have, plan to water the orchid when it is almost dry, but still has just a bit of moisture left. The frequency with which you water orchids is affected by the level of humidity in your climate, as well as the amount of sun the orchid gets and the temperature of the air. Since these factors vary according to region and household, there's no rule for how often to water an orchid. You'll have to develop a routine catered to your specific environment. If the temperature is cool in your home, your orchid will need to be watered less frequently than when the temperature is warm. If the orchid is in a sunny window, it will need to be watered more frequently than if you place it in a shadier spot. This is the first indication that it might be time to water the orchid. Orchid potting mix is usually composed of bark or moss, and if it looks dry and dusty, it might be time to water. However, just looking at the potting mix won't give you an accurate enough indication as to whether it's time to water. The pot will feel lighter when it's time to water the orchid. If it's heavy, that means there's still water in the pot. Over time, you'll get a sense of how heavy the pot feels when the orchid needs water versus how heavy it feels when it still has moisture inside. A pot that still contains moisture might look different, too. If your orchid is in a clay pot, it will look darker when it's still wet. If it's light in color, it might be time for a watering. This is the best way to determine whether an orchid needs more water. Stick your pinky finger into the potting mix, taking care not to disturb the orchid's roots. If you don't feel any moisture, or you feel just a little, it's time to water the orchid. If you feel moist potting mix right away, give it more time. When in doubt, you should wait an extra day.
Summary: Water sparingly. Consider your climate. See if the potting mix looks dry. Lift the pot to check its weight. Do a finger test.

Problem: Article: . A good program will perform a task that makes life easier for the user. Look at the software that is currently available for the task you want to perform, and see if there are ways that the process could be easier or smoother. A successful program is one that users will find a lot of utility in. Examine your daily tasks on your computer. Is there some way that you could automate a portion of those tasks with a program? Write down every idea. Even if it seems silly or outlandish at the time, it could change into something useful or even brilliant. Examine other programs. What do they do? How could they do it better? What are they missing? Answering these questions can help you come up with ideas for your own take on it. This document will outline the features and what you intend to achieve with the project. Referring to the design document during the development process will help keep your project on track and focused. See this guide for details on writing the document. This is a basic program that shows off the functionality that you're aiming to achieve. A prototype is a quick program, and should be iterated on until you find a design that works. For example, if you are creating a calendar program, your prototype would be a basic calendar (with correct dates!) and a way to add events to it. Your prototype will change often during the development cycle as you come up with new ways to tackle problems or think of an idea later that you want to incorporate. The prototype doesn't have to be pretty. In fact, art and design should be one of the last things you focus on. Using the calendar example again, your prototype should most likely just be text. Bugs are the bane of every developer. Errors in code and unexpected usage can cause all kinds of problems in a finished product. As you continue to work on your project, test it as much as possible. Do everything you can to break it, and then try to keep it from breaking in the future. Have friends and family test your program and report back results. Any way that you can get feedback will help your development process. Try inputting odd dates if your program deals with dates. Really old dates or far future dates may cause odd reactions with the program. Input the wrong kind of variables. For example, if you have a form that asks for the user's age, enter in a word instead and see what happens to the program. If your program has a graphical interface, click on everything. What happens when you go back to a previous screen, or click buttons in the wrong order? While it's fine to make a rough project for the prototyping and development phase, if you want others to use it you're going to need to spend some time on polish. This means making sure the menus flow logically, the User Interface (UI) is clean and easy to use, there are no glaring or showstopping bugs, and that it's coated in a nice looking finish. UI design and functionality can be very difficult and complex. People make whole careers out of designing UIs. Just make sure that your personal project is easy to use and easy on the eyes. A professional UI may not be possible without a budget and a team. If you have the budget, there are lots of freelance graphics designers who could potentially design a UI on contract for you. If you have a solid project that you're hoping will become the next big thing, find a good UI designer and make them part of your team. GitHub is an open-source community that allows you to share your code with others. This will allow you to get insight on your own code as well as benefit others who are looking for solutions that you may have come up with. GitHub is a great learning resource as well as a good way to build your portfolio. Once you have a finished product, you can choose whether or not you want to distribute it. There are a variety of ways you can do this these days depending on the type of software you created. One of the most common ways for small teams or independent developers to distribute their software is through a personal website. Make sure that all of your features are well-documented, and include some screenshots and tutorials. If you are selling your software, make sure you have a good digital payment system and a server to distribute the software from. If you are developing software for a specific device or operating system, there are multiple digital stores that you may be able to use. For example, if you are making software for Android devices, you can sell your app through the Google Play Store, the Amazon App Store, or your own personal website.
Summary:
Brainstorm ideas Write a design document. Create a prototype. Test it over and over. Polish your projects. Put your projects on GitHub. Distribute your software.