About
One feedblog to rule them all!
Friends
-
Loading…updates about 1 month ago
Click here to check if anything new just came in.
November 12 2010
Create Compelling Presentations with the Three Q Method [Presentations]
Save your audience from another dull presentation and increase their focus by building a presentation that answers their questions instead of smothering them with slides. Author Joey Asher explains how to create effective presentations built around real questions.
Most presentations are complicated messes. Listeners wonder "What are the key points?", "Why should I care?", "Why is this so complicated?" and "Do we have to look at that many slides?"
Presentations don't have to be complicated to be good. There is a simple approach to creating simple presentations that connect with the needs of any audience—and you won't need to create a single PowerPoint slide.
We call it "The Three Q Method." It works because it is built around your audience members' key questions about the topic. The only prop you'll need is a flip chart.
Start with What Your Audience Cares About

Ask yourself "What are the three questions my audience would ask me?" Most presentations stink because they fail to provide what most listeners want—answers to their key questions. The Three Q Method addresses this issue by focusing the presentation on three audience questions. Photo by Office Now.
Next time you have to create a presentation, don't go to your computer and open up PowerPoint. Instead, take out a blank sheet of paper and ask yourself "What are the three questions my audience would most likely ask me about this subject?"
Those three questions will become the basis of your presentation.
Delivering Your Three Q Presentation

Start your presentation by briefly describing your topic. Keep it to just a few sentences. Let's say that you're a PTA president introducing a plan to raise money for school renovations. Photo by Marco Bellucci.
I think we all agree that the school is in bad need of renovations. Today, we're going to talk about our plans to raise money to make sure that the school looks great for our children.
After introducing the topic, introduce the questions, writing them on a flip chart. Once you've given an overview of the topic, preview your presentation for your listeners by telling them the three questions you plan to address.
If I were you, I'd probably ask three questions.
- What are the capital improvement needs?
- How much money do we need to raise?
- How are we going to raise the money?
As you introduce the questions, write them on a flip chart. This gives the audience an easy way to follow your presentation.
Go back and answer the three questions. In the body of your presentation, answer the questions in as much or as little detail as you feel is necessary. Be sure to start each section by repeating the question. It's OK if this sounds redundant. The goal is clarity. Your listeners will appreciate how easy it is to follow you. Photo by Velkr0.
The best way to answer each question is to give a simple answer in the first sentence or two. Then elaborate as much as you'd like.
So let's talk about the first question: What are the capital improvement needs?
The biggest need is the athletic fields. I think we all agree that they're an embarrassment and don't provide the kind of sports experience that our kids deserve . We need new grandstands. We need a new scoreboard. We need a new locker room . . .
End by opening up the floor for questions. Everyone's favorite part of the presentation is the Q&A. It's where listeners can get their specific needs addressed. When you've finished answering the three key questions, take more from your audience.
You don't need lots of slides for a great presentation. All you need to do is answer your audience's key questions simply and clearly.
November 26 2009
How to Fix Your Relatives' Terrible Computer [Tech Support]
Drop your bags, fix a drink, and grab the XP CD—it's time for the holiday ritual of fixing up your relatives' computer. Here are some tips and downloads to keep handy while you're cursing all the auto-starting crapware.
Photo by Justin Marty.
For this guide, we're going to do a bit of assuming. We're assuming the relative with the busted computer is running a Windows system, and has an internet connection that works when the computer does. We're assuming all the physical pieces of the computer work—hard drive, memory, disc drives, and anything else that's crucial. We'll also assume the computer's in one of two states: Failing to boot and needing an OS re-installation, laden with unnecessary system tray/startup applications and/or spy/mal/ad-ware, or just needing a little optimization.
Computer won't boot, needs a re-install
The problem: Turning on the computer results in a message that states Windows can't boot because something is missing (a boot loader, an important file, etc.) or something is wrong. There are many variations on this message, but they all say basically the same thing: You will not be getting into Windows.
Quick-fix triage: Load the original XP, Vista, or Windows 7 (Really? Broken already?) CD or DVD in the system and boot the system from there, which might require hitting a key to bring up "boot options" or pressing a key when asked to "Press any key to boot from CD." Wait for the CD to load—it may seem like it's installing, but it's just loading a mini-system for installation and, in this case, repair. Follow the prompts to repair an existing installation, or, in the case of Vista or 7, ask it to repair the startup process.
What you'll need:
- XP, Vista, or Windows 7 installation CD/DVD: It may be from a computer manufacturer and not look like a Microsoft-obtained, holograph-packed disc, so look around a bit. If it's a "System Restoration" disc, be sure that you can boot from it and install a full copy of Windows from it.
- USB thumb drive: At least 1GB in size.
- External USB drive or blank DVDs: For backing up important files.
- Ubuntu Live CD or Knoppix Live CD: Both are Linux distributions, but we're just using them because they run on most kinds of hardware without installing, and can transfer the files you need to your backup media. Ubuntu should work; if it doesn't, give Knoppix a go. You can use the free tool UNetBootin to transfer the ISO you downloaded to a thumb drive, which is necessary if you're backing up to DVDs, and recommended in any case to speed things up.
If that doesn't work, and you really feel this system can boot again except for some silly error, try creating an Ultimate Recovery CD, as detailed at the How-To Geek's home away from Lifehacker.
If that worked, hooray! If not, soldier on to the next step.
Back up the files: Have your USB hard drive or blank DVDs handy, and remove the Windows CD/DVD from the computer if you tried to use that for a fix. Stick your thumb drive with the Ubuntu (or Knoppix) image into a USB slot, then boot up the computer. You may have to hit F12 or another key to boot from USB, or change a setting in the BIOS (which you can access by hitting a key—written in that fast-disappearing text—at boot-up). You'll be asked to choose a language, then hit the option to "Try Ubuntu without any changes." After some loading, you'll arrive at an Ubuntu desktop.Move your cursor to the "Places" menu, and check to see that your USB drive (MyBook, in my case) or blank DVD is showing up. You should also see the hard drive Windows is running from. On an XP or Vista system, there's usually just one, but on Windows 7, there are two—a "System Reserved" (fairly small) and a larger, main drive. Check to see that you can open and access those files as well.
Ask your relatives which files and documents are important to them. When doing my own tech support work, I usually back up the entire "My Documents" folder (with "My Music" and "My Pictures" included), their Outlook or (yes, sometimes) Outlook Express email data (explained here), and their Firefox profile or, more likely, their "Favorites" folder for Internet Explorer (
C:\Documents and Settings\Username\Favoritesin XP, or C:\Users\Username\Favorites in Vista or 7). In any case, always ask, and make sure there isn't any software they can't locate a license for.
When you're ready to back up, simply open your USB drive from the Places menu, then open your main Windows drive, and drag files to copy from your Windows system onto the backup medium.
If you're burning to DVD, head to the Applications menu in your temporary Ubuntu system, mouse over the Accessories sub-menu, and select "CD/DVD Creator" when it pops up. You'll get a folder you can drag files you want to burn into, then hit "Write to Disc" to burn them.When you're all done backing up files, head to the menu with the power icon next to it (labeled "Live user," most likely) and select "Shut Down." You'll eventually be prompted to remove your live CD or USB stick—do so, and swap in the Windows installation CD or DVD. Turn off the system, then turn it back on. Follow the instructions to install Windows on the system, erasing whatever partitions or data exist on there at the moment (assuming you're sure the important stuff is backed up).
Clogged with crapware
The problem: The computer boots up ... eventually. Programs open very slowly, the hard drive seems to click and whir endlessly, and messages, reminders, and pop-up windows jump onto the screen every few minutes.
Quick-fix triage: If you don't suspect there's anything actually malicious and infectious on the system—that is, you're fairly sure they've been running and updating an anti-virus and anti-malware client—grab a copy of Revo Uninstaller Portable (direct ZIP file link), and run it off the USB stick you brought with you.
Click the "Tools" button, choose the Autorun menu on the left, and look through the items on the right. Uncheck the stuff that's really unnecessary—most of it, really, unless they constantly use a printer/scanner or run an antivirus app—and remind your host to un-check the toolbars and "helper" apps offered when installing things.If things are much better now, and you don't imagine that malware is an issue, you're all done. Otherwise ...
What you'll need: Mostly a small batch of software, recommended by this author and the How-To Geek. You can run these once and remove them, or run them off a thumb drive, in some cases. The last download is one you'll keep installed on the system.
- Revo Uninstaller Portable: Completely, utterly removes the programs, toolbars, and other junk apps that aren't needed.
- SuperAntiSpyware: For cleaning (you guessed it) spyware.
- Malwarebytes (or its portable version): For the clingy cookies, add-ons, and apps that try and do unauthorized stuff.
- CCleaner Portable: For freeing up hard drive space and clearing out temp/cache files that bog down the system index.
- Microsoft Security Essentials or Panda Cloud Antivirus: The former for a system that's got enough horsepower to be adequate, the latter for a system that's light on resources.
The fixing process? It's nothing special, actually—just run the quick-fix triage in any case, removing the auto-run apps that bog down system resources, and then run these secondary apps, generally in the order they're listed. Keep Security Essentials or Panda Cloud Antivirus installed (not both!), and, while you're being helpful, back up this computer's pictures, music, and important documents.Tuning up and bomb-proofing
Maybe everything technically "works," but watching your relatives open emails in Outlook Express and browse on Internet Explorer 6 is just, well, painful. Here are the steps we recommend to get things moving:
- Run the basics of the "clogged with crapware" section: The one involving Revo Uninstaller and startup programs, under the "quick-fix triage" sub-section, and installing either Microsoft Security Essentials or Panda Cloud Antivirus.
- Install Firefox and make it the default: Be sure to use the bookmark and setting import from Internet Explorer. You could even go with Google Chrome for even tighter security and speed, if your relatives wouldn't mind the abrupt shift in look and feel.
Set up their email in Gmail: Gmail has made it much easier to import email accounts, whether they're AOL, cable company, or other defaults that just stuck around. You can make a simple switch in the settings to keep your relatives receiving and sending email from their same address (or multiple addresses). Save their Gmail password in Firefox, but make sure they know it, and they'll even get some new-fangled email portability.- Physically clean the beast: Stop by the local office store, grab a can of compressed air, and clean out the "dust bunnies", especially if you can hear the exhaust fans over the mid-day football.
- Replace cruddy programs with superior alternatives: Gina's 2008 recommendations still hold up, but we updated them a bit, and made them super-easy to install in one shot, with our Lifehacker Pack 2009. Or use Ninite for a similar one-click awesomeware package.
That is, at least, how one Lifehacker editor is fixing at least one relative's computer this long holiday weekend. What's your own 1-2-3 process for being the holiday software savior? Share your success stories in the comments.Unless you're writing "Buy them a Mac." In which case, take your truly helpful comments elsewhere, and prepare to get banned.
November 11 2009
Programmer 101: Teach Yourself How to Code [Programming]
You've always wanted to learn how to build software yourself—or just whip up an occasional script—but never knew where to start. Luckily, the web is full of free resources that can turn you into a programmer in no time.
Since the invention of the internet, programmers have been using it to discuss software development techniques, publish tutorials, and share code samples for others to learn from and use online. If you're curious about how to become a programmer, you can get off to a running start using tons of great free web-based tutorials and resources.
First Things First: Don't Get Hung Up on Choosing a Language
A common pitfall for beginners is getting stuck figuring out which programming language is best to learn first. There are a lot of opinions out there, but there's no one "best" language. Here's the thing: In the end, language doesn't matter THAT much. Understanding data and control structures and design patterns does matter very much. Every language—even a simple scripting language—will have elements that you'll use in other languages as well and will help you learn. In classes I took to get my degree in Computer Science, I programmed in Pascal, Assembly, and C—languages I never actually got paid to program in professionally. I taught myself every language I've used in my career, reusing concepts I already knew, and referring to documentation and books to learn its syntax. So, don't get hung up on what language to learn first. Pick the kind of development you want to do, and just get started using one that works.
There are several different kinds of software development you can do for various platforms, from the web to your desktop to your smartphone to a command line. In this article, we'll outline some of our favorite starter tutorials and resources for teaching yourself how to program for each major platform. We're going to assume you're a savvy user, but a newb when it comes to wrangling code snippets, so we'll keep things at the beginner level. Even just following through a beginner programming tutorial, you'll be happy to see how far you can get.
Desktop Scripting
The easiest way to try your hand at programming for your Windows or Mac desktop is to start with a scripting or macro program like AutoHotkey (for Windows) or Automator (for Mac). Right now hardcore coders throughout the Lifehacker readership are yelling at their monitors, saying that AHK or AppleScript are not "real" programming. That may be true—technically these types of tools just do high-level scripting. But for those new to programming who just want to get their feet wet, automating actions on their desktop, these free tools are a fantastic way to start—and you'd be surprised at how much you can do with them.
For example, Adam developed the standalone Windows application we all know and love, Texter, using AutoHotkey, so this scripting language is capable of far more than just small-scale automation projects. To get started with AutoHotkey, check out Adam's tutorial on how to turn any action into a keyboard shortcut using AutoHotkey. (Then, check out the source code for Texter to see the innards of a full-fledged AHK-based Windows application.)
Web Development
Instead of being bound to specific programming languages and the look and feel of a particular operating system, you can put your killer application in the browser and run it in the cloud, as a webapp. Welcome to the wonderful world of web development.
HTML and CSS: The first thing you need to know to build any web site is HTML (the page markup that makes up web pages) and CSS (the style information that makes that markup look pretty). HTML and CSS are not true programming languages—they're just page structure and style information. However, you should be able to author simple HTML and CSS by hand before you begin building web applications, because a web page is the frontend to every webapp. This HTML tutorial is a good place to start.
JavaScript: Now that you can lay out a static web page with HTML and CSS, things get fun—because it's time to learn JavaScript. JavaScript is the programming language of the web browser, the magic that makes dynamic in-page effects go. JavaScript is also the stuff of bookmarklets, Greasemonkey user scripts, and Ajax, so it's the key to making all sorts of web goodies. Start learning JavaScript here.
Server-side scripting: Once you're good at making things happen inside a web page, you're going to need to put some dynamic server action behind it—and for that, you'll need to move into a server-side scripting language, like PHP, Python, Perl, or Ruby. For example, to make a web-based contact form that sends an email somewhere based on what a user entered, a server-side script is required. Scripting languages like PHP can talk to a database on your web server as well, so if you want to make a site where users can log in and store information, that's the way to go. Excellent web development site Webmonkey is full of tutorials for various web programming languages. See their PHP Tutorial for Beginners. When you're ready, check out how to use PHP to talk to a database in WebMonkey's PHP and MySQL tutorial. PHP's online documentation and function reference is the best on the web. Each entry (like this one on the strlen function) includes user comments at the bottom which are often as helpful as the documentation itself. (I happen to be partial to PHP, but there are plenty of other server-side scripting languages you might decide to go with instead.)
Web frameworks: Over the years, web developers have had to solve and resolve the same problems and rewrite similar code to build dynamic web sites. To avoid making everyone reinvent the wheel for every new web development project, some programmers have come up with development frameworks that do some repetitive work for you. The popular Ruby on Rails framework, for example, takes the Ruby programming language and offers a web-specific structure for getting common web application tasks done. In fact, Adam used Rails to build his first serious (and impressive!) web application, MixTape.me. Here's his take on how to build a web site from scratch with no experience. Other popular web development frameworks include CakePHP (for PHP programmers), Django (for Python programmers), and jQuery (for JavaScript).
Web APIs: An API (Application programming interface) is a programmatic way for different pieces of software to talk to one another. For example, if you want to put a dynamic map on your web site, you want to use a Google Map instead of building your own custom map. The Google Maps API makes it easy to programmatically include a map in a page with JavaScript. Almost every modern web service you know and love has an API that lets you include data and widgets from it in your application, like Twitter, Facebook, Google Docs, Google Maps, and the list goes on. Integrating other webapps into your web application via API's is the final frontier of rich web development. Every good, major web service API offers thorough documentation and some sort of quick start guide to try it out (here's Twitter's, for example). Go crazy.
Command Line Scripting
If you want to write a program that takes textual or file input and outputs something useful, the command line is the right place to do it. While the command line isn't as sexy or good-looking as a webapp or desktop app, for rapid development of quick scripts that automate processes, you can't beat it.
Several scripting languages that work on a Linux-based web server also work at the command line, like Perl, Python, and PHP—so learning one of those baddies makes you conversant in two contexts. My path never took me too far down the Perl road, but I taught myself Python using the excellent and free online book, Dive into Python.
If becoming a Unix ninja is one of your programmer goals, you absolutely must get good at shell scripting with bash. Bash is the command line scripting language of a *nix environment, and it can do everything from help you set up automated backups of your database and files to building out a full-fledged application with user interaction. Without any experience writing bash scripts beyond a dozen lines, I wound up developing a full-on personal to-do list manager in bash, Todo.txt CLI.
Add-ons
Nowadays, modern webapps and browsers are extensible with with bits of software that bolt onto them and add features. Add-on development is gaining in popularity as more developers look at existing software, like Firefox or WordPress, and think "But if only it could do THIS..."
You can do a whole lot in any web browser with just a mastery of HTML, JavaScript, and CSS. Bookmarklets, Greasemonkey user scripts, and Stylish user styles are created with the same bits of code that make regular web pages, so they're worth learning even if you just want to tweak an existing site with a small snippet of code.
More advanced browser add-ons, like Firefox extensions, let you do more. Developing Firefox extensions, for example, requires that you're conversant in JavaScript and XML (markup that's similar to HTML, but way more strict in format). Back in 2007 I ran down how to build a Firefox extension, a skill I picked up after I stumbled upon a free tutorial.
Many free and well-loved web applications offer an extension framework as well, like WordPress and MediaWiki. Both of those apps are written in PHP, so comfort with PHP is a prerequisite for getting started. Here's how to write a plug-in for WordPress. Developers who want to ride the cutting edge of Google Wave can get started writing gadgets and bots in HTML, JavaScript, Java, and Python. I wrote my first Wave bot following this quick start tutorial in one afternoon.
Web Development for the Desktop
The best part about getting started programming in one context is when you can take those skills and apply them elsewhere. Learning web development first is a great way to start because now there are ways to put those skills to work on desktop applications, too. For example, Adobe AIR is a cross-platform run-time environment that lets you build your app once and release it to run on the desktop for every operating system AIR runs on. AIR apps are written in HTML, Flash, or Flex, so it lets you apply your web development skills in a desktop context. AIR is a great option for deploying desktop apps like one of our top 10 apps worth installing Adobe AIR for.
Mobile App Development
Mobile applications like the ones you run on your iPhone or Android smartphone are all the rage right now, so you may have dreams of striking it rich in the iTunes App Store with the next killer app. However, for the new coder, diving headfirst into mobile development can be a rough learning curve, since it requires comfort with advanced programming languages like Java and Objective C. However, it's worth checking out what iPhone and Android development looks like. Check out this simple iPhone application development example to get a taste of what iPhone developers do. Android apps are written in Java, and here's a friendly video tutorial of what building a "Hello Android" application workflow looks like.
Patience, Elbow Grease, Trial and Error
Good coders are a special breed of persistent problem-solvers who are addicted to the small victories that come along a long path of trial and error. Learning how to program is very rewarding, but it can also be a frustrating and solitary experience. If you can, get a buddy to work with you along the way. Getting really good at programming, like anything else, is a matter of sticking with it, trying things out, and getting experience as you go.
This article is just one self-taught programmer's top-of-mind recommendations for beginners. Experienced programmers: What did I miss? No matter your skill level, add your thoughts and recommendations for beginners to the comments.
Gina Trapani, Lifehacker's founding editor, thinks the best programmers are self-taught. Her weekly feature, Smarterware, appears every Wednesday on Lifehacker. Subscribe to the Smarterware tag feed to get new installments in your newsreader.
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...

