How to Format the Gantt Chart in Project

Recently, I had a question about formatting the Gantt chart from a student who mentioned the issue of color-blindness. Since various kinds of this problem exist, knowing how to get around it can be helpful, just in case. As critical tasks are highlighted in red, it could be an issue. The Gantt chart, after all, depends at least in part on color, or so we normally think. But there are ways around it.

Format gantt bars

To start the process, we go to the Gantt Chart Tools Format tab, and click the Format button in the Bar Styles group. We then have to go to the drop-down, and click Bar Styles there.

gantt bars dialog

Then comes the big box. The key is understanding how this box is laid out. In the upper half, the names of the chart elements are listed on the left, and the appearance and other attributes go in each row.

What one has to do is select an element name on the left, then look down at the lower half of the box, usually to the Bars tab (we’ll deal with Text in a sec). For the regular Gantt bars, the kind we usually concern ourselves with, the Middle section is the one we need to tweak. Shape and Pattern are important, but Color is the main thing. If we’re dealing with someone who has red-green color blindness, the ability to change color for critical tasks is certainly going to be a help. Better still, we can change the pattern—which lets us put color aside when we need to.

critical tasks gantt    critical check mark

Once we make the changes, we’re set.

The only downside I’ve run into is, once the Critical Tasks checkmark is turned on, it needs to stay on when one formats the critical task bar appearance. Turn it off, even for a second, and it loses the formatting we apply to critical task bars. (If anyone finds or has a solution to this problem, I’d be glad to hear it. 🙂 )

Adding text to the bars is done in the Text tab downleft. This can be a help too, but one doesn’t want to overdo it, since the left side of the Gantt chart has text aplenty.

Why using document.write is a bad idea in JavaScript

Why is using document.write a bad idea in JavaScript?  Well, document.write is great for debugging or helping you know what a variable is equal to at a certain part in your code.  It’s not a good idea to use on an actual web page especially if you’re not careful.  The reason is it can erase your whole web page.  Here’s an example when document.write can be destructive:

<!DOCTYPE html>
<html lang=””>
<meta charset=”utf-8″>
<title>Destroyed by document.write</title>
<button id=”click”>Erase the Doc!</button>
var btn = document.getElementById(“click”);
document.write(“Be gone!”);

We have a button with the id of “click” that we’ve stored inside a variable called “btn”.  Then we attached an event listener to the button so when you click on it, it will run the anonymous function that uses document.write to put “Be gone!” on the page.  If you load this code up and run it when you click the button, document.write gets rid of everything on the page to write it’s content.  It does this because the content on the page has already been created and when document.write does it’s thing, it overwrites the whole page when inserting the content.  That is one of the main reasons it’s not a good idea to use document.write.

A better alternative is selecting a div on the page and use it’s innerHTML property to put the text.  Here’s an example of that:

<!DOCTYPE html>
<html lang=””>
<meta charset=”utf-8″>
<title>Saved by innerHTML</title>
<button id=”click”>Print the Text!</button>
<div id=”iamhere”></div>
var btn = document.getElementById(“click”);
var d = document.getElementById(“iamhere”);
d.innerHTML = “innerHTML saves the page!”;

In this code we have a div with the id of “iamhere” and we stored that div in a variable called “d”.  When we click the button it goes out to the div and changes it’s innerHTML property to “innerHTML saves the page!” and after it runs, the button and all the content on the page is preserved.  Happy day.  If you want to learn more be sure to check out our Web Design/Development Trainings.  Thanks and have an amazing day!

How to Set Up Custom Signatures in Microsoft Outlook

There are several features in Outlook that I can only describe as “cool”, among which is the ability to create custom signatures for email. It’s a feature most people would think should be in a program like this, but that doesn’t make it any less cool in my eyes. And not only is it not hard to set up, but more than one signature can easily be made available. This is a very important business feature, if you think about it. Having business contact data in an email is, if nothing else, polite.

Signatures location

First thing is to get to the dialog box. It’s easy: File tab to Options command, then click the Mail category on the left side of the dialog box; third item on the right under Compose Messages is the one we want, and the Signatures button is plain as day.

Signatures box

Once into the actual Signatures dialog box, we usually click New on the left side to start setting one up. Give it a name—sticking to something suitable for business is a good idea—and start editing, in the main space downleft.

Signatures setup

Any text you like can go in there, formatted as you wish. And any pictures, too. There’s even a button for inserting pictures, if you don’t feel like copying and pasting. You may have to play around with the layout a bit, to arrange things as you want them. If you have a program like Photoshop or Illustrator, you could simply set up entire signatures as pictures, import them, and do the whole operation in one easy step. Either way works. The key things are just the usual—highly recommended to use company font and color choices, company logo if available, etc. Otherwise, keep it simple and informative. Just the essentials. Before OK-ing out, make sure you go to the top right of the box and choose which signature(s) you want for your defaults.

Using signatures

From then on, whenever you start a new email, your default signature will show up every time at bottom. But the dropdown at the top of the email window lets you change on the fly. And you can edit any of them anytime.

How To Run External JavaScript After the HTML Has Loaded

When using JavaScript, sometimes you will run into errors because the external code being used is placed above the HTML it is calling/manipulating.  For this example, we have a HTML file that looks like this:

<!DOCTYPE html>
<meta charset=”utf-8″>
<title>Run JavaScript After HTML Loads</title>
<script src=”external.js”></script>
<div id=”changeMe”></div>

In that code we can see that it’s calling an external JavaScript file called external.js that has this code in it:

document.getElementById(“changeMe”).innerHTML = “I’ve been changed!”;

This is going out to the div with the id of changeMe and is going to switch out the text to say “I’ve been changed!” after the script runs.  The HTML runs line by line so be it goes out to the JavaScript file and tries to run it BEFORE it has loaded any of the HTML in the body tag.  Because of that, if we were to run this in Chrome we would get this error:

javascript error

This is telling us there’s an issue on the only line in the external.js file:

document.getElementById(“changeMe”).innerHTML = “I’ve been changed!”;

The external script is trying to select the div with the id of “changeMe” and change it’s innerHTML before it has been loaded in the browser so it errors out.  To fix that we use a magical attribute called “async” and we place it into our script tag like so:

<script src=”external.js” async></script>

The async attribute makes it so the script can be run separate (asynchronously) to the page loading and will wait for the HTML to load before it tries to run any of the scripts.  Before, it ran the external JavaScript first, then continued loading the page creating the error.  Now it makes it so the JavaScript can be run separate from the HTML and doesn’t have to load first.  This will eliminate the error we are getting.  After adding the async attribute we will get what we were expecting in the browser:

If you want to learn more, check out our Web Development courses.  Have an amazing day!

How to Use Dodge and Burn in Photoshop

Of all the tools in the last few versions of Photoshop, the Dodge and Burn tools seem to be among the least used, possibly since digital photography has reduced the need for them. But once in a while, especially in restoring scanned-in prints, one might still try them out.

Dodging and burning, in photography, are lightening and darkening parts of an image that show some detail but not quite enough; if dark parts can be lightened a little, or vice versa, visible detail might be improved.

Once we have a decent scan, we can decide which parts are a little too dark or light. We can then select an area to work on—the key is to feather the selection by a fairly high number of pixels, how many depending on the image. That is, to make the selection fuzzy-edged, so the dodge and burn we do won’t stop too sharply at the edge and give itself away.

Dodge dark

We then select the tool—they work pretty much the same other than which thing they do—and adjust the options. For dodging, select Shadows; for burning, select Highlights. With dodge and burn work, one can use Midtones for both, but the thinking is to affect the more “extreme” areas of the image, so experiment if needed. The Exposure control is for how much “oomph” the tool will have, or how much it will affect the area quickly. We want this fairly low, usually no more than 20-25% or so, since we want to work slowly up to the degree of effect we want. Using the Airbrush option to build up is okay to try; I find I don’t use it much, but some people have told me it’s good when you get used to it.

Dodge and burn done

The real trick, at least from my experience, is that “tapping” the mouse button to apply short bursts of effect seems to be one good approach in both dodge and burn. Though we can use Undo or the History panel to go back if we overdo it, one doesn’t want to have to do it too often.

And if the effect is not very obvious, that’s because it’s not supposed to be. Remember, the goal in many cases is to have the image look as if nothing was done to it at all—as someone once wrote, “the art of concealing art.”

JavaScript console.log vs console.dir

So what is the difference between console.log and console.dir in JavaScript?  Well, let’s take a look!  If we were to take this code:

<!DOCTYPE html>
<meta charset=”utf-8″>
<title>console.log vs console.dir</title>
console.log(“Why, hello!”);
console.dir(“Why, hello!”);

then put it in a text editor, then run it in a browser we would get a blank page.  That is because when we use these commands, they are only viewable in the console itself.  So to see what these commands actually do we need to right-click the page in Chrome or Firefox and choose the inspect option then the developer tools come up.  On a PC you can press F-12 and that will bring it up as well.  From there you can click on the console tab if it isn’t already selected:


Once you select the console tab you’ll see that console.log and console.dir write whatever it is that you defined to the console window:

console.log and console.dir

When you are printing text to the console, they do exactly the same thing.  They take the string (text) you’ve given the code and display it out on the console.  The difference comes in when you write out more complicated JavaScript items to the console like objects or arrays.  Take this code for example:

<!DOCTYPE html>
<meta charset=”utf-8″>
<title>console.log vs console.dir</title>
console.log({name:”Dave”, job:”Trainer”, patronus:”sloth”});
console.dir({name:”Dave”, job:”Trainer”, patronus:”sloth”});

Now that I’m using an object, console.log and console.dir’s differences start to stand out.  Here is what we get in the console:

console.log and console.dir

We can see that console.log still just prints out the object as a string, but console.log recognizes it as an object.  They both allow you to drop down and navigate the object’s key-value pairs so yeah, to be honest, not a lot of difference here.  If you want to learn more check out our different offerings we have for Web Design/Development Training


Using the Mesh Tool in Illustrator-Basics

The Mesh tool gives the Illustrator artist a capability that some people think doesn’t exist in this program—the ability to shade an object, for example if one wants to make something look three-dimensional, solid, curved, etc. This is fairly easy in Photoshop; what a lot of people don’t know is it’s only a little more work in Illustrator, and has easier adjustability to boot. 😊

Shape before mesh

The first thing is to create the outline of the object. I’ve laid out a simple vase-ish kind of shape for demonstration. It’s supposed to narrow down at the neck and bulge out a bit near the base. Now, art theory says that if part of an object “protrudes” toward the viewer, we paint it a little lighter as more light would strike it (the end of the nose, for example). And a part that “recedes” (say, the space under the chin) would be shadowed, and therefore a little darker.

Adding mesh

So we select the object, select the Mesh tool, and click inside it, usually near the center. This puts one horizontal and one vertical mesh line on it. We can then add more by clicking on either of those, as many as we want. The real-life example might be looking at a globe of the Earth, seeing the latitude and longitude lines that make it “look” round even aside from seeing the highlights and shadows on it—the lines help us perceive its shape.

Using mesh

But that isn’t the real power here. We can now use the Direct Selection tool and click on an anchor point where mesh lines meet, and add another fill color that leaks or diffuses out from the selected anchor point(s). If you imagine a white towel absorbing fruit punch, or grape juice, a little here or there, you have the idea. And the control handles emerging from the anchor points not only control the shape of the lines, but how far the color spreads from the anchor. And the best part is, you can always go back and adjust some more. Add mesh lines, add colors, remove them, adjust the shapes, all as you like.

Some time back, the cover of the box for Adobe Illustrator showed a reproduction of Botticelli’s Birth of Venus (the “Venus on the Half-Shell”), done in the program. What I did here, with some refinement, is how all the delicate flesh tones and shadings were done to almost exactly duplicate Botticelli’s work. Can we do “real” art in Illustrator? With meshes, I think we can.

How To Center Content in a Div Horizontally and Vertically

This little snippet of code will show you how to center content in a div horizontally and vertically using HTML and CSS.  This, in the past, used to be semi-difficult.  Now, using CSS flexbox display property, it’s actually quite easy.  First, we’ll create a simple HTML skeleton with a div that has a class called “centerMe” inside the body tag:

<!DOCTYPE html>
<meta charset=”utf-8″>
<title>Center Content Horizontally and Vertically</title>

<div class=”centerMe”>
I will be centered in the div horizontally and vertically

Now that we have the starting HTML, we can add the CSS inside a style tag in the head tag.  The CSS will target the div on the page with the “centerMe” class.  Here it is:

height:300px; /*this makes the div 300px tall*/
width:500px; /*this makes the div 500px wide*/
border:solid 1px black; /*this makes the div visible by giving it a solid border that is 1px thick and black*/
display:flex; /*this applies the flexbox display property to the div so we can use the properties below*/
align-items: center; /*this vertically aligns everything to the center*/
justify-content: center; /*this horizontally aligns everything to the center*/

The CSS is using the display property called flexbox which allows you to easily accomplish our task.  Once we add the CSS, the content should look like this inside the div:

center content in div horizontally and vertically

Here is the code in its entirety:

<!DOCTYPE html>
<meta charset=”utf-8″>
<title>Center Content Horizontally and Vertically</title>
height:300px; /*this makes the div 300px tall*/
width:500px; /*this makes the div 500px wide*/
border:solid 1px black; /*this makes the div visible by giving it a solid border that is 1px thick and black*/
display:flex; /*this applies the flexbox display property to the div so we can use the properties below*/
align-items: center; /*this vertically aligns everything to the center*/
justify-content: center; /*this horizontally aligns everything to the center*/
<div class=”centerMe”>
I am centered on the page horizontally and vertically

If you’d like to learn more check and sign up for one of our web design courses.  Have a great one!

Using Layer Masks in Photoshop – Basics

When we put together a composite image in Photoshop, built from pieces of other images, using layer masks is a very helpful trick. Masking allows us to experiment with the appearance of the composite by letting us show or hide very specific bits of the layers in the image, and adjust what shows without editing or deleting any of the actual images in the layers.


First, we assemble the pieces of the composite. The number of layers is entirely up to the user, of course. (Recently found out the actual max number you can have is 8000. Wow.) Then, of course, arrange the layers in whatever order you need.

Selection for masks

Now, the real key step in masking in a layer is selection (which is why I’ve emphasized it in other posts, and will continue to do so). So using whatever tools and variations we like, we select the area(s) we want to un-mask after selecting the layer in question. That is, we select what the masks should not hide.

Activate masks

Next is to give the command to create the layer mask, simply by clicking the appropriate button at the bottom of the Layers panel. This is the easy part, but still important. When we do this, we can often see a few bits we missed in the selection part. And the good news is that we don’t have to start all over again—we can edit the masks themselves to include the bits. We do this by using the painting tools—which are often easier to work with than the selection tools.


Setting a brush to moderate size (depending on the image size), perhaps ten or twenty pixels here, with a hardness of 100%, gives a nice sharp edge with which we can clean up bits of mask/selection. We make sure the Layer Mask thumbnail is selected in the layer in question, set the Foreground color to black (which masks, or hides) or white (which unmasks, or reveals), and do our touch-up.

(FYI, just so it’s all step-by-step on this part:

1-Select the layer MASK in the layer. 2-Select and adjust the brush you want to use to fine-tune the mask. 3-Check that the foreground color in the Tools panel is black for adding to the mask, or switch to white for un-masking. 4-Paint the appropriate areas.)

Is it a little tedious? Yes, but not really difficult. Mainly zooming in to do a few bits and then zooming out to check. Photoshop may not take away all the hand-work when we create layer masks, but at least we don’t have to clean up all the paint smears.

innerHTML vs textContent – The Difference Between These JavaScript Properties

innerHTML vs. textContent, what is the difference between these JavaScript properties and which one should you use?  They do the same thing, right?  No, they actually do not.  The difference between the .innerHTML and .textContent properties is all about the HTML my friends!  textContent renders text and only text, and innerHTML renders text with any HTML applied to it.  To illustrate, here’s a quick example you can try in your chosen text editor (just copy and paste it in if you want):

<!DOCTYPE html>
<meta charset=”utf-8″>
<title>innerHTML vs textContent</title>
<!–Div that will hold the textContent text–>
<div id=”textContentExample”></div>
<!–Div that will hold the innerHTML text–>
<div id=”innerHTMLExample”></div>

/*selects the div with the id of textContentExample and sets it’s textContent property to the following string*/
document.getElementById(“textContentExample”).textContent = “<b>I am truly bold with textContent!</b>”;

/*selects the div with the id of innerHTMLExample and sets it’s innerHTML property to the following string*/
document.getElementById(“innerHTMLExample”).innerHTML = “<b>No, I am truly the boldest with innerHTML</b>”;


Once that has been entered into the editor, saved as a .html file, and ran you will see this result:


The key to all of this is in this part of the code:

document.getElementById(“textContentExample”).textContent = “<b>I am truly bold with textContent!</b>”;

document.getElementById(“innerHTMLExample”).innerHTML = “<b>No, I am truly the boldest with innerHTML</b>”;

In the first statement, we use textContent to put the string “<b>I am truly bold with textContent</b>” onto the page and we can see that it doesn’t apply the HTML, it just writes the <b> tags out to the page as text.  In the second statement, we use innerHTML and the result is applying the HTML to the text bolding the sentence.

If you want to learn more, SkillForge has a JavaScript Training Course that goes over this and MUCH more.

How to Set Up Better Charts in Crystal Reports

Crystal Reports is capable of inserting charts almost anywhere the user likes, and the choice of chart type is nearly as wide as in Microsoft Excel. The main difference is, the chart has to be inserted before choosing chart type, layout specifics, and formatting. Though this can be a little daunting at first, it’s not really too different from the way other programs employ them.

One key element, generally, is to make sure the chart can be as self-sufficient as possible. As in programs like Excel, and rather unlike PowerPoint, a chart in Crystal has to be pretty self-sufficient, since we don’t know whether someone can email to ask questions about it. And mostly, users shouldn’t have to. So labeling, choice of chart type, and so on are always important.

Charts location

Another is, when inserting charts, to make sure to select the field one wants to chart first. Crystal looks for this. The chart can actually go in any part of the report, but usually works best in a header or footer area, especially the report header. Putting a chart in the Details section of the report gets a chart for every record, and this is not frequently needed.

Charts components

There are a few items which could be considered necessities when building charts. Unchecking the Auto-Text checkbox in the Text tab of the Chart Expert, and possibly one or two others there, to allow adding more meaningful titles, will help. Making sure every element of the chart is labeled in some fashion is a good thing, as long as it isn’t cluttered with (seemingly) dozens of bits of text. Formatting the charts’ axes properly (showing dollar-sign formatting for sales numbers, for example) may seem obvious, but sometimes it’s so obvious we miss it.

And interestingly, some people mention that a chart legend is not always necessary, or even helpful. If the chart can have labeling which would make a legend redundant, one can easily uncheck Show Legend under the Options tab of the Chart Expert to remove it.

Charts labels

One apparently lesser-known trick is to format one element, such as the labels one can put on columns or pie wedges. Left-click a single number-type label, then right-click it, and use the Format Data Labels command to specify the particulars, such as the labels’ locations or appearance.

The overarching point is to do a little planning on this in advance. What should we chart? Why? (Very important question.) Where should the charts go? And by implication, what level of data are we showing charts for? The key thing is to make sure the chart serves the purpose of clarifying the data, not drawing attention away from it and/or confusing the reader.

HTML5 Basics – How to create a basic HTML5 document

Video of this tutorial:

Hello everyone!  In this post today I’ll be showing how to create a basic HTML file using my favorite text editor Brackets.  Brackets is great because it’s free, cross-platform, and has some really nice features when using HTML5.  Here is what their home page looks like:


Click here to download Brackets

The first thing you’ll want to do is download and install Brackets or whatever editor you want to use.  If you really wanted to, you could use good ol’ Notepad in Windows and that would work fine.  Once it’s finished installing, open it up and ignore any text/code that may already be there.  We want to start from scratch so click on File and choose New or Ctrl-N on a PC or Command-N on a Mac:


Now you should have a new/blank file to work with.  Next thing you’ll want to do is save it as an HTML file.  To do that click on File again and choose Save as…


The next part is REALLY important.  Make sure to save this file with a .html extension.  That means when you name the file, be sure that it has a .html at the end.  For example, if I were to name this iLoveHtml I would need to make sure to call it iLoveHtml.html like so:


Now that it’s been saved as an HTML file, we can create the code that will make it function as a webpage.  HTML uses tags or elements to insert things onto the page.  Tags always have an opening less than symbol <,  then some word, then a closing greater than symbol >.  For example, there is an <img> tag that will insert an image on the page and there is also an <a> tag that will place a link.  Some tags need to be closed as well.  Those are always created by using a less than symbol < followed by a slash /.  Here is an example of the opening and closing title tag with text in between:

<title> I am a title </title>

Using all of these different tags or elements, you can start to create your own webpage.  Let’s start by creating the structure every webpage has to have.  Type the following into the file opened in Brackets (don’t worry about what this means yet, we will cover that below):

<!DOCTYPE html>
<meta charset=”utf-8″>
<title>My First HTML Page</title>
Hello, I am a webpage!

Once you’ve typed this out be sure to save it by clicking on File Save or by pressing ctrl-s on a PC or command-s on a Mac.  If you don’t save the file, you won’t see the changes you’ve made.  Once it’s been saved congratulations you’ve created your first basic webpage.  To test your HTML and see what you’ve created, click on the lightning bolt button in the upper right-hand corner.  **NOTE** Brackets is dependent on Chrome to run these files so you will need to download it to be able to test your code.  Here is what the button looks like:


Once it launched in Chrome, your page should look something like this:


If there are any issues and it’s not working correctly, be sure to go back and make sure you’ve spelled everything correctly and that there is no red in your code inside of Brackets.  Red means there’s an error in the code.  Once you’ve got it working we can explain what each part is doing.  We will start from the top and go down from there:

  • <!DOCTYPE html> – this tells the browser what version of HTML is being used.  This is the HTML5 Doctype
  • <html> </html> – these are the opening and closing html tags.  Everything on the page should be inside of these tags
  • <head> </head> – these are the opening and closing head tags.  These tags usually contain other elements that don’t display anything to the page like the title, meta, script, and style tags.
  • <title> </title> – these are the opening and closing title tags.  They always go inside of the head tag and they define the text that shows up on the tab area in the browser.  They are also very important for search engine optimization.  You’ll want to make sure all of your important keywords go inside this tag.
  • <meta charset=”utf-8″> – this meta tag is required if you want to have your HTML5 code validate.  This is defining what character set is used by the page.  Utf-8 is a character set that contains most of the characters for all the different languages on the planet.
  • <body> </body> – these are the opening and closing body tags.  All the content like images, links, text, etc. go inside of the body tags

Well, there you have it!  Hopefully, that gave you a better idea on how to start coding using HTML.  If you want to learn more consider taking one of the HTML/CSS courses taught by SkillForge.  You can get more information it by clicking here or on the image below:

Want to learn more? Sign up for a training!

Have an amazing day!




How to Select Precise Colors with Pickers and Libraries

More than ever in today’s business world, having one’s company stand out from the competition is important; product branding, and the use of color in particular, is integral to this.

Product branding is the term we normally use to describe a distinctive scheme of color choices, font choices, logo, etc. which give a company a unique “look”. Coca-Cola, John Deere, Five Guys (a burger chain), Panera—any company at all. So how can a company select—and use consistently—any of these, particularly color?

Access to colors     Choosing colors

There are at least two methods we can use, at least in a majority of programs. One, which is pretty universal in business software, is the so-called “color picker” in its various forms. In PowerPoint, for instance, one can create or select a shape, go to the Home tab in the Ribbon, and on the right side click the Shape Fill dropdown. From there, one can click the More Colors option, and in the Custom section, enter the numbers which represent the RGB (Red-Green-Blue) or HSL (Hue-Saturation-Lightness) values for a company color. We don’t see the other main color system, CMYK (Cyan-Magenta-Yellow-Black), as we print hard copy from PowerPoint slides comparatively rarely. But most companies can give someone CMYK values which can convert to RGB without too much trouble.

In other programs, such as Photoshop or Illustrator, we can indeed enter CMYK values directly; since these are often what businesses use for print ads, they work fine.

But we can go further; we can also use one of the many color libraries available, such as Pantone, Toyo, Trumatch, Focoltone, ANPA Color, and others. These are recognized color standards worldwide. They guarantee that printed material will be as accurate to particular colors as possible.

Photoshop colors     Color picker

Getting to the Color Picker in, say, Photoshop or Illustrator, is as simple as clicking the foreground or background color swatch. Once the dialog box is up, one can enter HSB (Hue-Saturation-Brightness), RGB, CMYK, or even Lab (a system in existence since 1931) numbers. And to get to the color libraries, simply clicking the button of that name on the right side of the picker will jump the user directly to them. That’s where most company colors are, nowadays.

Colors in libraries

Though Pantone is probably the most recognized name in the business, the important thing is one can select the appropriate library, then the color, usually by number or letter, and click OK. It  is then ready to use. In many cases, it will automatically add to the user’s swatches, or can be easily dragged into same. The main downside, as it were, is that the colors one brings in normally save at the document level, so a custom color library must occasionally be saved outside the document one is working in to be more widely available. But most programs that have color library selections allow for this.

Using the Direct Selection Tool in Adobe Illustrator

Of all the tools in Illustrator, among the most critical are the selection tools. And even though the Group Selection tool is a little more complicated in its function, the Direct Selection tool is used more frequently. So understanding its use is at least as important.

The Direct Selection tool’s job is to allow the user to work with individual anchor points and control handles, as opposed to the “main” Selection tool, which works with an object as a whole.

Direct Selection 1

The basic technique is simple enough. Once an object is created, one can switch to the Direct Selection tool, click, on an anchor point, and then either move it or work with the control handles on it, if any, that tell the curve of the line what to do. But what some people have said is, they have trouble selecting the anchor point even when they know where it is, because no matter how much they zoom in (64000%? Really?), it never gets bigger.

Direct Selection drag

Luckily, there are a couple of features which can help. One is the ability to drag a small selection box on a part of the shape near where the anchor point should be, using the tool; doing this will show nearby anchor points and make it easier to see where they are.

Mouse Over pref

Another is in the Selection and Anchor Display section of the program preferences: a checkbox called Highlight Anchors on Mouse Over. Having made some anchor points visible, if one slides the tool point within a few pixels of one, the program enlarges the anchor point, and lets the user click on it. So one’s aim need not be perfect.

Hover on anchor point

For a good number of things one needs to do in Illustrator, selecting all or part of a shape, or group of shapes, is a must-have technique. Therefore, knowing some of the tricks for the tools doing it, especially the Direct Selection tool, can make the job much easier.

How to Restore Pictures in Photoshop—Easy Fixes

Although the restore and cleanup business is not quite as much a boom thing as it was when Photoshop first came out, it still comes up pretty regularly. Even though detailed restorations take time, there are a few things you can do to get the most obvious problems solved without too much trouble.

The most common problems with most older photos have to do with age. Images yellow or fade with time, in which case doing a restore implies color correction or improving saturation. Others involve fading of contrast, or having areas too light or dark to see detail in. Recognizing the main problem(s) more or less on sight is often the key to the solution.

Restore color balance

One is correcting the white balance—getting rid of discoloration from time, or sodium lights, or greenish fluorescent light, so the parts that should be white, are white. You can start by adding a Curves adjustment layer and using the White Point sample tool, sometimes known as the White Balance tool. This lets you tell the program what parts of the picture should be white, and has the rest of the picture recolor accordingly.

Restore contrast

You can also add a Levels adjustment layer, to restore or bring back contrast. If the histogram in it shows blank spaces at either end, move the white and black threshold markers inward till they reach the beginning of the non-blank space, and the image should look less flat.

Detail in dark area

Bringing out detail in a dark area, or a light one, can also be done with a Levels layer. Select the area you want to lighten or darken, then add the layer; selecting first will define, or mask, the area, and you can then adjust only the parts which need it. (Shh—this is one of the Secret Awesome Inner-Circle Techniques for doing a restore in Photoshop—the ability to selectively adjust parts of the image. The only downside is having to learn to do careful selection.)

How to Create a Calendar in Project (and Why)

When setting up a plan in Project, it’s very important to get the calendar organized first, before adding tasks, resources, assignments, or almost anything else. Why? Because a project timeline dictates many of the scheduling details, and the calendar controls the schedule.

Calendar first step

Getting to the dialog is easy—we click the Project tab, slide to the Properties group, and click Change Working Time. Once there, we usually want to click Create New Calendar at the top right, since copying an existing one and modifying it leaves the originals for later use.

Create new calendar

We can then change the name of the copy, say, to the company name or the project name (since calendars are file-specific).

Calendar holidays

Then we need to add the usual holidays. The good news is, it’s rather like doing so in Outlook; if you use that program for scheduling, the technique is similar. Select the day, go down to the Exceptions tab, and put in the name. Selecting multiple days is fine, too.

Calendar repeats

Clicking the Details button on the right lets us set the holiday, Labor Day for example, to repeat. It’s a good idea to keep the number of repeats fairly low, no more than ten, because (unless the project is REALLY long-term) it’s not necessary…unless you want to have the file turn into a template for other projects. Even then, going for more usually isn’t required.

Although it’s possible to edit a calendar later, just before or even during the run of a project, it’s highly advisable to get it as polished as you can beforehand, and to avoid editing it later, if at all possible. Any changes during the execution of the project will almost certainly change the schedule, and often in a way we can’t predict.

This is one part of any project which really needs close attention, because it can critically affect almost every other part to some degree.

How to Use the Critical Path in Microsoft Project

The use of the critical path in Project is a vital part of getting a project to finish on time. This is especially true if any juggling of the tasks, resources, and allocations has to be done once the majority of tasks are in place. It allows refinements to be done where they can have the best effect—what is sometimes called a “force-multiplier” (no Star Wars jokes, please 😉 ); it simply means to make the most of what one has.

The critical path is that series of tasks in which there’s no slack, time-wise. Think of a group of boxcars on a railroad siding, all coupled together. If another comes down the track, and bumps into them, they all have to move. If the last one is right next to the bumper at the end, there’s only so much maneuvering room. This is sort of the situation on the critical path.

Turn On Critical Path

Once a good chunk of the project has been composed, showing the critical path is easy. It used to involve going through a three- or four-step wizard, but now it’s just turning on a checkbox. The critical tasks turn red on the right side of the Gantt chart—non-critical tasks stay blue. (These can be reformatted, if necessary.)

Critical Before

We can then see, if we start making changes to the project “flow”, that any changes not on the critical path may not affect the timeline much, or at all. And this is not good. We want changes to do something—shorten the timeline, or allow two or more tasks to run at the same time, or otherwise make things go more efficiently.

Critical After

If there are any tasks which we can inactivate, or reassign resources on, or otherwise fine-tune, again, always better to do it on the critical path. Making alterations to other tasks can be helpful, but this is the place to do it which will have the most effect on the schedule.

Using Dependencies, Lag, and Lead in MS Project

Setting up dependencies, or task relationships, is an integral part of working in Project. But many newer users ask, Which relationship should I use, and What are these “lag” and “lead” things about?

The choice of dependencies, as well as using the two other items, derives from the nature of the tasks. This is the one thing you have to bear in mind, because there’s no all-inclusive formula for determining these. That said, there are a couple of general pointers you can use to figure it out.

Usual dependencies

If Task A has to be completely finished before Task B can start, such as demolishing a house before building a new one, the relationship will be Finish-to-Start.

Say you’re writing a book and want to make sure the illustrator gets started more or less immediately along with the writing. A Start-to-Start relationship might be in order. The artwork can happen pretty quickly once you have a decent chunk written.

If you’re building a house or office, the framing has to be complete before the plumbing and electrical, the drywall, etc., can be finished. So a Finish-to-Finish relationship would work for this.

(The fourth type, Finish-to-Start, is so rarely used I won’t go into it here. Suffice to say in the twenty-plus years I’ve taught the program, I’ve seen maybe two occurrences of it. No offense.)

Okay so far. Now, what about lag and lead?

Those come into play when two tasks have to have a time gap between them (lag), or can partly overlap (lead); the dependencies still matter, but this is something else. Start-to-Start and Finish-to-Finish can overlap entirely, if the nature of the tasks allow, but lag and lead usually come in with a Finish-to-Start. (By the way, it’s pronounced “leed”, as in “lead or follow”, not “led”, as in a pencil.)

Dependencies - lag

If you pour concrete, even the quick-setting stuff needs a few days, minimum, to be ready to walk on etc. A lag—a delay—would go in there to indicate a setting time is required regardless. You could include it in the task time, but the lag makes the situation clearer to anyone who looks.

Dependencies - lead

In the book-writing example, if the author wants to get about a third of the book written before the illustrator starts sketching, it might help the artwork to have a solid direction to go in. So a Start-to-Start with a lag, or a Finish-to-Start with an overlap, or lead (sometimes known as negative lag) would be the natural thought here. (And the lag—or lead—can be written as a percentage of the predecessor task’s time, which is helpful as it doesn’t require one to do the calculation in one’s head.)

As you can see, the nature of the work, and of the tasks, and their “natural” relationship, will often determine how one hooks them together in Project. I’ve often pointed out that it can help to work on a legal pad and pencil or pen first—some people find figuring dependencies on paper before sitting at the computer can make it easier.

How to Create Custom Fields in Microsoft Project

MS Project has a LARGE number of fields set up by default, for almost anything the program can track. But even with all the feedback the design team gets, they can’t anticipate everything a user might need to monitor during a project. So the team built in the ability to create, or rather modify, “custom” (unnamed generic) fields which are held in reserve for just this situation.

Resource fields

One example might be which resources belong to which department in a company. The Group field in the Resource Sheet could be used to contain this information, but some users already employ it for, say, internal versus external, or a non-company-related item. So setting up a resource field for this would make some sense.

Custom fields dialog

Bringing up the dialog box is easy—Project tab on the Ribbon, Properties group, and click the Custom Fields button. We then choose from the fields what we want to create; in this case, the Resource (at top), along with what kind of data it will hold (Type: on the right), namely text (as in department name). We rename the field (Text1), call it Department or DeptName, or similar, as we like.

Department list
The next step is to bring up the place where we can write in the department names. Almost right in the center of the Custom Fields box, we click the “Lookup…” button. And in the second dialog box, the Value and Description columns make this part easy. Values and descriptions can match, or not, as we see fit; as long as we understand what we’re selecting, it’s fine.

Custom field inserted

Finally, we OK out of the boxes, navigate (in this case) to the Resource Sheet, and add the column on the end, or wherever we feel appropriate. A lookup table allows us to choose from a drop-down list, saving at least a little time for the user/manager, and giving the manager a little flexibility on what can go into a project in the way of fields.

Using Conditional Formatting for Sections in Crystal Reports

When we use conditional formatting, we usually think of it in terms of things like making better sales numbers green and lower numbers red. But we can be more subtle than that in Crystal.
No conditional formatting
A common example is where records are incomplete, or where data are filled in at some levels and not others. Sales databases might have country-level data, and city-level data, but not state-level if there are no states in a small-enough country. So if there are no states, or provinces, we don’t want to see blank spaces in the report.
Section expert
We can go into the Section Expert in such a report, and having set up grouping for the levels in question (country, state/province, city), we select the state/province group header. We then go to the Common tab on the right, and click, not the Suppress (No Drill-Down), as we don’t want this to be the norm, but the X-2 button next to it, as we want to have the suppression be as needed—that is, conditional.
Conditional formula
The formula we write to look at it asks, basically, if there’s anything to show. More specifically, in our example, are there fewer than two states or provinces? (This is the “conditional” part.) If so, we don’t need to see the (blank) space where the information would appear. And we can use the same formula in the section footer, too.
Conditional formatting done
This is a very useful point, which has application on a wider scale within the section organization. We can suppress sections, but make exceptions, so as to show something when it’s important; we can also have a section show, but suppress it when there’s nothing to show or the info is unneeded or redundant. The hard part is writing the formula, but if one can phrase the condition clearly in words, writing the formula is easier. Sketching the overall structure can sometimes help too. (May sound kind of old-fashioned, but it’s tried-and-true.)

How to Use Table Joins in Microsoft Access

The use of table relationships in Access allows tables to cooperate in the use of data, but table joins, while they look similar, serve a different purpose. The relationships, which allow coordination while organizing data, nevertheless don’t directly affect, say, the results of a query. Joins do.

A table join in a query allows for a filter effect. The thinking is that a query is a question one asks of the database. But redundant answers are no use, and a waste of space. So when we pull data from more than one table, which is frequently the case, we need to make sure we don’t get repeat answers, or every possible permutation of the answers/data.

No joins

When creating the query, we choose the tables (assuming we need more than one, which is normal) and insert them.

No join repeat data

If we run the query without a join, we get every possible combination of the field data for an answer…which often leads to repeat results.


So we decide which field(s) to use in the join (this is often dictated by the nature of the database), and specify the nature of the join—usually an “inner” join, which shows only results both tables share. We create the join the same way as we create a relationship, by dragging from a field in one table to its counterpart in the other—the main difference to the program is, the join only gets “activated” when the query is run, saving time and memory usage. There’s also the fact that some joins are only useful at certain points in the database’s operation, so creating a permanent relationship outside the query is unnecessary.

Result with join

When we run the query with the join, to filter out repeats, the number of answers becomes more reasonable. In many cases, we can use a key field as one of the query result fields, which certainly cuts down on repeats, as a key field has the same effect in a query as it has in a database in general—unique identification of a record. But the important point is that table joins will “insist” on reducing if not eliminating repeats, and will do so even more with a key field involved.

It’s been my experience that very few business database-related queries will have no repeat results at all—the data are such that this seems almost impossible. But if we can eliminate 95+% of repeat data in a query, only the most massive sets of results will have a significant problem with them.

Using the Cost Tables in Microsoft Project

The Cost Tables feature in Microsoft Project reflects a point which is particular to this program—it is, basically, time-sensitive. Since a business project takes a minimum, usually, of several weeks to run, the things that happen in a project must take time into account. And, no pun intended on this phrase, accounting for costs which might change during the run of the project is therefore an integral part of the resource data we can (and often must) enter.

Fortunately, the first part is pretty easy. When creating a resource, one can (in the Resource Sheet) start by entering standard and overtime pay rates for a work resource (usually a person or group of people).

Resource Sheet

If, however, one knows the resource’s pay rate will change at some time during the course of the project, opening the Resource Information dialog box and going to the Costs tab gets us to the cost tables. (Just double-click the resource to get in.)

Cost Tables 1

There are no less than five Cost Tables in any resource’s info box. We usually look at just the first, as each contains twenty-five rows, so there are 125 slots for cost table data. If there are going to be that many changes of rate, it’ll be WAY out of the ordinary.

So in Cost Table A, the default, we enter the initial standard and overtime rates, if they aren’t already in the Resource Sheet. The assumption is, these rates are in effect at the start of the project.

Cost Tables 2

In the next row, we enter the date at which the rate will change, up or down, and then the changes themselves. We can even enter a percentage change (+15%, say), instead of a straight number, if someone doesn’t actually know the amount but does know how far up or down it should go. And repeat as needed.

The project manager has to be conscientious about entering the info ASAP, preferably before the project start date, to make sure the budget numbers stay current. But the actual entry of the data is pretty straightforward, thanks to the cost tables.


Using the Three Normal Forms in Microsoft Access

One of the more abstruse points of procedure in Access involves the three so-called normal forms. What, exactly, are they? If you think “guidelines”, or “protocols”, you’d be in the ballpark.

When building a database, especially a relational database, there are some “streamlinings” which allow it to function more efficiently. Knowing the how is important, but the why can be too. “Why” is what I’d like to go over here.

The first of the normal forms is basically this: In any field, in any record of the database, there should be one and only one piece of information. The simplest examples are things like phone numbers.

First Normal Forms Wrong

Since today computers can be hooked up to, and can dial, phones, if two numbers are in one field, the computer might not be able to tell which one to dial, or it might think they were one long number. And that would mess the process up.

First Normal Forms Right

It also allows easier querying, filtering, and other kinds of analysis of data. Another common example is entering addresses: If the street address, city, state, and Zip code are all in one field, sorting or filtering by any of those would be much more difficult. But give each one a separate field, and it’s quite straightforward. This is part of what’s known as normalization. If the data are divided into the smallest pieces which still have meaning, you have raw ingredients in the kitchen—you can do more with those than, say, premixed pancake batter, which is pretty much only good for pancakes.

The second of the normal forms is about key fields—the ones that act as unique IDs for each record, in tables which need them. (The usual example here is a Social Security number, or employee ID number, or SKU number for merchandise.)

Second Normal Forms

It is possible for a table to have two, or more, key fields per record, and occasionally this is necessary (as in a table of merchandise orders). But the uniqueness should then depend on the entire set of key fields (a composite key), not just one, because otherwise it will be possible to have duplicate data in the table, and this is a major no-no. (This is basically the second normal form.) Duplicate info wastes space, and can confuse query results. If any of the fields’ data don’t depend on the whole key (multiple fields), they should be in another table.

Third NF Redundant

The third of the normal forms is a little more complicated to explain, but the point is simple: Redundant information should be in a separate table. One situation in the real world has to do with employee databases including health plan info. There’ll be a number or letter indicating which plan someone is on, and then in the next field, the name of the plan. But if these are the same each time, why not use just the letter in the employee table, and put the detailed information in another table? It reduces the amount of typing someone has to do, and simplifies the table in question.

Third NF Right

It also offers a hidden benefit. If one puts the letters for the plans in another table as the primary key, and has plan names or other data in other fields in that same table, changing data in the plan table will affect everyone who uses the plan letters at once. This means that the subset of data regarding plan details is centralized, and can easily be changed for everyone with a minimum of work. So a sort of corollary to the third normal form is, one kind of data per table (if redundant data is a second kind per table, this falls into place pretty neatly).

One piece of info per field; one key field per table where possible, and use all the key fields for ID if not; split off redundant data to another table, which also offers easier changes to some kinds of data. Those are the essentials of the normal forms. There’re other data models, and other operating ideas, but since Access is so commonly used, understanding how to make it run better is good.

QlikView Keyboard Shortcuts

SkillForge SkillSheet

QlikView Keyboard Shortcuts

Click here to download the PDF version.


File Menu Command Shortcuts



Ctrl+N Equivalent to New on the File menu.
Ctrl+O Equivalent to Open… on the File menu.
Ctrl+Shift+O Equivalent to Open in Server… on the File menu.
Ctrl+S Equivalent to Save on the File menu.
F12 Equivalent to Save As… on the File menu.
Ctrl+P Equivalent to Print… on the File menu.
Ctrl+Shift+P Equivalent to Print As PDF… on the File menu.
Ctrl+E Equivalent to Edit Script… on the File menu.
Ctrl+R Equivalent to Reload on the File menu.
Ctrl+Shift+R Equivalent to Partial Reload on the File menu.
Ctrl+T Equivalent to Table Viewer… on the File menu.


Edit Menu Command Shortcuts



Ctrl+Z Equivalent to Undo Layout Change on the Edit menu.
Ctrl+Y Equivalent to Redo Layout Change on the Edit menu.
Ctrl+X Equivalent to Cut on the Edit menu.
Ctrl+C Equivalent to Copy on the Edit menu.
Ctrl+V Equivalent to Paste on the Edit menu.
Del Equivalent to Remove on the Edit menu.
Ctrl+A Equivalent to Activate All on the Edit menu.
Ctrl+F Equivalent to Search on the Edit menu.
Ctrl+Shift+F Equivalent to Advanced Search on the Edit menu.


View Menu Command Shortcuts



Ctrl+Q Equivalent to Current Selections… on the View menu.
Ctrl+G Toggles layout design grid on or off.


Selections Menu Commands Shortcuts



Shift+Left arrow Equivalent to Back on the Selections menu.
Shift+Right arrow Equivalent to Forward on the Selections menu.
Ctrl+Shift+L Equivalent to Lock on the Selections menu (locks all selections).
Ctrl+Shift+U Equivalent to Unlock on the Selections menu (unlocks all selections).
Ctrl+Shift+D Equivalent to Clear on the Selections menu (clears all selections).


Settings Menu Command Shortcuts



Ctrl+Alt+U Equivalent to User Preferences… on the Settings menu.
Ctrl+Alt+D Equivalent to Document Properties… on the Settings menu.
Ctrl+Alt+S Equivalent to Sheet Properties… on the Settings menu.
Ctrl+Alt+V Equivalent to Variable Overview… on the Settings menu.
Ctrl+Alt+E Equivalent to Expression Overview… on the Settings menu


Bookmarks Menu Command Shortcuts



Ctrl+B Equivalent to Add Bookmark… on the Bookmarks menu.
Ctrl+Shift+B Equivalent to More… on the Bookmarks menu.


Tools Menu Command Shortcuts



Ctrl+M Equivalent to Edit Module… on the Tools menu.
Ctrl+Alt+A Equivalent to Alerts… on the Tools menu.


Object Menu Command Shortcuts

(List box, Statistics box and Open Multi Box)



Ctrl+Shift+L Equivalent to Lock on the Object menu (locks selections in active object).
Ctrl+Shift+U Equivalent to Unlock on the Object menu (unlocks selections in active object).
Ctrl+Shift+D Equivalent to Clear on the Object menu (clears selections in active object).
Alt+Enter Equivalent to Properties… on the Object menu (opens the Properties dialog of an active object).


Script Keyboard Shortcuts



Ctrl+G Go to line number in the script.
Ctrl+K,C Comment lines in script.
Ctrl+K,U Uncomment lines in script.
Ctrl+Q,T,A Add tab in script.
Ctrl+Q,T,P Promote active tab.
Ctrl+Q,T,D Demote active tab.
Ctrl+Q,T,N Rename active tab.
Ctrl+Q,T,R Remove active tab.
Ctrl+Q,Q Creates an autogenerated script.
Ctrl+Q,U,I Opens Unicode input utility.
Ctrl+Q,J,P,G Creates a script for reading attributes from jpeg files.
Ctrl+Q,M,P,3 Creates a script for reading attributes from mp3 files.
Ctrl+Q,W,M,A Creates a script for reading attributes from wma files.


F Key Keyboard Shortcuts



F1 Activates context sensitive help.
F3 Enters search mode if a searchable object is activated.
F6 Activates the immediate left sheet tab of the currently active tab.
F7 Activates the immediate right sheet tab of the currently active tab.
F12 Equivalent to Save As… on the File menu.
Ctrl+F6 Activates the leftmost sheet tab.
Ctrl+F7 Activates the rightmost sheet tab.


How to Import and Export Data in Access

The good news is, the import and export processes in Access—and in general—are two sides of the same coin. And there really isn’t any bad news, other than making sure the data are set up in a way that Access can understand—namely, something row-and-column-ish when importing. There’s even an External Data tab in the ribbon, so it’s just a matter of knowing what kind of data you’re bringing in, or what format the recipient needs if you’re exporting.

Import Start

For an import, other than making sure you know where the data are, simply go to the External Data tab, and look in the Import and Link group. We’ll use a text document here.

Import Box

We can choose whether this will start a new table, be appended to an existing table, or link to the data source (which allows updates, but has some limitations).

We also have to specify where the document is. We can do this in any order, but we have to do both.

If (as in this case) we want to append the data to an existing table, we need to tell the dialog box which one. And, though the box doesn’t say, we have to make sure the incoming info is set up to fit in the same “slots” (fields) as the existing info. (Opening the file and checking in advance is a good idea here.)

Once this is done, we go through the File Import wizard, which lets us see how the incoming data will work.

Import Step 1

We choose “Delimited” or “Fixed Length” according to how the pieces of info are marked off (a delimiter is a marker telling us where things start and stop).

Import Step 2

We then indicate what kind of delimiter is used (commas, tabs, and semicolons are among the more common ones); and let the program do the rest.

Import Step 3

Exporting is even simpler. We select (but don’t have to open) a table, query, or other object, go to the External Data tab, and in the Export group, click the type of receiving file we need to create, and specify location and file name (the program will default to the object name).

Export Box

So, “Where are you getting the data?” and “Where are you putting the data?” are the only two questions we have to be specific about. Access pretty much handles it from there.

Using Photoshop — More Tips, Tricks, and Hints

Figured I’d mention a few other techniques which might be of use. Photoshop is almost a gold mine of cool tip after cool tip; I’d never deny it takes some practice to become comfortable with the program, so here’re some more.

Tip 4. Always be aware of the Layers panel if the image has more than one layer (not all images do). Particularly, which layer is selected. Whatever kind of edit you’re about to do, with whichever kind of tool, the layer selected is the one that’ll show the change. If it’s the “wrong” layer, you can undo, but it’s irritating. Better to know in advance, and choose the right layer up front.

Linking tip

Tip 4a. Once you’ve built a “structure” involving more than one layer, and want to keep all the pieces in the same places relative to each other, select the layers (Control-click on the PC, Cmd-click on the Mac—these let you select non-adjacent layers), and link them (using the panel menu at top right).

Fill tip

Tip 5. When adding color to an image, using the Edit > Fill command/dialog gives you easy access to both the blending modes (controlling how the color interacts with what’s already there) and the opacity (how solid the color you’re pouring will be). The blending modes could be a seminar on their own, but basically you can use them to produce all kinds of neat effects. And even just using the opacity control lets you add washes or “glazes” of color, if you need subtle changes in color. (Da Vinci would be delighted.)

Navigator tip

Tip 6. Don’t forget the Navigator panel. You can use the Hand tool and the scroll bars to get around in the file if you like, but the Navigator shows where you are and how close you’ve zoomed, so even if you prefer some other means of navigating, the panel is a good situation display.

Using Photoshop — Tips, Tricks, and Hints

Photoshop has been around for a while, and it’s a fairly sophisticated program, but there are some tips one can learn to work a little more efficiently no matter what your level of expertise.

1. A lot of the work we do depends on selection. Refining selections takes time; actually doing things with the selected area usually takes less. But when done working with a selection, don’t forget to DE-select it! Kind of like turning the oven off when finished cooking. (Ctrl- or Cmd-D is quickest.) Otherwise you might end up doing the right thing to the wrong part of the image.

Photoshop Channels

1a. If you have any idea you might be doing further work on the same piece of the image, save the selection (Select menu>Save Selection). You can store about fifty selections in there as selection channels (usually known as alpha channels), so there’s no need to skimp unless there’ll be a really big number of selected pieces that need lots of changes.

Photoshop Inverse

2. If you need to select all of something in an image, say a person, but the selection would take time, see if you can select the background or surroundings more easily—then go to Select>Inverse. Select everything except the hard part, then invert the selection. Voila. It isn’t always possible, but if the background of the image is relatively plain, give it a try.

Photoshop Hand

3. This is a really simple one, but I’ve had at least a few people tell me it was helpful: When finished working on something for the moment, switch to the Hand tool. The Photoshop equivalent of putting a stick shift in neutral, it means you won’t accidentally move something, or paint something, or otherwise edit something if you don’t mean to. When a Photoshop file is open, you have to have a tool selected, so if it’s a tool which won’t do any editing, it’s a safe choice when you want to pause. The Hand tool simply moves the image around in the frame if you’re zoomed in, but can’t edit. So it’s much harder to mess up the image with it selected.

Microsoft Project Keyboard Shortcuts

SkillForge SkillSheet

Microsoft Project 2010/13/16 Keyboard Shortcuts

Click here to download the PDF version.


Navigate Views and Windows

In order to…


Activate the Control menu ALT+SPACEBAR
Activate the entry bar to edit text in a field F2
Activate the menu bar F10 or ALT
Activate the project control menu ALT+HYPHEN
Activate the split bar SHIFT+F6
Close the program window ALT+F4
Display all filtered tasks or all filtered resources F3
Display the Field Settings dialog box ALT+F3
Open a new window SHIFT+F11
Reduce a selection to a single field SHIFT+BACKSPACE
Reset sort order to ID order and turn off grouping SHIFT+F3
Select a drawing object F6
Display task information SHIFT+F2
Display resource information SHIFT+F2
Display assignment information SHIFT+F2
Turn on or off the Add To Selection mode SHIFT+F8
Turn on or off Auto Calculate CTRL+F9
Turn on or off the Extend Selection mode F8
Move left, right, up, or down to view different pages in the Print Preview window ALT+Arrow keys


Outline a Project

In order to…


Hide subtasks ALT+SHIFT+HYPHEN or ALT+SHIFT+MINUS SIGN (minus sign on the numeric keypad)
Indent the selected task ALT+SHIFT+RIGHT ARROW
Show subtasks ALT+SHIFT+ = or ALT+SHIFT+PLUS SIGN (plus sign on the numeric keypad)
Show all tasks ALT+SHIFT+* (asterisk on the numeric keypad)
Outdent the selected task ALT+SHIFT+LEFT ARROW


Move in a view

In order to…


Move to the beginning of a project (timescale) ALT+HOME
Move to the end of a project (timescale) ALT+END
Move the timescale left ALT+LEFT ARROW
Move the timescale right ALT+RIGHT ARROW
Move to the first field in a row HOME or CTRL+LEFT ARROW
Move to the first row CTRL+UP ARROW
Move to the first field of the first row CTRL+HOME
Move to the last field in a row END or CTRL+RIGHT ARROW
Move to the last field of the last row CTRL+END
Move to the last row CTRL+DOWN ARROW


Use a timescale

In order to…


Move the timescale left one page ALT+PAGE UP
Move the timescale right one page ALT+PAGE DOWN
Move the timescale to beginning of the project ALT+HOME
Move the timescale to end of the project ALT+END
Scroll the timescale left ALT+LEFT ARROW
Scroll the timescale right ALT+RIGHT ARROW
Show smaller time units CTRL+ / (slash on the numeric keypad)
Show larger time units CTRL+* (asterisk on the numeric keypad)


Move in the Side Pane

In order to…


Move focus between the side pane and the view on the right side CTRL+TAB or CTRL+SHIFT+TAB
Select different controls in the side pane if the focus is in the side pane TAB
Select or clear check boxes and option buttons if focus is in the side pane SPACEBAR