INPUT ARTICLE: Article: So what if what you're doing is considered atypical? You should go for what you want instead of waiting around for the phone to ring. If you know who you want to go to prom with, then you should take the initiative and ask him. The worst that can happen is that he says no and you end up finding another date. The best that can happen is that you impress him with your creativity, your confidence, and just the fact that you're not like a lot of other girls. Be proud of yourself for asking and know that it's worth the risk. Many guys go through the same worries, and it's perfectly natural to be afraid that things may not go your way. Though a fun, wacky, crazy, or showy prom-posal can be a great way to snag a date, you have to think about where the guy is coming from, too. If he's a really shy guy who keeps to himself, he may not be into a huge prom-posal in front of half the school. This may actually embarrass him and make him feel bad if he doesn't want to go to prom with you. Doing something cute and private may be the better route to take, depending on the guy. When you decide how to make your decision, just make sure you're thinking as much about what you want to do as how he will react. Though there are no hard and fast rules about what not to do when you ask a guy to prom, there are a few things you should stay away from, if you have any doubts. Here are some things to think about:  Ask around subtly, if you can. Make sure the guy hasn't been talking about asking another girl or doesn't have "a thing" with another girl before you ask him. If you do, this can make him feel bad. Don't have your friends ask him for you. Show that you're confident enough to do the asking yourself -- even if your friends help you with the process! Most of all, don't be down in the dumps if things don't turn out the way you planned them to. If you didn't take the initiative to ask the guy, then you would have been in the same place you'd be in if you asked and he said no. This way, you can be at peace with his answer and start your search for the perfect prom date anew.

SUMMARY: Be proud of yourself for wanting to ask a guy to prom. Make sure to take the guy's preferences into account. Know what not to do.

INPUT ARTICLE: Article: This is the platform you'll be using to code your new operating system. It's a matter of personal preference, but most people either use Windows or a flavor of UNIX. If you're using Windows, it's a good idea to install a UNIX environment like Cygwin or MinGW. You'll generally want to make sure whatever environment you're using includes the following:   GCC (the Gnu compiler). If you're using Windows, you can install it in Cygwin or MinGW. Binutils is a collection of tools used for manipulating object files. Again, if you're using Windows, you can install it in Cygwin. A good text editor. Vim and emacs are commonly used in UNIX environments. Windows users can use Notepad, or check out Notepad++ for a multi-tab upgrade. Perl and/or Python. One or both are recommended for string manipulation. Writing an operating system means you'll likely be creating hundreds (or thousands!) of lines of code. When you're working on revisions, this can get confusing. Some options to check out are CVS, Mercurial, and Subversion. If you don't want to create your own, you can use an existing one like Grand Unified Bootloader (GRUB). If you do feel daring enough to code a bootloader, check out Rolling Your Own Bootloader on OSDev.org. The kernel is the core of your operating system, providing an interface between the user and the computer hardware. There are monolithic kernels and micro kernels. Monolithic kernels implement all the services in the kernel, while microkernels have a small kernel combined with user daemons implementing services. In general, monolithic kernels are faster, but microkernels have better fault isolation and reliability. Begin with small things such as displaying text and interrupts before moving on to things such as memory management and multitasking. You can also try making a simple 16-bit Operating System, instead of taking a big leap. You will not have a full system in two weeks. Start with an OS that boots, then move on to the cool stuff. Rather than rebooting your computer each time you make changes or having to transfer the files from your development computer to your test machine, use a virtual machine application. VMWare is a common option that works with both Windows and Linux, and so is Bochs. Check for potential deadlocks and other bugs and repair them as needed. " You can do this by uploading your tested code to your public repository. This will allow people to test your operating system and report back on any issues they run into. There's an entire community of operating system developers congregating on various forums, including /r/osdev on Reddit and the Software Engineering Stack Exchange. One you've gotten a grasp on developing a basic operating system, read existing posts to see what kind of things come up during the development process.

SUMMARY:
Choose a development environment. Set up your version control system. Decide on a bootloader. Choose a kernel design. Start small. Test your new operating system with a virtual machine. Release a "release candidate. Network with other operating system developers.