All developers at some point will do a live demo of their work, whether that's to the person next to them, in a team meeting or in a more formal context. Setting up your computer and environment will make the session go much smoother and allow you to focus on delivering your message. These are a few tools and tips that I have found help.
Don't let your computer fall asleep
Computers are great. Leave them unattended for a while and they will go into sleep mode saving you battery. Amazing for the world, terrible in the middle of a presentation where you might lose the link to your display or have to try and type your password while flustered in front of a room full of people.
Solution: Change the sleep settings on your computer before the talk. An even easier solution is installing an app which allows you to quickly toggle your sleep settings. I use caffeine for Mac. This installs a small coffee cup icon in your top toolbar. Click this and caffeine is activated and your computer wont go into sleep mode.A quick click after the presentation and you are back to normal functionality.
Set your editor with a light colour theme
Many developers like to setup their text editors with a dark background and lighter text. While great for local work it is incredibly hard to see on a big screen. Work out where you can change your colour scheme for your text editor and before a big presentation update this. The same goes for screen shots in slides. In sublime I find `iPlastic` is a good theme for presenting.
Tools for screen management
There are a number of options for presenting - mirroring is great as you can navigate while looking at your own screen. However, in many cases presenters will extend their display so they can see their notes or copy off practice code. Using a mouse is great when you are working at your desk but trying to control a cursor on a far away monitor at a difficult angle is incredibly hard. Learning keyboard shortcuts minimizes the amount of errors. Most developers know the `CMD + Tab` short cut to switch between apps but there are other shortcuts and tools for managing window size and position. When live coding I will often want to switch between and editor, a terminal and a browser window. Sometime I will want these to be full screen or split screen and I also want the ability to quickly move an application to my laptop. Debugging code is sometimes easier when it is straight in front of you.
Solution I use size up It allows you to quickly maximise a window - move it and resize it to any half or quarter of the screen and quickly shift it between monitors. It's not only a great presentation tool but incredibly useful if you have one or more external monitors in your daily developer life. It's relatively inexpensive and worth every penny.
Preparation always helps. This is not a tool but a tip. While you may have amazing computer foo at your desk, trying to control a mouse on a monitor over your right shoulder is a tough ask. Practice before hand, learn any shortcuts and tricks and practice and practice and practice. Try and practice where you will be presenting. Practice with a monitor over your right shoulder, practice with a mouse that scrolls the wrong way, practice with a friend in front of you, practice taking a glass of water, practice and take a video of yourself practicing and learn from that and practice again. And then practice again.
Good luck! Have fun and enjoy the experience knowing that you have a solid setup and can focus on showing off your knowledge and skills.