Beating Level 8 on Penguins Attack 2

I’m quite enthusiastic about playing tower defense games. My latest one is Penguins Attack 2. This one is pretty good because in addition to levels, bonus levels, and tower upgrades, you have to earn experience points to get even bigger tower upgrades. Level achievements include beating a level, killing the boss, and beating a level flawlessly.

I recently conquered level 8 . In the earlier levels the strategy is to get the most powerful towers quickly. As you move onto the higher levels (4 onwards) you need to make the enemy route as long as possible with basic towers to buy you time. You also need to space out your powerful towers so that they can hit new as well as close to exiting enemies.

Below is the screenshot of the configuration I used to beat it :

This image shows the boss for this level

Penguins Attack 2 level 8
Penguins Attack 2 level 8 about to beat it
Winning screenshot
Ahh the smell of victory

Feedback Server Tip: Simplifying looping through multiple questions in a survey

Earlier this year, we decided to embrace Feedback Server. The more I learn about this survey software, the more I like it. Like all technology ( and content management systems) the true power of the tool lies in the ability of the end user to manipulate it to meet their needs.

I’ve never been a fan of asking a user to loop through a series of questionss based on previous responses, because it gets very easy to lose your place within the questions. Further more, the more you loop, the infinitely larger your number of potential responses – which means that your data export will have a ridiculous number of variables.

Our initial approach

Because you don’t want users to move backwards in a survey, we simply duplicated the questions on different pages and changed the text slightly so it referenced their place in the logic. By using branching logic, we were able to push people to the page that displayed the same set of questions the right number of times. This allowed for looping through the questions. I had some down time today and decided to think through a cleaner way for users to navigate through sets of questions that have nested loops,without creating such complex page structures. After all, this approach requires that you create excessive numbers of questions.

I should also illustrate, this solution is designed to support survey questions like this:

1 – please check each option that refers to you

2 – for each option that you checked, please provide the following 4 pieces of information.

A cleaner solution

This solution requires 2 things :

A question type : Text Box Entry Fields

Building a custom answer type

In this solution, instead of using multiple pages to loop through the same questions, we will use one question and repeatable grids to allow the user to keep entering information as needed. Please note that this solution does not copy and paste your previous answers to define how the next question behaves. This means that some slight modifications will need to be made to your survey questions to use this. That being said, this will result in fewer pages, less clicks for your user, and a survey that’s easier to follow because it won’t have to jump from question to question.

Text Box Entry Fields

Select New Question and choose Textbox Entry Field (Small) – or use Comment Field Large if you want paragraphs of text. The nice thing about this question type  is that you can define multiple responses for a single question. You can also define multiple answer types within a single question.

Choosing your question type

Click Create Question

Now you can enter the text / instructions for your question. Once you have done that, select a text answer label for each text field you want to be able to repeat as needed.

Choose answer options for your grid

If you have something that you want to repeat over and over, you can use a custom answer type to do that. For example, instead of saying – for each box you checked in question one, answer this set. You can use the repeatable grid and add your custom answer type which provides all of those check box options from the first question.

To create a custom answer type:

Go to designer, then Answer Type Editor

You can create your own answer type here

Click on Click here to create a new type

You can now select the type you want. You can do a drop down or radio buttons. Please note that I’ve selected List Items under data source because I’m going to enter the list options manually.

Your answer format

Add your responses to the Item Collection Editor and hit Apply Changes

Configuring your question to use your answer type

Now that you have your additional answer type, you are going to combine your text field answer options with the new drop down items you have selected. You are going to set your question to allow someone to go to a question, fill out several fields, and then choose a drop down option as well . To be clear, here’s an example :

Q1 -Please tell us about the fruit you buy

– Name of fruit

– How you check it for freshness ( 3 drop down list options )

They will have the option to add as many fruit as you want. For each one, they will have to enter the name of the fruit and select a drop down option.

By now your question should be created.

Click on your question and scroll tot he bottom to Add Edit Answers

Click on Add/Edit Answers

Click on Add New Answer. You are going to be adding the new answer type that you defined.

Add your custom answer type

Answer Text – this is the label for your custom drop down

Type: Use that drop down to select the custom answer type you wanted

Click Add

Go back to your question and click on sections

This is where you allow multiple answers

For Repeat Mode –  Select Full Answers Repeat

Choose the maximum number of repeats you want

Hit Update

Under the Display layout tab, you can determine if you want a vertical set of responses, or if you want them to show horizontally. Please note that with a full grid repeat, after the first response, the previous responses will be shown in a horizontal grid.

Selecting how to display your options
Here's an example of what it looks like

If you look at the question above. Instead of creating branching logic to take someone down a path, making them choose how many responses they want to give and then creating pages for them to enter the information; we have pretty much allowed someone to stay on the same question, enter whatever information they want, and keep adding responses. For the end user this is a lot cleaner because it’s blatantly clear as to what question they are still on. They can view their previous responses and add/edit them as needed.

As a last note – if you wanted to prevent someone from choosing your custom answer option more than once, you simply go to edit that answer, click on entry validation and choose Forbid duplicate answers.

Preventing Duplicates

As we work on things, we’re always looking for ways to make an interface cleaner for an end user. This approach definitely reduces the user burden by reducing the number of pages required to collect multiple responses for similar questions.

Mac OS X Tip – Save To Folder Path

It is sometimes frustrating having to navigate through Mac OS folders in Finders especially if you know exactly what folder to go to. The simplicity of the Mac OS X interface sometimes takes away some conveniences enjoyed by power users. In Windows I often save a file to a desired location by doing a “File Save As”, then pasting the full path of the save-to folder location to avoid having to browse for the folder.

I will show at the end of this post how to do the same in Mac OS X, a feature I found by searching the web. But first, I will show how to get folder paths in Mac OS X and quickly navigate in Finder using these paths. Folder paths if Finder are disabled by default.

Quick Folder Navigation in Finder
Step 1.

To show folder paths in Finder, open Finder and select View > Show Path Bar

The folder path is now displayed at the bottom of your Finder window.

You can navigate to specific folders within this path simply by clicking on the folder name at the bottom of the Finder window.

Step 2.

To get the full path of a folder, simply right click on the folder within Finder (or Control + Left Click), and select Get Info

Step 3.

Once the Get Info window opens up, highlight the folder path and copy it either by doing a Command + C, right clicking and selecting Copy, or Control + Left Click (so many options, I know…but I am sure you are familiar with one or more of them 🙂 )

Step 4.

With the folder path copied in your clipboard, have a Finder window open and use Command + Shift + G to bring up the “Go to the folder:” window. Paste in your folder path and click Go or hit Enter to navigate to your desired location.

File Save as to File Path

To save a file to a desired location, I often would have to navigate through folders in Finder to my desired save to location. This is a tedious process when dealing with multiple files or saving to a sub folder in an obscure location.

Step 1.

After selecting File > Save As from whatever application you are using, a Finder window pops up. This often has your last save to location, which may not be the location you want to save the file to.

With this window open, do a Command + Shift + G, which will bring up the “Go to the folder:” window.

Step 2.

Paste in your folder path and click Go or hit Enter to navigate to your desired location.

You will now be at your desired save to location allowing you to save the file without having to painstakingly navigate from one folder to the next.

I hope this is helpful to my fellow Mac users. Thanks!

Document Management in SharePoint – My Best Practices

The document management component of SharePoint is easily one of my favorite (if not my favorite) feature of SharePoint. Whenever I do a SharePoint consultation for a team, I like to stress the document management features. I also like to debunk a common SharePoint myth: that SharePoint is just a dumping ground for documents. Yes it’s true that SharePoint can easily take your documents, but there’s so much more to it. This article covers some best practices for moving your documents into SharePoint and improving ease of use. Hopefully this article will give you some guidance before you decide to dump that network folder into SharePoint. Just a quick note – this article will not teach you how to configure document libraries. If you want a good how-to – click here.

Preparing your files to move into SharePoint

Although SharePoint does function like a network folder, however it does have to abide by a few more rules. For example, since it is a web-based application, you can’t just have unlimited lengths in your file / folder names.  SharePoint will simply give you an error message (The specified file or folder name is too long.) and not tell you exactly what file or folder is causing the problem. According to Microsoft, “The URL path for all files and folders must be 260 characters or less (and no more than 128 characters for any single file or folder name in the URL”. This means that if you have extremely long file names, extremely long folder names, or deeply nested folders, you may need to think about the general organization before you drop your files in. You may find yourself reorganizing your folders before you are able to drop your files in.

Once you’ve dealt with your file folder structure, you will need to look at your file names. Although Windows will allow you to have special characters in file names – SharePoint does not. The biggest offender is the & symbol. Make sure that none of your files have special characters before you dump them into SharePoint.

Cleaning up your files

We’ve all been there: in order to keep track of file versions, you simply put the current date and your initials at the end of the file name. When your task  / project is over, you find that you have 20 copies of the same file all differing by the date and the acronyms at the end! This might seem like organization, but if you try to search, all 20 files will appear! To add another layer to the problem, if you dump all of these file versions into SharePoint, the search will return all of the files as well. Doing this pretty much cripples any search feature. SharePoint has a comprehensive search feature that even reads documents.  You may want to clean up your network folders to ensure that you can benefit from the SharePoint search features.

Folders vs columns

If you are thinking about moving a network folder into SharePoint, chances are that you tried to create a level of organization through using network folders. I have been against using folders as a primary method of organization since I started using SharePoint. I actually prefer a combination of folders and columns to increase the ease of navigation through the documents. As you drill down into folders, you cannot see what is inside of the  upper or lower level folders. You have to drill down into a folder to see what is inside, and then navigate up and out to see what else is available.

Folders provide a logical way to organize your content. However, you cannot sort and filter information by a folder. You also cannot see what is inside of a folder without opening the folder. If you use columns, you can apply unlimited sets of meta data to your files. Below are some examples of file meta data that I often use:

  • Description
  • Status ( Active / Archived)
  • Author
  • Language
  • Date ( This is not the date it was created/modified, but the date the document is related to)

When setting up your views, you can choose to show or hide folders. By hiding folders, you can view documents in an unlimited number of sub folders. This little feature allows you to put files in folders that make sense to you and also benefit from the sorting and filtering of the meta data you have entered. The down side to this is that you have to enter meta data for your files to use this feature.

One last tip: SharePoint can only support 1000 or so documents in a folder or view before it starts to have performance issues. You may want to use folders to avoid this file limitation, but use columns to provide easy ways to navigate your files.

You can read more about this here :

Setting up your views

Assuming that you have figured out your document library columns and folders, you are probably ready to create views. If you create different views based on your meta data (columns), you can create multiple interfaces for end users that will make it easier to navigate through your files. Referencing the columns I mentioned above, I use the custom status column to help me mark files as relevant (active) or old versions (archived). I created a view that groups documents by their status, making it easy to see the files that are active and the files that are considered old and should not be referenced. You can easily put the same document library web part on a single page in different views to make it easier for users to navigate the files. The first view would show a standard list view with your choice of display.  The second web part should show the document library in its default view with folders. This allows users to upload a file into the folder that it belongs to, but view the document in the view that hides folders.  Give careful thought to the views so that users can easily get to the files that are buried deep in the folders.

Search vs filtering / sorting

SharePoint provides a very powerful search feature. Not only will it search file names, titles, and columns, but it will also open documents and read the documents and return search results accordingly. This means that the search can find pretty much anything. The down side is that this means that the search will also return results for anything that matches your search terms. Because of this search capability, search should not be your only method to help users find your files. If you use columns effectively, your users will be able to find documents by combining filters of columns to narrow down the documents that they want. Make sure that you hide folders in your views that you intend to use with filtering and sorting. You do not have the ability to narrow down the search results by columns without custom development, so unless you have a developer on-hand, you should try organizing your content by columns and use sorting / filtering as a primary method.


Version control in SharePoint will eliminate the need to rename files in order to track versions. SharePoint also provides several ways for team members to communicate what has been changed in a version. You can require users to enter a comment for the version before they save. This makes it easy to track the changes as you review the list of versions that are available. You can also request that users enter a message in the check-in comments field. You can then display the comment in the document views. This helps your users understand what is inside of a document before they open the document. You can also use the approver comments field to track information regarding the approval or rejection of a file.

Some final words of wisdom

Don’t be afraid to create multiple document libraries. Sometimes it’s better to split a network folder into multiple document libraries to allow for searching of just a section or to handle issues with deep nested folders. Do not use file names to try to store all of the information about the document. Instead you should use additional columns to store that information. Try to use columns that will work for sorting and filtering. Get out of the habit of renaming files. If you choose to use workflows and rename a file while in the middle of a workflow, it will automatically terminate the workflow. The bottom line is that you need to think long and hard about how you want to organize your documents before you move your files into SharePoint. Do not simply open explorer view and copy and paste an entire network drive into a SharePoint document library. If you design this properly, your users will be able to quickly work through the files that are in the document library. If you do not, you will have the same issues as you did with your network folders, and your search will not yield useful results.